• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            VIM FAQ(轉)

            Posted on 2007-01-16 23:31 美洲豹 閱讀(620) 評論(0)  編輯 收藏 引用

            vim FAQ

            Linux /linuxman?
            轉自水木清華:VIM FAQ

            轉貼如下:


            (1)?為什么別人的方法在我這里行不通?
            (2)?如何找到上次編輯的文件?
            (3)?如何復制粘貼?
            (4)?如何在多個文件中進行替換?
            (5)?如何把fold一次全部打開?
            (6)?如何選擇、復制或者查找光標所在的單詞?
            (7)?如何計數搜索的字符串?
            (8)?如何去掉高亮搜索?
            (9)?如何解決linux下gvim中文菜單亂碼的問題?
            (10)?如何對所編輯的文件語法高亮顯示?
            (11)?如何快速插入多行數字0-99?
            (12)?如何設置中文編碼?
            (13)?如何去掉或者插入^M這樣的字符?
            (14)?如何整體縮進一段代碼(插入tab)?
            (15)?如何合并兩行?
            (16)?如何設置縮進距離(tab寬度)?

            ==============================================================================
            (1)?為什么別人的方法在我這里行不通?

            估計這是最難回答的一個問題了。:-)
            不過首先應該確定你的VIM版本是否足夠新,功能是否完整。使用?:version?命令查看你
            的VIM版本以及功能。一個常見的情況,如果你用的是RedHat系統,請確定安裝了
            vim-enhance的rpm包,否則將是不完整的VIM。

            (2)?如何找到上次編輯的文件?

            Ctrl+O?(按兩次)

            (3)?如何復制粘貼?

            復制
            方法一:先ma標記當前位置為a,移動到新的位置,再y`a或者y''a復制從標記位置a到
            當前位置的內容。`和''的區別:`以字符為單位,''以行為單位。這個方法應該是所有vi
            都適用的。(如果不對請指正。)
            方法二:按v或V或Ctrl+V進入visual模式,移動光標選擇一段內容,按y。三者的區別:
            v以字符為單位,V以行為單位,Ctrl+V是塊選擇。這個方法只在VIM下適用。

            粘貼
            p或P。區別:前者粘貼到光標后面,后者粘貼到光標前面。

            (4)?如何在多個文件中進行替換?

            一般可以用sed或者vim來做。比如要對當前目錄下的*.c文件進行替換:
            方法一:
            for?i?in?*.c;?do
            ??sed?-i?-e?''s/oldvalue/newvalue/g''?$i
            done
            方法二:
            vim?*.c
            :argdo?%s/oldvalue/newvalue/g

            (5)?如何把fold一次全部打開?

            zR?或者?:set?foldlevel=999

            (6)?如何選擇、復制或者查找光標所在的單詞?

            在VIM中用iw或者aw表示一個單詞,兩者稍有區別。
            選擇光標所在的單詞:viw?(v進入visual模式,然后iw)
            復制光標所在的單詞:yiw

            查找的話就是兩個很常用的明令:#?和?*

            (7)?如何計數搜索的字符串?

            如果需要統計緩沖中一個模式(pattern)出現的頻率,需要把?''report''?置為0,然后
            用替換命令把模式替換成它自己。Vim?報告的已替換的數目就是模式出現的次數。例:
            ????????:set?report=0
            ????????:%s/./&/g???????????????characters
            ????????:%s/i+/&/g????????????words
            ????????:%s/^???????????????????lines
            ????????:%s/the/&/g?????????????"the"?anywhere
            ????????:%s/<the>/&/g?????????"the"?as?a?word
            你可能希望復位?''hlsearch''?或者使用?":nohlsearch"。

            (8)?如何去掉高亮搜索?

            方法一::nohlsearch
            方法二:/awertgvcxz?(查找一個肯定不存在的字符串)
            設置了高亮搜索(:set?hlsearch)以后,可以通過?:set?nohlsearch?永久地關閉高亮
            顯示,也可以通過?:nohlsearch?暫時關閉高亮顯示,下次搜索時將自動恢復高亮。

            (9)?如何解決linux下gvim中文菜單亂碼問題?

            以vim6.3為例
            :source?$VIMRUNTIME/delmenu.vim
            :source?$VIMRUNTIME/menu.vim

            也可以將以上內容加入.vimrc

            光source一個menu.vim或者啥也不source都是亂碼
            另外,也有網友報告說沒有遇到此類問題

            注:這里的source指的是vim自己的source命令,和bash?shell的source無關

            (10)?如何對所編輯的文件語法高亮顯示?

            需要解釋的是,VI有很多變種,它本身并沒有這種功能,提供這種功能
            往往是其各種衍生版本,比如說vim。下面就vim中如何語法高亮簡單解釋一下。

            首先,確定一下你所用的操作系統,如果是windows,那么默認的配置文件
            就可以工作了。如果還不行,可以用鼠標從syntax菜單下選擇一下適合你的
            文件類型(新版本的gvim默認把文件類型選擇關閉了,需要點開,然后按照
            開頭字母選擇類型)
            如果是linux,那么確認一下是否是redhat。如果是redhat,那么需要安裝
            vim-enhanced的rpm包。這些都做了以后,可以用:syntax?on來打開語法高亮。
            必要時可以用:set?filetype=...來設定你的文件類型。
            如果使用圖形界面,比如gvim,那么syntax?on和set?filetype的操作可以
            用鼠標在菜單中選擇,同windows下。
            如果是在控制臺中使用vim,還應當確定你的終端設置支持顏色。

            (11)?如何快速插入多行數字0-99?

            在命令行中輸入以下代碼,或者先把代碼保存到一個外部文件,然后source這個文件:
            let?i?=?0
            while?i?<?100
            ??put?=?i
            ??let?i?=?i?+?1
            ??endw
            如果位數不足需要在前面補零,可以用Ctrl-V塊選擇,然后I插入0。

            (12)?如何設置中文編碼?

            在.vimrc中作如下設置,可以實現界面以及顯示字體采用gb2312,遇到utf8文件時
            自動做轉換:
            set?encoding=prc
            set?fileencoding=prc
            set?fileencodings=utf8,prc
            需要注意的是,按照上面的設置,如果你打開一個空的(0字節)或者是純7bits的文件,
            這時VIM將認為是utf8編碼的文件,如果你往里面輸入中文,存盤的時候也將是utf8。
            因此你可能需要在存盤之前?:set?fileencoding=prc?把編碼改回來。
            另外,對于純7bits的文件,由于認成了utf8,每次打開存盤的時候都要做一次轉換,
            會比較慢,所以如果你很長一段時間不會接觸utf8的話,可能暫時把?fileencodings
            一行注釋掉比較好。
            [警告]:轉換可能會造成信息丟失!如果你需要編輯的是重要的系統文件,最好把
            fileencodings?一行暫時注釋掉。

            (13)?如何去掉或者插入^M這樣的字符?

            在VIM的插入模式或者命令行中用<C-V>輸入^M這樣的特殊字符,例如輸入
            :s/<C-V><C-M>//g
            實際顯示是
            :s/^M//g
            就可以去掉文件中所有的^M。同理,要在文件中輸入^M只要按<C-V><C-M>即可。

            這個問題往往發生在WINDOWS/DOS系統和UNIX系統之間交換文件時,因為這兩類系統
            對于文本的“換行”概念解釋不同。所以,還有一個解決方法就是對這類文本進行
            轉換。vim內部就可以做這件事情。首先打開文本,然后
            set?fileformat=unix
            再從新保存該文件覆蓋原文件就可以去除:^M了

            (14)?如何整體縮進一段代碼(插入tab)?

            選中一段代碼,<?或?>?或?2<?或?3>?……

            (15)?如何合并兩行?

            合并兩行的鍵是?J
            另外,如果你設置了
            set?backspace=2
            你就可以用backspace或者delete很方便的刪到上一行或者下一行。

            (16)?如何設置縮進距離(tab寬度)?

            set?tabstop=8
            set?shiftwidth=8

            posts - 15, comments - 2, trackbacks - 0, articles - 29

            Copyright © 美洲豹

            久久国产福利免费| 国产精品久久久久久久久免费| 久久精品成人国产午夜| 久久夜色精品国产亚洲| 久久影院午夜理论片无码| 久久久久高潮综合影院| 久久久久中文字幕| 久久综合视频网| 青青草国产精品久久久久| 四虎亚洲国产成人久久精品| 久久精品国产亚洲av水果派| 久久99精品国产麻豆婷婷| 久久夜色精品国产噜噜亚洲AV| A级毛片无码久久精品免费| 婷婷综合久久中文字幕蜜桃三电影| 久久久久久久尹人综合网亚洲| 国产精品美女久久福利网站| 热99re久久国超精品首页| 77777亚洲午夜久久多喷| 51久久夜色精品国产| 色综合久久综合中文综合网| 韩国三级中文字幕hd久久精品| 亚洲成色WWW久久网站| 久久国产成人午夜aⅴ影院| 国产精品久久久亚洲| 天天躁日日躁狠狠久久| 奇米影视7777久久精品人人爽 | 狠狠色丁香久久综合五月| 亚洲伊人久久成综合人影院| 国产高潮久久免费观看| 日韩亚洲欧美久久久www综合网| 日韩精品久久久肉伦网站| 99久久精品国产一区二区| 欧美精品国产综合久久| 国产免费久久精品99re丫y| 精品久久久久成人码免费动漫| 国内精品伊人久久久久网站| 国产成人精品久久综合| 一本伊大人香蕉久久网手机| 亚洲国产成人久久综合一 | 青青草国产精品久久|