1. 程式人生 > >vim命令常用技巧

vim命令常用技巧

學會使用vi編輯器是學習Linux系統的必備技術之一,因為一般的Linux伺服器是沒有GUI介面的,Linux運維及開發人員基本上都是通過命令列的方式進行文字編輯或程式編寫的。vi編輯器是Linux內建的文字編輯器,幾乎所有的類unix系統中都內建了vi編輯器,而其它編輯器則不一定,另外很多軟體會呼叫vi編輯進行內容編寫,例如crontab定時任務。較之於其它編輯器或GUI編輯器,vi編輯速度是最快的。VIM是它的增強版本,VI有三種基本工作模式,分別是:

命令模式(command mode)、或者叫一般模式

插入模式(insert mode)、或者叫編輯模式

底行模式(last line mode)、或者叫命令列模式

 

1、最基本用法

vi  huangbo.txt

1、首先會進入“一般模式”,此模式只接受各種命令快捷鍵,不能編輯檔案內容

2、按i鍵,就會從一般模式進入編輯模式,此模式下,敲入的都是檔案內容

3、編輯完成之後,按Esc鍵退出編輯模式,回到一般模式

4、再按,進入“底行命令模式”,輸入wq命令,回車即可儲存退出

 

2、移動游標

  1. 使用上下左右鍵可以移動游標
  2. 使用h,j,k,l,依次是向左,下,上,右移動
  3. w:將游標移動到下一個單詞的首字母處
  4. W:利用空格向後移動游標,就是忽略標點
  5. b:利用word包括標點向前移動游標
  6. B:利用空格向前移動游標,忽略標點
  7. e:將游標移動到下一個word的尾部,包括符號
  8. E: 將游標移動到下一個空格分隔字的尾部
  9. (:移動到句子開始

10、):移動到句子結束

11、0:移動游標到下一句句首

12、$:移動游標到本行行尾

13、{:移動到段落開始

14、}:移動到段落結束

15、H:螢幕頂端

16、L:螢幕底端

17、M:移動到螢幕中央位置

18、gg:直接跳到檔案的首行行首

19、G:直接跳到檔案的末行行首

20、最強游標移動:

% : 匹配括號移動,包括(, {, [.(你需要把游標先移到括號上)

*: 匹配游標當前所在的單詞,移動游標到下一個匹配單詞

#: 匹配游標當前所在的單詞,移動游標到上一個匹配單詞

 

3、常用操作

一些有用的操作(在一般模式下使用):

a   在游標後一位開始插入

A   在該行的最後插入

i    在游標前

I    在該行的最前面插入

o   在游標當前行下插入一個空行,游標位於空行行首

O    在當前行插入空行

dd    刪除游標所在行

3dd   刪除從當前行開始的3行

yy    複製游標所在行

3yy   複製從當前行開始的3行

p     paste 貼上

u     undo 撤銷

 

4、查詢並替換

(在底行命令模式中輸入)

1顯示行號

:set  nu

2 隱藏行號

:set  nonu

3 查詢關鍵字

:/you       ## 效果:查詢檔案中出現的you,並定位到第一個找到的地方,按n可以定位到下一個匹配位置(按N定位到上一個)

查詢的時候被匹配上的字串會被高亮,可以在命令模式下使用:noh取消高亮

4、直接跳轉到N行

:N

 

5、替換操作

:1 s/sad/bbb      將第一行的第一個sad替換為bbb

:1,5 s/sad/bbb     將第一行到第五行的第一個sad替換為bbb

:1,. s/sad/bbb     將第一行到游標行的第一個sad替換為bbb

:.,$ s/sad/bbb     將游標行到緩衝區最後一行的sad替換為bbb

:s/sad/bbb       查詢游標所在行的第一個sad,替換為bbb

:s/sad/bbb/g     查詢游標所在行的所有sad,替換為bbb

:%s/sad/bbb     查詢檔案中所有行第一次出現的sad,替換為bbb

:%s/sad/bbb/g   查詢檔案中所有的sad,替換為bbb

 

6、其他小技巧

r       替換游標處一個字元

R       進入替換模式,從游標處連續替換

s       刪除當前字元,進入插入模式

S       刪除當前行,進入插入模式

f + s    游標行內向後查詢第一個出現的字元s

F + s    游標行內向前查詢第一個出現的字元s

~       大小寫轉換,只轉換游標處字元

 

7、真正的寶藏

VIM詳解:http://linux.ctolib.com/cheat-sheets/view/Vim-command.html