前言
這篇是先貼在系上 BBS 的文章,主要對象是天真無邪的學弟妹們XD 所以太愚蠢的部份,還有排版太差的部份,就抱歉了orz
簡介
標題是騙人的,第一次用 Vim 怎麼可能上手XDDDDD
只是看到有學弟在講,就順便寫一下。我覺得一開始雖然會什麼都不懂,摸不著頭緒,但是在 Vim 裡面要先有基本生存能力,就像學武先學內功一樣~這篇文章就是要講基本的生存能力…..
用 Vim 開啟檔名為 FILENAME 的檔案
$ vim FILENAME
移動
h (左), j (下), k (上), l (右)
我知道這很奇怪,但是請聽我說完…首先把你的手「正常的」放在鍵盤上…也就是雙手食指分別在 F 跟 J。通常這兩個按鍵會有一些幫助你定位的設計,常見的作法是有個凸點。接著忘記你的左手的存在,你的右手應該會微微的像 \ 這樣傾斜。
不要亂動!!!這個時候,你的食指應該比中指更接近自己,這也就是 Vim 裡面上跟下分別是中指跟食指…呃不是啦 是 k
跟 j
的原因…至於左右呢?啊就左右嘛= =a
輸入
先學著用 i
跟 a
吧。一個是 insert,一個是 append。這兩個用久了就會變成直覺了。熟了之後再學著用 I
跟 A
吧。如果 i
跟 a
很直覺,I
跟 A
就會很簡單了。(其他的以後再說沒關係)
回到 Normal Mode
如果有看過其他文章,應該會知道 Vim 有 3 種以上的「mode」。我們不用管這麼多,只要記得「狂按 Esc 就會回到 normal mode」就好。手賤多按幾下沒關係,電腦不會爆炸。噢,你說其他的 mode 喔?先不用記啦,反正你自然就會進去了…
編修檔案
有一個很簡單的原則(但是偶爾有例外):先按數字(假設是 n)再按指令,相當於做那個指令 n 次。我們待會會說明~記得很簡單的幾個就好了。首先,我們來背單字….
delete - 刪除
yank - 用力拉
paste - 貼上
undo - 復原
好了背完了….來看看指令….
dd
- 刪除一整行
yy
- 複製一整行
p
- 貼上
u
- 復原
很簡單對不對?相信大家都覺得這實在腦殘的不得了…..不過在腦殘的同時,不曉得有沒有發現我講了複製、貼上,但是沒有講剪下?我承認我剛剛說謊….其實 dd
是剪下才對…..(ninja) 只不過剪下跟刪除本來就可以同一件事啦,呵呵呵呵呵呵呵呵~
存檔離開
我們再來背一次單字….
write - 寫
quit - 自殺…呃不是啦,是離開
所以說存檔跟離開的指令就記這4個吧….
:w
- 存檔
:wq
- 存檔然後離開
:q
- 不存檔直接離開….但是如果檔案有改過的話 他會跳出錯誤說…「留下來,或者我跟你走。」 這時候只好嗆聲….
:q!
- 我他X的就是要離開!
經過了以上的一大串廢話之後…..我們再來一小串廢話。以上部分除了背單字以外,剩下的都可以「直接在 normal mode 按」!記得前面有冒號的也別忘了唷^.< 冒號開頭的,最後配上enter服用…
範例練習
(就是你照著作就對了)
首先說明一些事情…
- 用
$
開頭的,就是在一般命令列要打的,打完要按 Enter 送出 - 用
:
開頭的,是在 Vim 的 Esc 按到死 mode 裡面按下:
之後出現的那個冒號… - 用
#
開頭的,一直到行尾表示註解(說明文字) - 英文或數字開頭的,那應該就是直接在 Vim 裡面照著按了….別把 Esc 分開按就好了XD
(範例開始)
$ cd #為了避免奇怪的事情 我們先回到家目錄
$ dmesg > vim_practice #建立一個練習用的檔案 檔名再衝突我也沒辦法了
$ vim vim_practice #用 vim 打開檔案
# 我們在vim裡面囉~~
jjjjjjjjjjjjjjjjjjjj #對 你就先把j按著 練習往下移動
kkkkkkkkkkkkkkkkkkkk #然後把k按著 練習往上移動
jjjjjjjjjjjjjjjjjjjj #不要覺得這很蠢
kkkkkkkkkkkkkkkkkkkk #多試幾次就會很順 記得手要放對位置唷~
jjjjj #挑一行順眼的 有很多字的行
llllllllllllllllllll #對啦就是往右移動
hhhhhhhhhhhhhhhhhhhh #然後往左移動
llllllllllllllllllll #往右
hhhhhhhhhhhhhhhhhhhh #往左
#獎勵自己把蠢事做完 可以上個PTT之類的...
#剛好ptt閱讀文章的時候也可以用kj當做上下移動.....
#回到vim
i1234567890 #直接照著按應該會看到插入了一串1234567890在裡面吧
esc #回normal mode
a1234567890 #跟i有一點點差別...一點點...一點點....
esc
#一定很多人會想要在打字的時候移動游標對不對?暫時改掉這個習慣吧
#以後再加回來也不遲...先練習使用normal mode下的hjkl移動~
#一直待在normal mode底下就好了
dd #你游標所在的那行就被刪除了
jjjjjjjjjjjjj #隨便移動一下
p #剛剛刪除的那行貼上去了!!!
u #剛剛貼上去的那行不見了!!!
10p #對 就照著按[1]-[0]-[p]這3個按鍵...你應該看到了
jjjjjjjjjjjjjjjj #再隨便移動一下
5yy #你其實已經複製5行字了...
p #貼上去
#你可以隨意玩玩看 或是參考最後面的隨手亂寫
#準備存檔離開
esc, esc, esc, ... #反正就是回到normal mode....
:wq <enter>#這樣就存檔離開了
我敢打賭看到這裡而且照做的人一定會很想揍我,而且會說 Vim 真他x的難用。事實上,只會這些東西的話,Vim 還真的很他x的難用…..但這些只是基本技巧而已,先有基本能力之後,再去懂得怎麼「聰明一點」吧:D
上面廢話很多,為了體貼直接按 End 的人,這裡整理一下第一次使用 Vim 要會的東西:
- 命令列下,
vim
後面接上檔名就可以編輯檔案 - 手指頭放在鍵盤上,右手就可以控制游標移動了(什麼 hjkl 不要記啦)
i
(insert)跟a
(append)用來輸入文字- Esc 按到爆就會回到 normal mode
dd
,yy
,p
,u
分別是剪下、複製、貼上、復原:w
,:wq
,:q
,:q!
其中的 w, q, ! 分別表示寫入、離開、強制執行
這裡隨手亂寫一些東西,有興趣可以照著按。每行為一個單位,大小寫有差。
20i8<esc>
G
20G
gg
d10G
vllllllllllllld
:set nu
:set nonu
就先這樣吧@@
Last modified on 2011-03-05