Vim Hotkeys
内置映射
[!NOTE]- 参见: 参考手册/第一章/index
插入模式
ctrl-c退出插入模式ctrl-g ctrl-j/k往下/上一行ctrl-o执行单个命令ctrl-r插入寄存器内容ctrl-u删除到行首ctrl-w删除光标前一个单词ctrl-x子模式ctrl-[同 escS-up/downPageUp/PageDown
普通模式
字母
default | shift |
a 在光标处附加文本 | A 在行尾附加文本 |
b 光标回退 N 个单词 | B 光标回退 N 个 word |
c 删除文本并开始插入 | C 同 |
d 删除文本 | D 同 |
e 光标前移到第 N 个单词的结束 | E 光标前移到第 N 个 word 的结尾 |
f 光标右移到第 N 次出现的 char 上 | F 光标左移到第 N 次出现的 char 上 |
g | G 光标移动到第 N 行(默认末行) |
h 光标左移 N 个字符 | H 光标移动到屏幕顶部开始算的第 N 行 |
i 在光标前插入文本 | I 在本行首个 char 之前插入文本 |
j 光标下移 N 行 | J join N 行(默认 2) |
k 光标上移 N 行 | K 查找光标所在的关键字 |
l 光标右移 N 个字符 | L 光标移动到屏幕底部开始算的第 N 行 |
m 在光标位置处设置位置标记 | M 光标移动到屏幕的中间一行 |
n 重复最近的查找 | N 反向重复查找 |
o 在光标下方开始一个新行并插入文本 | O 在光标上方开始新行并插入 |
p 在光标后放置文本 | P 在光标放置文本 |
q | Q 切换到 Ex 模式 |
r 用 char 替换 N 个字符 | R 进入替换模式 |
s (替换)删除 N 个字符并开始插入, 同 | S 同 |
t 光标移动到右侧第 N 次出现的 char 之前 | T 光标移动到左侧第 N 次出现的 char 之前 |
u 撤销改变 | U 撤销一行内所有最近的改变 |
v 开始面向字符的可视模式 | V 进入面向行的可视模式 |
w 光标前移 N 个单词 | W 光标前移 N 个 word |
x 删除光标开始的 N 个字符, 同 | X 删除光标前的 N 个字符, 同 |
y 抽出 Nmove 文本 | Y 同 |
z | Z |
数字和符号
default | shift |
` 光标移动到位置标记 |
|
1 |
|
2 |
|
3 |
|
4 |
|
5 |
|
6 |
|
7 |
|
8 |
|
9 |
|
0 光标移到行首字符 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
其他
<Space>同 lctrl-c终止当前的(搜索)命令ctrl-f/b正/反向滚动 N 屏ctrl-u/d窗口上/下滚 N 行(半屏)ctrl-e/y文本上/下滚 N 行ctrl-g显示当前文件名和位置ctrl-]/ojump into/back(old)ctrl-r重做 u 撤销的改变ctrl-v开始面向列块的可视模式ctrl-w窗口命令
[!note] 移动类命令 (参见 usr_03)
- b/w 向前/后移动到词首
- ge/e 向前/后移动到词尾
- 0/^/$ 移动到行首/行首第一个非空字符/行尾
- F/f 向左/右移动到指定的字符
- T/t 向左/右移动到指定的字符的前一个字符
- % 移动到匹配到括号处
- [count]% 移动到百分之几
- gg/[count]GG/GG 移动到文首/指定行/文尾
[!note] 编辑类命令 (参见 usr_04)
- i/a 光标前/后插入
- o 在光标下方新建行并插入
- r replace
- c change
- s
clsubstitute- d delete
- x
dldelete char- p put
- y yank
- u undo
文本对象
可以用在操作符之后,或者在可视模式里选择一个对象。
operator[number]motion
参见: 参考手册/第二章 基本编辑/motion
窗口命令
ctrl-w
+增加当前窗口高度 N 行-减少当前窗口高度 N 行:<减少当前窗口宽度 N 列=使所有窗口同宽高>增加当前窗口宽度 N 列- H 移动当前窗口到最左
- J 移动当前窗口到最底
- K 移动当前窗口到最顶
- L 移动当前窗口到最右
- P 跳转到预览窗口
- R 向上旋转窗口
- S
- T 移动当前窗口到新标签页
- W 跳转到前面第 N 个窗口(回绕)
]分割窗口并跳转到光标所在的标签上^分割窗口并编辑轮换文件_设置当前窗口高度为 N(尽量大)- b 跳转到底部的窗口
- c
:close - d 分割窗口并跳转到所在的定义上
- f 分割窗口并跳转到光标所在的文件名上
- F 分割窗口并编辑光标所在的文件名, 然后跳转到文件名后给出的行号上
方括号命令
g 开头的命令
z 开头的命令
操作符等待模式
可视模式
可视模式下大多数命令同普通模式的相同
命令行编辑
使用 ':'、'!'、'/' 或 '?' 命令进入命令行编辑
终端作业模式
Ex 命令
:buffers:cd:chd[ir]:clo[se]:colo[rscheme]:di[splay]显示寄存器:e[dit]:files:h[elp]:his[tory]:ls列出所有的缓冲区:new:o[pen]:q[uit]:qa[ll]:r[ead]:reg[isters]:res[ize]:ret[ab]:s[ubstitute]查找和替代文本:se[t]:sp[lit]:tabnew:tabs:tab:ta[g]:tags:vs[plit]:w[rite]:wa[ll]:wq:wqa[ll]:x[it]:xa[ll]同:wqall
map
- 普通、可视、选择和操作符等待
- n 普通
- v 可视和选择
- s 选择
- x 可视
- o 操作符等待
- ! 插入和命令行
- i 插件
- l 插入、命令行和 Lang-Arg 模式的 ":lmap" 映射
- c 命令行
- t 终端作业
修饰符
- S Shift
- C Ctrl
- A Alt
- T Meta
- D Super/Command
操作符
参考
