VIM學習筆記

原文地址:LoveDev

VIM == "編輯器之神"

移動

單詞移動

Command Alias
W w 移動到下一個單詞開頭
E e 移動到下一個單詞結(jié)尾
B b 倒退到上一個單詞開頭

整行移動

Command Alias
0 移動到行首
$ 移動到行末
+ 移動到下一行開頭
- 移動到上一行開頭

根據(jù)行號來移動

Command Alias
Ctrl+g 顯示當前行信息
nG 轉(zhuǎn)至第n行
G 轉(zhuǎn)至文本末尾
gg 移至文本開頭

行位置插入

Command Alias
A 在一行的結(jié)尾處追加
I 在一行的開頭處插入
o 在光標所在位置的下一行打開新行插入
O 在光標所在位置的上一行打開新行插入

tips1:10I*<Esc>先輸入10,然后輸入i,接著輸入*號,最后按<Esc>

這樣就可以在一行開頭輸入十個*

    

tips2:同樣,5o###<Esc>先輸入5,然后輸入o,接著輸入###,最后按<Esc>

這樣就可以在下列5行中每一行開頭插入###

   

插入

字符位置插入

Command Alias
i 在光標之前插入
a 在光標之后追加

刪除

字符刪除

Command Alias
x 刪除光標所在處字符
X 刪除光標所在前字符

單詞刪除

Command Alias
dw 刪除到下一個單詞開頭
de 刪除到本單詞末尾
dE 刪除到本單詞末尾包括標點在內(nèi)
db 刪除到前一個單詞
dB 刪除到前一個單詞包括標點在內(nèi)

行刪除

Command Alias
dd 刪除一整行
3dd 刪除三整行
D d$ 刪除光標位置到本行結(jié)尾
d0 刪除光標位置到本行開頭

復(fù)制

行復(fù)制

Command Alias
y^ 復(fù)制至行首
y$ 復(fù)制至行尾
yy 復(fù)制整行
yH 從當前行復(fù)制到屏幕頂端
yL 從當前行復(fù)制到屏幕低端

單詞和字符復(fù)制

Command Alias
ynl 向右復(fù)制n個字符
ynh 向左復(fù)制n個字符
ynw 向前復(fù)制n個單詞
ynb 向后復(fù)制n個單詞

修改

字符替換

Command Alias
r 單個字符替換
R 連續(xù)替換
~ 更改大小寫

單詞修改

Command Alias
cw 從光標處修改到單詞結(jié)尾
cb 從光標處修改到單詞開頭

行修改

Command Alias
c$ 從光標修改到本行末尾
C 功能同上
c0 從光標修改到本行開頭
cc 刪除整行從頭修改
S 功能同上
s 刪除光標所在位置的字符,然后插入

合并行

多行合并成一行

AAAAA
BBBBB
CCCCC

合并為:
AAAAA BBBBB CCCCC

方法1: normal狀態(tài)下 3J 其中的3是范圍,可以是書簽或者搜索位置等方式實現(xiàn),J為合并
注: 如果改為3gJ的話,則合并時各行沒有空白AAAAABBBBBCCCCC, 下面方法類似,不再重復(fù)這兩種合并方式的區(qū)別.

方法2: 命令狀態(tài)下 :1,3 join 或 :1,3 j

方法3: 傳統(tǒng)一點的,替換換行符的方式,為避免最后一行也被換掉,范圍縮小了,命令狀態(tài)下 :1,2s/\n/ /

隔行合并

AAAAA
BBBBB
CCCCC
DDDDD
合并為:

AAAAA BBBBB
CCCCC DDDDD
方法1: 借用一下宏錄制功能, normal狀態(tài)下 qaJjq 實現(xiàn)錄制, 然后在合適的區(qū)域重復(fù)執(zhí)行n遍,這里2遍即可,normal狀態(tài)下2@a

方法2: 命令狀態(tài)下 :1,4g/^/ join 增加了g過濾后,合并變成了隔行處理

恢復(fù)

Command Alias
u 撤消上次命令
U 恢復(fù)整行
ctrl+r 重做
. 重復(fù)
e! 全文恢復(fù)
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

推薦閱讀更多精彩內(nèi)容

  • 概念 什么是 vim Vim是從 vi 發(fā)展出來的一個文本編輯器。代碼補完、編譯及錯誤跳轉(zhuǎn)等方便編程的功能特別豐富...
    靜默虛空閱讀 642評論 0 3
  • http://einverne.github.io/post/2015/05/vim-notes.html#adv...
    JosephDHF閱讀 433評論 0 0
  • 按功能劃分出命令 光標移動 w移動光標到下一個單詞的詞首,b移動光標到上一個單詞的詞首;e移動光標到下一個單詞的結(jié)...
    清水蘆葦閱讀 635評論 0 0
  • VIM 什么是vim 所有的Unix like系統(tǒng)都會內(nèi)置vi文本編輯器,其他的文本編輯器則不一定會存在。vim具...
    Mizuka閱讀 316評論 0 3
  • 作為一個程序員,不會裝x怎么行,vim就是裝x利器,哈哈 vim有三種工作模式 交互模式 interactif m...
    羅蓁蓁閱讀 365評論 1 2