Vim批量註釋、替換和縮進

一. 批量添加註釋

方法1:塊選擇

  1. 光標移動到行首,按 v 進入visual mode;
  2. Ctrl+v 轉爲按列選擇;
  3. 選中想要添加註釋的列;
  4. shift+i 進入插入模式;
  5. 輸入註釋,如#或//,按 Esc 退出便可在行首添加註釋了;

方法2:替換

  1. 光標移動到當前行,輸入 :.,+3s/^/#/g
  2. 回車,OK;

解釋一下這裏的替換命令,點**.表示當前行,,是分隔符,+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的一些使用還能夠參考這篇博客文檔

相關文章
相關標籤/搜索