太簡單的就不說了,隨便找手冊可以找到,這裡就說說一些小技巧吧,也是最近使用給逼出來的學習,呵呵,不過挺方便的。
1. 全域替換
(1) v + G + $ 選定全部,然後輸入 :s/原始字串/目標字串/
(2) :%s/原始字串/目標字串/
2. 清除頁面中所有行尾的空白符:
:%s//s/+$//
3. 清除所有空白
:%s//(/s*/n/)/+//r/
4. 去掉所有的//注釋
:%s!/s*//.*!!
5. 去掉所有的/* */注釋
:%s!/s*//*/_./{-}/*//s*! !
6. 做某些內部資料重複替換
有些時候我們需要組織一些批量的資料進行命令列的執行,比如我們需要利用前面的資料產生後面的資料,例如這樣的資料:
/var/database/aaa.txt
/var/database/bbb.txt
/var/database/ccc.txt
我想變成一個個的指令,比如變成一個個複製命令,複製到但前目錄,那麼可以執行:
:%s//(.*base///)/(.*/.txt/)/cp /1/2 /.///2/
變成了:
cp /var/database/aaa.txt ./aaa.txt
cp /var/database/bbb.txt ./bbb.txt
cp /var/database/ccc.txt ./ccc.txt
這裡關鍵是子模式的使用: () 中間的,/1 代表第一個找到的子模式,/2代表第二個,以此類推,vim裡面的()必須轉義,跟其他語言不一樣
7. 增加註釋(一個操作應用在多行)
比如需要增加#或者是//這種注釋:
Ctrl + v 定位到開始行,然後選定需要的行,然後執行 I 命令,然後輸入 # 或 //,然後按 Esc鍵兩次,即可把注釋操作應用到所有選定的行,記住選定不能使用v指令,而應該使用Ctrl + v (清除註釋請參考上面的方法)(v是按行選定,Ctrl + v 是按照列選定)
8. 對齊行
v 選定需要整齊的行,輸入 = 進行歸整
9. 開啟多視窗
在vim中使用 :sp 檔案名稱 開啟行視窗(橫),使用 :vsp 檔案名稱 開啟列視窗(豎),使用 :q 關閉當前視窗,使用 :qa 關閉所有視窗,使用 Ctrl + w 在各個視窗中進行切換。
已最大化的視窗:Ctrl + w 啟用某個視窗,然後 Shitf + - 進行最大化
改變視窗到指定行高度:Ctrl + w 啟用視窗,10(需要變成的行大小數字),Shift + -,執行改變
增加若干行高度:Ctrl + w 啟用視窗,10(需要增加的行大小數字),Shift + +,執行改變
10. 字串/變數提示
在輸入內容狀態,按 Ctrl + P 則顯示所有本頁中定義的字串,如果輸入字串部分內容,然後按 Ctrl + p 則把所有你輸入字串開頭的內容顯示出來。在輸入狀態下按 Ctrl + x 能過查看所有有效其他方式
參考URL:
http://www-128.ibm.com/developerworks/cn/linux/l-tip-vim1/
http://man.chinaunix.net/newsoft/vi/doc/help.html