2008年5月12日 星期一

vi/vim 速成教學(?)


基本上可以分為 command mode 和 insert mode
insert mode 就是我們一般的文書軟體的東西,上下左右打打字刪刪字這樣
command mode 則提供一堆快速操作
剛開 vi/vim (以下簡稱 vi ) 後是在 command mode 中,以下方式可以進入 insert mode

i:一般進入,開始打
a:從「游標所在處的下一個」進入
s:幹掉游標所在的一個字元進入
o:行末新增一行進入(並非從游標處換行)
離開insert mode 就 Esc
注意大小寫在這裡一直是有分的,從頭到尾都有分

存檔/編檔(command mode)

:q 離開
:q! 不存檔離開
:w [filename] 存為 [filename],不加的話預設存入你開的檔名
:x 存檔並離開

幾個簡單的指令(command mode):


d: 刪除(剪下)的基本型,視你後面按的東西而定

dd:刪一行
d↓: 刪自己及下面一行
d2↓: 刪自己及下面2行
d5↓: 當然是自己及下面5行
d→: 自己及右邊一個字元
d2→, d5→, d1000000→, d30↑, d↑: 自己參透吧

貼上(y):

yy: 刪一行
y↓, y3↓.....
類似的還有貼上(p),基本上就是你的指標走到哪就做到哪,所以 d[End] 也有這個指令

復原、重做:

u:復原
Ctrl+r: 重做
這樣就完成基本篇瞭 =3=
接下來的是

lv1: 一些比較機車又好用的東西 for coding


%(按住shift再按5 in command mode):自動跳到配對括號,等下有用
Ctrl+N 自動完成,會列出文件中匹配的單字外也同時會自動找C/C++ code 裡的 header 關鍵字

z: 折程式碼
zf%: zip floder to %: 將你所跳的距離(%: 從括號到括號)做折行標記
zc: 將所在處依標記收起
zo: 打開
G: 跳到文章最尾
=: 整理程式碼縮行
=G: 從這裡到文件最末整理縮行
以上,就是個人在用的指令,其實非常之少,連一個標準 tutorial 的部份都不到 詳細教學可以在這裡:url找到
或是使用 gvim,從選單裡找到你要的指令同時可以看到這指令的文字輸入
而我則是這樣(全指令不到6%)就已經很順了,可以想像指令全通的人 coding 起來會是怎個恐怖光景,無怪乎被稱為 God of editors ,與 emac (God's editor.) 並列 Linux 二大神器。

沒有留言:

張貼留言