linuvivim常用命令匯總_第1頁
linuvivim常用命令匯總_第2頁
linuvivim常用命令匯總_第3頁
linuvivim常用命令匯總_第4頁
linuvivim常用命令匯總_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)

文檔簡介

1、linux vi(vim)常用命令匯總, , , 首先介紹一下 vim. vi 是 unix/linux 下極為普遍的一種文本編輯器, 大部分機器上都有. vi 有各種變種, 在不同的機器上常用不同的變種軟件. 其中 vim 比較好用也用得比較廣泛. vim 是 Vi IMproved 的縮寫, 表示更好的 vi. 本文就說些其中比較有用, 比較常用的命令, 若能熟練運用這些命令, 那么會發(fā)現(xiàn)編輯文件很大幫助,尤其是做開發(fā)的人員,能快速的提高開發(fā)效率.說明:以下的例子中 xxx 表示在命令模式下輸入 xxx 并回車以下的例子中 :xxx 表示在擴展模式下輸入 xxx 并回車小括號中的命令表示相

2、關(guān)命令.在編輯模式或可視模式下輸入的命令會另外注明.1. 查找/xxx(xxx) 表示在整篇文檔中搜索匹配xxx的字符串, / 表示向下查找, 表示 向上查找.其中xxx可以是正規(guī)表達(dá)式,關(guān)于正規(guī)式就不多說了. 一般來說是區(qū)分大小寫的, 要想不區(qū)分大小寫, 那得先輸入 :set ignorecase 查找到以后, 再輸入 n 查找下一個匹配處, 輸入 N 反方向查找.*(#) 當(dāng)光標(biāo)停留在某個單詞上時, 輸入這條命令表示查找與該單詞匹配的 下(上)一個單詞. 同樣, 再輸入 n 查找下一個匹配處, 輸入 N 反方 向查找.g*(g#) 此命令與上條命令相似, 只不過它不完全匹配光標(biāo)所在處的單詞

3、, 而 是匹配包含該單詞的所有字符串.gd 本命令查找與光標(biāo)所在單詞相匹配的單詞, 并將光標(biāo)停留在文檔的非 注釋段中第一次出現(xiàn)這個單詞的地方.% 本命令查找與光標(biāo)所在處相匹配的反括號, 包括 () f(F)x 本命令表示在光標(biāo)所在行進行查找, 查找光標(biāo)右(左)方第一個x字符. 找到后: 輸入 ; 表示繼續(xù)往下找 輸入 , 表示反方向查找2. 快速移動光標(biāo) 在 vi 中, 移動光標(biāo)和編輯是兩件事, 正因為區(qū)分開來, 所以可以很方便的進行光標(biāo)定位和編輯. 因此能更快一點移動光標(biāo)是很有用的.w(e) 移動光標(biāo)到下一個單詞.b 移動光標(biāo)到上一個單詞.0 移動光標(biāo)到本行最開頭. 移動光標(biāo)到本行最開頭的字

4、符處.$ 移動光標(biāo)到本行結(jié)尾處.H 移動光標(biāo)到屏幕的首行.M 移動光標(biāo)到屏幕的中間一行.L 移動光標(biāo)到屏幕的尾行.gg 移動光標(biāo)到文檔首行.G 移動光標(biāo)到文檔尾行.c-f (即 ctrl 鍵與 f 鍵一同按下) 本命令即 page down.c-b (即 ctrl 鍵與 b 鍵一同按下, 后同) 本命令即 page up. 此命令相當(dāng)有用, 它移動光標(biāo)到上一個標(biāo)記處, 比如用 gd, * 等查 找到某個單詞后, 再輸入此命令則回到上次停留的位置. 此命令相當(dāng)好使, 它移動光標(biāo)到上一次的修改行. 此命令相當(dāng)強大, 它移動光標(biāo)到上一次的修改點.3. 拷貝, 刪除與粘貼 在 vi 中 y 表示拷貝,

5、 d 表示刪除, p 表示粘貼. 其中拷貝與刪除是與光標(biāo)移動命令結(jié)合的, 看幾個例子就能夠明白了.yw 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)所在單詞結(jié)尾的內(nèi)容.dw 表示刪除從當(dāng)前光標(biāo)到光標(biāo)所在單詞結(jié)尾的內(nèi)容.y0 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)所在行首的內(nèi)容.d0 表示刪除從當(dāng)前光標(biāo)到光標(biāo)所在行首的內(nèi)容.y$ 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)所在行尾的內(nèi)容.d$ 表示刪除從當(dāng)前光標(biāo)到光標(biāo)所在行尾的內(nèi)容.yfa 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)后面的第一個a字符之間的內(nèi)容.dfa 表示刪除從當(dāng)前光標(biāo)到光標(biāo)后面的第一個a字符之間的內(nèi)容.特殊地:yy 表示拷貝光標(biāo)所在行.dd 表示刪除光標(biāo)所在行.D 表示刪除從當(dāng)前光標(biāo)到光標(biāo)所在行

