普通模式指令
修改文字
~
切換大小寫
J
連接 [count]
行,但至少包含兩行
{Visual}J
連接高亮行,但至少包含兩行
x
刪除游標下的字元
r{char}
gr{char}
以上兩個指令皆是替換一個字元
d{motion}
刪除
dd
從游標處刪除到此行結尾
D
同上
y{motion}
複製
[count]["x]p
貼上複製的內容 [從暫存器 x] 在游標之後 [count] 次
[count]["x]P
貼上複製的內容 [從暫存器 x] 在游標之前 [count] 次
[count]u
撤銷 [count]
次更改
[count]<Ctrl-r>
重做 [count]
次被撤銷的更改
gu{motion}
使 {motion}
跨越的文本成為小寫
gU{motion}
使 {motion}
跨越的文本成為大寫
g~{motion}
切換 {motion}
跨越的文本的大小寫
>{motion}
將 {motion}
跨越的行右移 shiftwidth 列
在可視模式中按 >
即右移 shiftwidth 列
<{motion}
將 {motion}
跨越的行左移 shiftwidth 列
在可視模式中按 <
即右移 shiftwidth 列
={motion}
自動縮進
[count]<Ctrl-a>
從游標開始往後找的第一個數字加 count
[count]<Ctrl-x>
從游標開始往後找的第一個數字減 count
切換模式
:
切換Ex命令模式
/
切換搜尋模式,正向查找
?
切換搜尋模式,反向查找
A
移動到最右側切換插入模式
C
相當於 c$
I
移動到最左側切換插入模式
O
往上插入一行,相當於 ko
R
切換成替換模式
將游標位子的字元替換成輸入的字元
再移動到下一個字元
S
從最左側非空白的位置刪除到結尾
相當於 ^C
V
切換可視模式,以行為單位
a
移動到游標右側切換插入模式
c{motion}
將 {motion}
刪除並進入插入模式
cc
從最左側非空白的位置刪除到結尾
相當於 ^C
gR
切換虛擬替換模式
詳情請參考 :help vreplace-mode
gh
切換選擇模式
gv
切換可視模式,並選取上次可視模式選取的內容
i
移動到游標左側切換插入模式
o
往下插入一行,相當於 A<CR>
o
在可視模式輸入會移動高亮區的游標
q/
打開命令行窗口
[count]s
刪除 count 個字元並切換到插入模式
v
切換可視模式,以字元為單位
<Ctrl-[>
同 <Esc>
<Ctrl-g>
在可視模式輸入會切換成選成模式
<Ctrl-v>
切換區塊的可視模式
<Esc>
離開其他模式到普通模式
縮進
za
切換縮進
zc
關閉縮進
zo
打開縮進
zr
所有文件打開一層縮進
zm
所有文件關閉一層縮進
zR
打開所有縮進
zM
關閉所有縮進
zn
關閉縮進功能
zN
啟動縮進功能
zi
切換縮進功能(啟動和關閉)
zf{motion} 或 {Visual}zf
創建折疊操作符
zd
刪除在光標下的折疊
暫存器
"{register}[motion]
對暫存器做對應的動作
a-z {register} 可以自己使用
"{register}y[motion]
覆寫或附加暫存器的內容
a-z {register} 會覆寫暫存器的內容
A-Z {register} 會附加暫存器的內容
特殊暫存器
暫存器 | 用途 |
| 當寫到這個寄存器時,什麼都不會發生。這可以用來刪除文本,而不影響任何正常的寄存器。從該寄存器讀時,什麼都不會返回 |
| CLIPBOARD (用於剪下、複製和貼上操作) |
| PRIMARY (用於代表當前的可視選擇內容,就像 Vim 的可視模式的操作對象) |
| 包含最近插入的文本 |
| 包含當前文件名 |
| 包含最近執行過的命令行 |
| 包含當前視窗輪換文件的名字 |
| 表達式暫存器 |
| 含有最近搜索的模式 |
| 最後10次刪除操作的歷史紀錄 0為上一次,1為上上一次 |
打開命令行窗口
命令 | 動作 |
| 打開查找命令歷史的命令行窗口 |
| 打開 Ex 命令歷史的命令行窗口 |
| 從命令行模式切換到命令行窗口 |
宏
q{0-9a-zA-Z"}
在暫存器 {0-9a-zA-Z"}
裡錄製鍵入的字元(大寫名字的暫存器表示附加鍵入的內容),結束錄製再按一次 q
[count]@{0-9a-z".=*+}
執行暫存器 {0-9a-z".=*+}
的內容 [count]
次
@:
重複上次的Ex指令
@@
重複上次的@暫存器指令
其他
.
重複普通模式指令
<Ctrl-l>
清除視窗並重新畫視窗
ga
顯示游標上的字元編碼
ZZ
儲存並退出
Last updated