v
進入visual mode;Ctrl+v
轉爲按列選擇;shift+i
進入插入模式;Esc
退出便可在行首添加註釋了;:.,+3s/^/#/g
解釋一下這裏的替換命令,點**.
表示當前行,,
是分隔符,+3
表示從當前行到它以後的3行,也就是一共4行要進行替換操做,s
是正則替換的開始,g
是正則替換的結束,^
表示一行的開頭,/
是分隔符,表示把每一行的開頭替換成爲註釋符號#
。假如想要添加 //
這樣的註釋符,則分隔符要用#
,這樣就不須要對/
**轉義了,如 **:.,+3s#^#//#g
就是把當前行和它下面的3行都添加//
**註釋。linux
上面已經簡單介紹了替換操做的參數,實際它的參數能夠是這樣的: :8,23s/aa/bb/g
,表示對於第8到23行的aa字符都要替換爲bb。若是採用這種寫法則須要知道行號,能夠參考下面這些命令:vim
命令 | 做用 |
---|---|
set nu (或者set number ) |
顯示行號 |
set nonu (或者set nonumber ) |
隱藏行號 |
set numberwidth=1 |
設置行號的寬度,爲1就是緊貼在左邊 |
下面是一些替換的例子:code
命令 | 做用 |
---|---|
:s/aa/bb/g |
將光標所在行出現的全部包含 aa 的字符串中的 aa 替換爲 bb |
:s/\<aa\>/bb/g |
將光標所在行出現的全部 aa 替換爲 bb, 僅替換 aa 這個單詞 |
:%s/aa/bb/g |
將文檔中出現的全部包含 aa 的字符串中的 aa 替換爲 bb |
:12,23s/aa/bb/g |
將從12行到23行中出現的全部包含 aa 的字符串中的 aa 替換爲 bb |
:12,23s/^/#/ |
將從12行到23行的行首加入 # 字符 |
:%s= *$== |
將全部行尾多餘的空格刪除 |
:g/^\s*$/d |
將全部不包含字符(空格也不包含)的空行刪除. |
自動對當前行縮進能夠使用==
命令,若是想對當前行及如下的n行自動縮進,使用n==
命令,對全文自動縮進使用gg=G
命令。在visual mode下,也能夠選擇想要自動縮進的行,而後按==
。ip
關於vim的一些使用還能夠參考這篇博客。文檔