當前屏幕行間跳轉
H 跳到第一行
M 跳到中間一行
L 跳到最后一行
行內跳轉
fx
往右移動到 x 字符上
Fx
往左移動到 x 字符上
tx
往右移動到 x 字符前
Tx
往左移動到 x 字符后
(注意:以上四個命令中,其中x是鍵入的字符)
標記文本
mchar 用字母char標記當前光標的位置
`char 移至char所標記處
'char 移至char標記所在行的開頭處
" 移至當前行上一次所在位置(在光標移動之后)――一個雙引號
'' 移至當前行上第一次所在位置的行的開頭處(在光標移動之后)――兩個單引號
上下兩行合并
J(大寫)
自動替換
:ab s1 s2
例如 ":ab usa United States of America" ,
當你在文見里插入 usa 時
United States of America 就蹦出來了
全文件替換特定字符串
:%s/old_word/new_word/g
:%s/old_word/new_word/gc
加上c在替換的時候會詢問是否替換
連續插入n個感嘆號
Hello World
比如要在上面這句話后面插入10個"!",只要把光標定位于d,然后按'10a!',再按兩下Esc!
保存并退出
直接在普通模式下按ZZ(大寫)即可.
另外,用:e!可以不保存文件并重新載入這個文件。
查找時忽略大小寫和歷史查找
有時查找單詞時需要忽略大小寫,只要設置下面的就可以了
:set ignorecase
假如進行過幾次查找,想繼續以之前查過的關鍵詞查找時,只要按/,然后上下鍵來選擇即可
同理,按下:,然后上下鍵,也可以翻看執行過的歷史紀錄,不過僅限于當前的編輯。
快速查找
你要找當前光標定位處的字段,難道要慢吞吞輸入/和字段嗎?不必了!直接按*號,Vim就會把當前的字段作為查找內容,找下一處。
對了,:set hlsearch可以將查找的內容設置成高亮。這樣就好看了。反之,加上:set nohlsearch就可以了。上面的ignorecase也可以加no。
修改命令操作
cl 更改當前字符
cw 修改到某個單詞的結尾位置
c3w 修改到第三個單詞的結尾位置
cb 修改到某個單詞的開始位置
cW 修改到某個以空格作為分隔符的單詞的結尾位置
cB 修改到某個以空格作為分隔符的單詞的開始位置
c7B 修改到前面7個以空格作為分隔符的單詞的開始位置
c0 修改到某行的結尾位置
c) 修改到某個語句的結尾位置
c4) 修改到第四個語句的結尾位置
c( 修改到某個語句的開始位置
c} 修改到某個段落的結尾位置
c{ 修改到某個段落的開始位置
c7{ 修改到當前段落起始位置之前的第7個段落位置
ctc 修改當前行直到下一個字符c所出現位置之間的內容
C 修改到某一行的結尾
cc 修改當前行
5cc 修改從當前行所開始的5行內容
.重復上一次修改!
刪除單詞和替換句子
一般來說,用dw/de刪除單詞需要將光標定位于單詞開頭,但是如果用daw,則無需這樣,只要光標在這個單詞上就可以了(daw=Delete a Word),如果不包括空格,就是diw;
替換句子的話,就用cis就行了;