一、插入文本
常用的,當然是i,但是如果只用i,那就太TB了,記住i、o、a即可,
當然大小寫,一般區分前後的概念,這個是vim在設計各類指令的原則。
命令 執行的操作 記憶方法
-----------------------------------------------------------------
i 在游標的左側插入字元
I 在行首插入字元
a 在游標的右側添加文本
A 在行尾添加文本
o 在當前行下面插入一空行
O 在當前行上面插入一空行
20i-[Esc] 插入20個連字號(這是一個非常有用的命令,屁如插入分隔字元,插入+等等)
-----------------------------------------------------------------
下面還有幾個常用的設定:
命令 執行的操作 記憶方法
-----------------------------------------------------------------
:set showmode 當vi處在輸入模式下時顯示提示資訊
:set sm 即時顯示配對的)或}
:set ts=n 把定位字元設定為n(預設為8)
:set ai 下一行從前一行的縮排位置開始(這個在寫代碼時比較有用)
-----------------------------------------------------------------
二、刪除文本
命令 執行的操作 記憶方法
-----------------------------------------------------------------
x 刪除游標所在的字元
6x 刪除游標位置的字元以及右側的5個字元
X 刪除前一個字元
dd 刪除當前行
4dd 刪除4行
64dd 刪除64行
dw 刪除一個單詞
d0 刪除到行首
d$ 刪除到行尾
d 刪除一個地區(只用於vim)
p 把被剪下的文本粘貼到下面(整行)或右側(部分行)
P 把被剪下的文本粘貼到上面(整行)或左側(部分行)
"add 把當前行粘貼到緩衝區a裡
"ap 把緩衝區a裡的內容粘貼到當前位置
J 把當前行於下一行合并為一行
xp 調換兩個字元的位置
-----------------------------------------------------------------
三、替換文本
命令 執行的操作 記憶方法
-----------------------------------------------------------------
rch 把游標位置的字元替換為ch
R 替換游標右邊的文本
s 把游標所在的字元替換為任意個字元
S 替換整行內容
cw 修改一個單詞
c 修改地區裡的文本(vim)
~ 改變所掃描的或地區裡的字母的大小寫
!tr'[a-z]''[A-Z]' 把地區裡的字母轉換為大寫(vim)
!tr'[A-Z]''[a-z]' 把地區裡的字母轉換為小寫(vim)
-----------------------------------------------------------------
四、複製文本
命令 執行的操作 記憶方法
-----------------------------------------------------------------
yy 複製當前行
6yy 複製六行
yw 複製單詞
y 複製地區(vim)
p 把複製的文本粘貼到右邊或下面
P 把複製的文本粘貼到左邊或上面
"ayy 把當前行複製到緩衝區a裡
"ap 恢複緩衝區a裡的內容
-----------------------------------------------------------------
這裡用到一個寄存器概念,普通的刪除、複製功能,使用的的是預設的寄存器,
比如複製了2行之後如果立刻黏貼,則這兩行被黏貼。
可如果中間執行了一步刪除操作,則黏貼的是被刪除的內容。
如果不想導致這種混亂,就需要指定寄存器。
寄存器首碼是一個引號:".
屁如上面說道的將一行複製到寄存器a中,則是:"ayy
將a黏貼出來,則是"ap.
這個功能是非常有用的。
綜上所屬,仔細看,會發現幾個vim指令的規律,
1、操作文法:數字+操作+特殊含義字元。例如多行操作:行數+動作,屁如:6dd,刪除6行,6yy,複製六行,如此以此類推。
來一全的,譬如刪除6個單詞:6dw。
3、大小寫,這個在前面好像說過,這裡也總結一下,反義,前後左右,僅此而已。
原文連結:http://www.pakey.net/index.php/post/vim-learn-edit.html