2012年11月19日 星期一

vim 學習筆記


整理出 vim 常用指令
免得忘記還要重新 google




<ESC> 進入 normal mode
h 左
j 下
k 上
l 右

i 光標所在位置開始插入文本
a   光標之後插入文本
A   行末插入文本
o   光標下方打開新的一行並將光標置於新開的行首,進入插入模式
O   光標上方打開新的一行並將光標置於新開的行首,進入插入模式

x   刪除當前光標所在位置的字元
Ctrl + g   顯示光標所在位置以及文件狀態訊息列
[number] + shift + G 跳到[number]行 (沒數字即為跳到行尾)

[number] c object  更改
object:  w => word
  $ => 行尾


r   replace 一個字元
R  連續替換多個字元
p   paste
u   復原
Ctrl + r  取消復原
U   復原整行

[number] d object 刪除
object:      w => word  包含空格
$ => 行尾
e => word 不包含空格

dd 刪除整行

/   尋找字串
n   下一個結果
shift + N   上一個結果
?   逆向尋找字串
(已查到文件末端會重頭開始找)

%   跳到匹配括號處 ()[]{} (用來尋找不配對括號)

:s/字串A/字串B   將光標所在這行遇到的第一個字串 A 換成 B
:s/字串A/字串B/g  將光標所在這行遇到的所有字串 A 換成 B
:#,#s/字串A/字串B/g  #代表行號,替換2行之間的所有匹配串
:%s/字串A/字串B/g  替換整個文件出現的字串 A 為 B
:%s/字串A/字串B/gc  替換整個文件出現的字串 A 為 B,但每個替換都會詢問

:![shell 命令]   用!可以直接執行 shell command,例如 :!ls

:q! 離開不儲存
:wq     離開並儲存
:w FILENAME  儲存為 FILENAME
:#,# w FILENAME   將兩行之間文字儲存為 FILENAME
:r FILENAME   將FILENAME內容提取進當前文件(從光標處開始插入)

:set xxx     設置xxx選項
:help     幫助


未完待續..

沒有留言:

張貼留言