第一次用vim就上手

Published on:

(前言:這篇是先貼在系上BBS的文章 主要對象是天真無邪的學弟妹們XD 所以太愚蠢的部份 還有排版太差的部份 就抱歉了orz)

標題是騙人的 第一次用vim怎麼可能上手XDDDDD

只是看到有學弟在講 就順便寫一下 我覺得一開始雖然會什麼都不懂 摸不著頭緒 但是在vim裡面要先有基本生存能力 就像學武先學內功一樣~這篇文章就是要講基本的生存能力.....

[][1]

用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送出

用 : 開頭的 是在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 #這樣就存檔離開了

我敢打賭看到這裡而且照做的人一定會很想揍我 而且會說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

G

20G

gg

d10G

vllllllllllllld

:set nu

:set nonu

就先這樣吧@@

[1]:

Comments

comments powered by Disqus