6、尾的內(nèi)容.關(guān)于拷貝, 刪除和粘貼的復(fù)雜用法與寄存器有關(guān), 可以自行查詢.4. 數(shù)字與命令 在 vi 中數(shù)字與命令結(jié)合往往表示重復(fù)進行此命令, 若在擴展模式的開頭出現(xiàn)則表示行號定位. 如:5fx 表示查找光標(biāo)后第 5 個 x 字符.5w(e) 移動光標(biāo)到下五個單詞.5yy 表示拷貝光標(biāo)以下 5 行.5dd 表示刪除光標(biāo)以下 5 行.y2fa 表示拷貝從當(dāng)前光標(biāo)到光標(biāo)后面的第二個a字符之間的內(nèi)容.:12,24y 表示拷貝第12行到第24行之間的內(nèi)容.:12,y 表示拷貝第12行到光標(biāo)所在行之間的內(nèi)容.:,24y 表示拷貝光標(biāo)所在行到第24行之間的內(nèi)容. 刪除類似.5. 快速輸入字符 在 vi 中,

7、 不要求你輸入每一個字符, 可以有很多種方法快速輸入一些字符. 使用 linux/unix 的同學(xué)一定有一個經(jīng)驗, 在命令行下輸入命令時敲入頭幾個字符再按TAB 系統(tǒng)就會自動將剩下的字符補齊, 假如有多個匹配則會打印出來. 這就是著名的命令補齊(其實windows中也有文件名補齊功能). vi 中有許多的字符串補齊命令, 非常方便.c-p(c-n) 在編輯模式中, 輸入幾個字符后再輸入此命令則 vi 開始向上(下)搜 索開頭與其匹配的單詞并補齊, 不斷輸入此命令則循環(huán)查找. 此命令 會在所有在這個 vim 程序中打開的文件中進行匹配.c-x-l 在編輯模式中, 此命令快速補齊整行內(nèi)容, 但是僅

8、在本窗口中出現(xiàn)的 文檔中進行匹配.c-x-f 在編輯模式中, 這個命令表示補齊文件名. 如輸入: /usr/local/tom 后再輸入此命令則它會自動匹配出: /usr/local/tomcat/abbr 即縮寫. 這是一個宏操作, 可以在編輯模式中用一個縮寫代替另一個 字符串. 比如編寫java文件的常常輸入 這很 是麻煩, 所以應(yīng)該用縮寫來減少敲字. 可以這么做: :abbr sprt 以后在輸入sprt后再輸入其他非字母符號, 它就會自動擴展為System. 6. 替換 替換是 vi 的強項, 因為可以用正規(guī)表達(dá)式來匹配字符串.以下提供幾個例子.:s/aa/bb/g 將光標(biāo)所在行出現(xiàn)的

9、所有包含 aa 的字符串中的 aa 替換為 bb:s/bb/g 將光標(biāo)所在行出現(xiàn)的所有 aa 替換為 bb, 僅替換 aa 這個單詞:%s/aa/bb/g 將文檔中出現(xiàn)的所有包含 aa 的字符串中的 aa 替換為 bb:12,23s/aa/bb/g 將從12行到23行中出現(xiàn)的所有包含 aa 的字符串中的 aa 替換為 bb:12,23s/#/ 將從12行到23行的行首加入 # 字符:%s= *$= 將所有行尾多余的空格刪除:g/s*$/d 將所有不包含字符(空格也不包含)的空行刪除.7. 多文件編輯 在一個 vim 程序中打開很多文件進行編輯是挺方便的.:sp(:vsp) 文件名 vim 將分

10、割出一個橫(縱)向窗口, 并在該窗口中打開新文件. 從 開始, 文件名可以是一個目錄的名稱, 這樣, vim 會 把該目錄打開并顯示文件列表, 在文件名上按回車則在本窗口打 開該文件, 若輸入 O 則在新窗口中打開該文件, 輸入 可以看 到幫助信息.:e 文件名 vim 將在原窗口中打開新的文件, 若舊文件編輯過, 會要求保存.c-w-w vim 分割了好幾個窗口怎么辦 輸入此命令可以將光標(biāo)循環(huán)定位 到各個窗口之中.:ls 此命令查看本 vim 程序已經(jīng)打開了多少個文件, 在屏幕的最下方 會顯示出如下數(shù)據(jù): 1 %a 行 162 2 # 行 0 其中: 1 表示打開的文件序號, 這個序號很有用

11、處. %a 表示文件代號, % 表示當(dāng)前編輯的文件, # 表示上次編輯的文件 表示文件名. 行 162 表示光標(biāo)位置.:b 序號(代號) 此命令將指定序號(代號)的文件在本窗口打開, 其中的序號(代號) 就是用 :ls 命令看到的.:set diff 此命令用于比較兩個文件, 可以用 :vsp filename 命令打開另一個文件, 然后在每個文件窗口中輸入此命令,就能看 到效果了.8. 宏替換 vi 不僅可以用 abbr 來替換文字, 也可以進行命令的宏定義. 有些命令輸起來很費勁,因此我把它們定義到 - 上, 這樣就很方便了.這些配置可以預(yù)先寫到 /.vimrc(windows 下為 $V

