vim 很多指令或者快捷键是大小写敏感。
命令终端界面滚屏
| 快捷键 | 说明 |
|---|
Fn + ← | 向上滚屏到开始处 |
Fn + → | 向下滚屏到末尾处 |
Fn + ↑ | 向上分页滚屏 |
Fn + ↓ | 向下分页滚屏 |
Fn + Command + ← | 向上滚屏到开始处 |
Fn + Command + → | 向下滚屏到末尾处 |
Fn + Command + ↑ | 向上分页滚屏 |
Fn + Command + ↓ | 向下分页滚屏 |
命令终端页签切换
| 快捷键 | 说明 |
|---|
Shift + Command + ← | 切换到前一个页签 |
Shift + Command + → | 切换到后一个页签 |
Shift + Command + [ | 切换到前一个页签 |
Shift + Command + ] | 切换到后一个页签 |
Ctrl + Tab | 切换到后一个页签 |
Shift + Ctrl + Tab | 切换到前一个页签 |
缓存区切换/文件切换
| 快捷键 | 说明 |
|---|
Ctrl + o | 切换到前一个缓存区(缓存的通常是文件) |
Ctrl + i | 切换到后一个缓存区 |
Shift + Ctrl + ^ | 这不是 ex 指令,是组合快捷键。打开最近一次编辑的文件,效果与 e # 相同,切换到最近缓冲区的文件中 |
这个组合键的行为好像可以通过 :set switchbuf=[option] 进行设置,具体没有研究过,参考帮助说明 :h switchbuf
分割窗口/打开新窗口
| 快捷键 | 说明 |
|---|
Ctrl + w + s | 水平切分当前窗口,并在新窗口仍旧显示当前文档。这样的组合键也可以写成这样的格式:<C-w>s,C 表示 Ctrl,w 就是字母 w 按键,s 就是 s 字母按键,<> 和连字符 - 表示这是组合键 |
Ctrl + w + v | 垂直切分当前窗口,并在新窗口仍旧显示当前文档 |
Ctrl + w + n | 以水平分割当前窗口的方式创建一个空的窗口,创建一个空的缓冲区 |
Ctrl + w + f | 水平分割当前窗口,并在新窗口中打开以光标所在位置的词为名称的文件 |
<C-w> <C-^> | 水平分割当前窗口,并在新窗口打开上一次编辑的文件。输入方法:先按下 Ctrl + w,再按 Shift + Ctrl + ^ |
按键说明:先按住 Ctrl 键不要松开,然后按下 w 键,然后两个键都松开后,再按后面的功能键,奇葩设计!
切换窗口
| 快捷键 | 说明 |
|---|
Ctrl + w + w | 循环切换窗口 |
Ctrl + w + h | 切换到左边窗口 |
Ctrl + w + l | 切换到右边窗口 |
Ctrl + w + k | 切换到上个窗口 |
Ctrl + w + j | 切换到下个窗口,如果是大写的 J 则会把当前窗口移到下面,即和下面的窗口调换位置,其它组合键估计也有类似的效果 |
Ctrl + w + t | 切换到最左上角的窗口,切换到最上面的窗口 |
Ctrl + w + b | 切换到最右下角的窗口,切换到最下面的窗口 |
Ctrl + w + p | 切换到上一个操作窗口 |
按键说明:先按住 Ctrl 键不要松开,然后按下 w 键,然后两个键都松开后,再按后面的功能键,奇葩设计!
移动/旋转/移出窗口
| 快捷键 | 说明 |
|---|
Ctrl + w + H | 把当前窗口移到左边,即和左边的窗口调换位置 |
Ctrl + w + L | 把当前窗口移到右边,即和右边的窗口调换位置 |
Ctrl + w + K | 把当前窗口移到上面,即和上面的窗口调换位置 |
Ctrl + w + J | 把当前窗口移到下面,即和下面的窗口调换位置 |
Ctrl + w + r | 旋转窗口的位置,不知道怎么旋转的!!! |
Ctrl + w + T | 将当前的窗口移动到新的标签页上 |
关闭窗口
| 快捷键 | 说明 |
|---|
Ctrl + w + o | 关闭除当前窗口外的所有窗口 |
Ctrl + w + q | 退出当前窗口 |
Ctrl + w + c | 关闭当前窗口,这种方式没有回收内存中的缓冲区,c 是 close 的缩写 |
按键说明:先按住 Ctrl 键不要松开,然后按下 w 键,然后两个键都松开后,再按后面的功能键,奇葩设计!
调整窗口大小
一次性调整:
| 快捷键 | 说明 |
|---|
Ctrl + w + = | 所有窗口等宽等高 |
Ctrl + w + _ | 当前窗口的高度最大化 |
Ctrl + w + | | 当前窗口宽度最大化 |
横向调整:
| 快捷键 | 说明 |
|---|
num + Ctrl + w + | | 当前窗口宽度设置为 num 列 |
Ctrl + w + < | 当前窗口减少 1 列 |
num + Ctrl + w + < | 当前窗口减少 num 列,类似于底行命令模式下的 vertical res -num |
Ctrl + w + > | 当前窗口增加 1 列 |
num + Ctrl + w + > | 当前窗口增加 num 列,类似于底行命令模式下的 vertical res +num |
纵向调整:
| 快捷键 | 说明 |
|---|
num + Ctrl + w + _ | 当前窗口高度设置为 num 行,类似底行命令模式下的 res num |
Ctrl + w + + | 当前窗口增加 1 行,纵向扩大,先按下 <C-w>,再按下 <Shift-=> 才行 |
num + Ctrl + w + + | 当前窗口增加 num 行,类似于底行命令模式下的 res +num |
Ctrl + w + - | 当前窗口减少 1 行,纵向缩小 |
num + Ctrl + w + - | 当前窗口减少 num 行,类似于底行命令模式下的 res -num |
按键说明:先按住 Ctrl 键不要松开,然后按下 w 键,然后两个键都松开后,再按后面的功能键,特别注意,像 +、<、> 这些字母需要结合 Shift 才能使用
底行命令模式下的编辑快捷键
注意这是在“底行命令模式”下输入命令时的快捷键,其实就像我们在 Shell 命令终端输入命令时经常使用的组合快捷键。
| 快捷键 | 说明 |
|---|
↑↓ | 上一条或者下一条命令。如果已经输入了部分命令,则找上一 条或者下一条匹配的命令 |
←→ | 左/右移一个字符 |
Ctrl + w | 向前删除一个单词 |
Ctrl + h | 向前删除一个字符,等同于 Backspace/Delete |
Ctrl + u | 将光标所在位置到命令行开头的内容删除,保留光标所在位置的字符 |
Ctrl + b | 移动到命令行开头。 |
Ctrl + e | 移动到命令行末尾。 |
Shift + ← | 光标移动到单词的首个字符处或者前一个单词的首个字符处 |
Shift + → | 光标移到单词结尾位置或者后一个单词的结尾位置 |