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 + → |
光标移到单词结尾位置或者后一个单词的结尾位置 |