Vim 常用命令与快捷键

jumplist

每个非行内移动,及除 w,e,f,t,j,k 等移动命令之外的转移都称为跳转。

:jumps 显示跳转列表
`` 在前后位置间转移
‘’ 跳转至前一位置的行首
`m 跳至标记处
‘m 跳至标记处行首
C-O 上一位置
C-I 下一位置

scrolling

z<CR> zt 滚至顶部 z. zz 滚至中间 z- zb 滚至底部

quickfix-window

:ccl 关闭quickfix窗口

location-window

:lcl 关闭location窗口

buffers

  1. 文件缓冲:即被载入内存的文件,可以有三种状态:活动,
  2. 窗口:缓冲的一个视图。
  3. 标签页:窗口的集合。

缓冲保存了文件的内容,标记,设置等属性,它是 Vim 中一个十分重要的概念,可按如下三类对其进行划分:

类别 特征 标记
活动的 已载入内存且当前可见 ‘a’
隐藏的 已载入内存但当前无窗口指向它 ‘h’
非活动的 当前文件并未被载入内存 ‘’

缓冲相关命令:

:buffers             # 显示所有缓冲
:ls                  # 同上
:hide                # 隐藏缓冲
:buffer [n] or name  # 打开某缓冲
:sbuffer             # 水平分片打开缓冲
:bdelete [n] or name # 删除缓冲
C-^     切换buffer

缓冲标志:

u      未列举
 %     当前缓冲
 #     备择缓冲(该标志可直接用于命令行)
  a    激活缓冲
  h    隐藏缓冲
   =   只读
   -   不可修改
    +  已做修改

窗口

<C-W>s 水平新建 <C-W>v 垂直新建 <C-W>n 新建空白 <C-W>^ 水平新建,并打开备择文件

<C-W>_ 横向最大 <C-W>= 等长宽 <C-W>|  纵向最大

正常模式

  • 搜索当前字

# 反向搜索当前字 <C-G> 显示当前文件信息 <C-^> 显示上个文件 (alternate file/buffer) <C-]> 跳至标签 <C-T> 返回标签

视觉模式

gv 重选上次选择区域

插入模式

C-A 重复插入上次插入内容 C-@ 插入某寄存器内内容 C-O 切换至命令模式输入命令 C-C 推出插入模式

自动补全

C-Y 结束补全 C-E 撤销已补全内容

CTRL-X CTRL-L 整行 CTRL-X CTRL-N 当前文件内的关键字 CTRL-X CTRL-K ‘dictionary’的关键字 CTRL-X CTRL-T ‘thesaurus’的关键字,同义词风格 CTRL-X CTRL-I 当前和头文件内的关键字 CTRL-X CTRL-] 标签 CTRL-X CTRL-F 文件名 CTRL-X CTRL-D 定义或宏 CTRL-X CTRL-V Vim命令 CTRL-X CTRL-U 用户定义的补全 CTRL-X CTRL-O Omni补全 CTRL-X s 拼写建议