12、IM/_vimrc) 中, 寫進去的時候不用寫前面的冒號.:nmap :nohls 取消被搜索字串的高亮:nmap w 命令模式下轉(zhuǎn)移光標(biāo)到不同窗口:imap 輸入模式下運行:nmap :%s= *$= 刪除所有行尾多余的空格.:imap 同上:java 中: (注, 這里為什么說 java 中, 因為以下定義對其他文件格式不起作用, 下文 會說到如何實現(xiàn)這一點):nmap :comp javac:mak -d . % 此命令用 javac 編譯 java 文件, 它會自動將光標(biāo)定位到出錯點. 不過這需要定 義一個 文件在 $VIM/compiler 下, 在 里面只有兩行字: setloca

13、l makeprg=javac setlocal errorformat=%A%f:%l: %m,%-Z%p,%-C%.%#:nmap :comp ant:mak 此命令用 ant 編譯 java 文件, 它會自動將光標(biāo)定位到出錯點. 一般來說, 安裝 vim 后已經(jīng)有了compiler/文件, 因此這個命令可以直接使用. 但是需要 在當(dāng)前目錄下有 文件, 當(dāng)然還必須安裝 ant 才行.:nmap :cl 此命令用于查看所有的編譯錯誤.:imap :nmap :cc 此命令用于查看當(dāng)前的編譯錯誤.:imap :nmap :cn 此命令用于跳到下一個出錯位置.:imap :nmap :cp 此命

14、令用于跳到上一個出錯位置.:imap :nmap :JavaBrowser 此命令用于在窗口左部分割出一個新窗口, 里面的內(nèi)容是 java 的資源樹, 包括 本文件中出現(xiàn)的類, 類的成員變量及成員方法, 就好像 JCreator 表現(xiàn)的那樣. 在這個窗口中輸入 會看到幫助. 嘿嘿, 很好用, 不過需要 ctags 支持.:imap 9. TAB TAB 就是制表符, 單獨拿出來做一節(jié)是因為這個東西確實很有用. 輸入此命令則光標(biāo)所在行向右移動一個 tab. 5 輸入此命令則光標(biāo)后 5 行向右移動一個 tab. :12,24 此命令將12行到14行的數(shù)據(jù)都向右移動一個 tab. :12,24 此命

15、令將12行到14行的數(shù)據(jù)都向右移動兩個 tab. 那么如何定義 tab 的大小呢 有人愿意使用 8 個空格位, 有人用4個, 有的用2個. 有的人希望 tab 完全用空格代替, 也有的人希望 tab 就是 tab. 沒關(guān)系, vim 能 幫助你.以下的設(shè)置一般也都先寫入配置文件中, 免得老敲. :set shiftwidth=4 設(shè)置自動縮進 4 個空格, 當(dāng)然要設(shè)自動縮進先. :set sts=4 即設(shè)置 softtabstop 為 4. 輸入 tab 后就跳了 4 格. :set tabstop=4 實際的 tab 即為 4 個空格, 而不是缺省的 8 個. :set expandtab

16、在輸入 tab 后, vim 用恰當(dāng)?shù)目崭駚硖畛溥@個 tab.10. autocmd 這個命令十分的強大, 可以用這個命令實現(xiàn)對不同的文件格式應(yīng)用不同的配置; 可以在新建文件時自動添加上版權(quán)聲明等等. 這些命令一般定義在 /.vimrc 這樣的配置文件里面. 由于他很強大, 所以我不能給出很具體的說明, 只能舉幾個例子, 詳細(xì)的請看幫助.:autocmd! 刪除所有之前的自動命令.autocmd FileType java source /.vim/files/autocmd FileType java source /.vim/files/ 以上兩條命令讓我在打開 java 文件時才應(yīng)用后面

17、提到的兩個配置文件.autocmd BufNewFile *.java 0r /.vim/files/skeletons/ 以上這條命令讓我在新建 java 文件時自動加入 文件的內(nèi)容.autocmd BufNewFile *.java normal gnp 以上這條命令讓我在新建 java 文件時自動運行 gnp 命令, 這個命令進行一些特殊化 處理, 比如將新 java 文件中的 _date_ 替換成今天的日期什么的.11. 常用腳本 在 你可以發(fā)現(xiàn)很多腳本(script), 這些腳本常常有讓你意想不到的作用.我常用的有: 自動加入 javadoc 風(fēng)格的注釋. 類資源瀏覽. C, C+ 等可以用 Tlist 還有許多有用的, 比如 可以檢驗?zāi)愕木幊田L(fēng)格, 可以直接 反編譯 .class 文件等等.12. 常用配置 在/.vimrc 配置文件中你常常需要一些個性化配置. 比如上面寫的一些宏定義, 一些autocmd 定義等等. 比如: set suffixes=.bak,.o,.h,.info,.swp

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論