一些使用Vim的小技巧

來源:互聯網
上載者:User


太簡單的就不說了,隨便找手冊可以找到,這裡就說說一些小技巧吧,也是最近使用給逼出來的學習,呵呵,不過挺方便的。

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

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.