我經常用的一些vi快捷鍵
Linux下vi/vim的操作,當你不熟悉時,不會願意用他,一旦你習慣了,他的高效就無人能敵,用久了就會有種,相逢恨晚的感覺,這也是一部分人,習慣使用Mac而不是Windows的原因。
vi操作,可以說基本上,圍繞著鍵盤的每一個鍵位,都有他的意義。
首先說一些我常用的,
(1) 開啟vi如果未輸入i,則複製-貼上字元,會導致前面少幾個字元。
例如,
> vi test.txt
this is a test file.
此時複製"this is a test file"這幾個字元,在檔案開始處,按"shift“和"insert",檔案test.txt顯示,可以看出,this截了,
s is a test file.this is a test file.
如果輸入i,再次執行"shift“和"insert",這次就正常了,就是說如果需要複製-貼上,保險起見,就要輸入i,再執行貼上操作,
this is a test file.this is a test file.
(2) vi編輯完成,兩種退出模式。
儲存退出,可以輸入ZZ。
不儲存退出,可以輸入ZQ。
為了提高效率,可以右手shift,左手Z/Q,一氣呵成。
(3) 批量編輯
如果需要為檔案每行,頭部加字串“sqlplus“,可以執行
:%s/^/sqlplus
如果要將下列文字中,第一個a字元變為b,
this is a test file.this is a test file.
可以執行,
如果要將所有a,變為b,可以執行,
如果需要統計,a字元出現的次數,可以執行,
:%s/a//gn
提示,
this is a test file.this is a test file.
2 matches on 1 line
同樣支援字串,統計test出現的次數,可以執行,
:%s/test//gn
提示,
this is a test file.this is a test file.
2 matches on 1 line
(4) 查詢定位字元
一行文字,若要找出“a”字元的位置,
this is a test file.this is a test file.
可以執行,
fa
其中f表示find,a表示要檢索的字元資訊,同理要找b,就可以用fb,
fb
除了字元,像“(”這種也支援,
f(
當然,vi的快捷操作方法,上面只是些皮毛,網上有一些vi操作圖表,也許有人看過,下面彙總了一下,引自盧大俠(盧鈞軼,cenalulu)的部落格(http://cenalulu.github.io/linux/all-vim-cheatsheat/),重要的不是記住所有鍵位,而是根據自己的實際需求,找出自己需要的,熟練掌握,變為自己的技能,這才是最重要的能力。
經典版本(http://cenalulu.github.io/images/linux/vim_cheatsheet/classic.gif):
入門版本(http://cenalulu.github.io/images/linux/vim_cheatsheet/entry.png):
進階版本(http://cenalulu.github.io/images/linux/vim_cheatsheet/advanced.png):
增強版本(http://cenalulu.github.io/images/linux/vim_cheatsheet/morden.png):
文字版本(http://cenalulu.github.io/images/linux/vim_cheatsheet/text.png):
(http://cenalulu.github.io/images/linux/vim_cheatsheet/text2.png)