https://vim.rtorr.com/lang/zh_cn/
全局
- :help keyword@H_403_18@ - 打开关键字帮助
- :o file@H_403_18@ - 打开文件
- :saveas file@H_403_18@ - 另存为
- :close@H_403_18@ - 关闭当前窗口
- K@H_403_18@ - open man page for word under the cursor
光标
- h@H_403_18@ - 左移光标
- j@H_403_18@ - 下移光标
- k@H_403_18@ - 上移光标
- l@H_403_18@ - 右移光标
- H@H_403_18@ - 移动到当前页面顶部
- M@H_403_18@ - 移动到当前页面中间
- L@H_403_18@ - 移动到当前页面底部
- w@H_403_18@ - 移动到下个单词开头
- W@H_403_18@ - 移动到下个单词开头(单词含标点)
- e@H_403_18@ - 移动到下个单词结尾
- E@H_403_18@ - 移动到下个单词结尾(单词含标点)
- b@H_403_18@ - 移动到上个单词结尾
- B@H_403_18@ - 移动到上个单词结尾(单词含标点)
- %@H_403_18@ - move to matching character (default supported pairs: '()','{}','[]' - use
:h matchpairs
in vim for more info) - 0@H_403_18@ - 移动到行首
- ^@H_403_18@ - 移动到行首的非空白符
- $@H_403_18@ - 移动到行尾
- g_@H_403_18@ - 移动到行内最后一个非空白符
- gg@H_403_18@ - 移动到文件第一行
- G@H_403_18@ - 移动到文件最后一行
- 5G@H_403_18@ - 移动到第五行
- fx@H_403_18@ - 移动到字符 x 下次出现的位置
- tx@H_403_18@ - 移动到字符 x 下次出现的位置的前一个字符
- }@H_403_18@ - 移动到下一个段落 (当编辑代码时则为函数/代码块)
- {@H_403_18@ - 移动到上一个段落 (当编辑代码时则为函数/代码块)
- zz@H_403_18@ - 移动屏幕使光标居中
- Ctrl@H_403_18@ + b@H_403_18@ - 向后滚动一屏
- Ctrl@H_403_18@ + f@H_403_18@ - 向前滚动一屏
- Ctrl@H_403_18@ + d@H_403_18@ - 向前滚动半屏
- Ctrl@H_403_18@ + u@H_403_18@ - 向后滚动半屏
插入模式 - 插入/追加文本
编辑
- r@H_403_18@ - 替换当前字符
- J@H_403_18@ - 将下一行合并到当前行
- cc@H_403_18@ - 清空当前行,然后进入插入模式
- cw@H_403_18@ - 从光标位置开始,修改单词
- c$@H_403_18@ - 从光标位置开始,修改当前行
- s@H_403_18@ - 删除当前字符,然后进入插入模式
- S@H_403_18@ - 清空当前行,然后进入插入模式 (同cc@H_403_18@)
- xp@H_403_18@ - 当前字符后移
- u@H_403_18@ - 撤销
- Ctrl@H_403_18@ + r@H_403_18@ - 重复
- .@H_403_18@ - 再次执行上个命令
选择文本(可视化模式)
- v@H_403_18@ - 进入可视化模式,移动光标高亮选择,然后可以对选择的文本执行命令(比如y@H_403_18@-复制)
- V@H_403_18@ - 进入可视化模式(行粒度选择)
- o@H_403_18@ - 切换光标到选择区开头/结尾
- Ctrl@H_403_18@ + v@H_403_18@ - 进入可视化模式(矩阵选择)
- O@H_403_18@ - 切换光标到选择区的角
- aw@H_403_18@ - 选择当前单词
- ab@H_403_18@ - 选择被 () 包裹的区域(含括号)
- aB@H_403_18@ - 选择被 {} 包裹的区域(含花括号)
- ib@H_403_18@ - 选择被 () 包裹的区域(不含括号)
- iB@H_403_18@ - 选择被 {} 包裹的区域(不含花括号)
- Esc@H_403_18@ - 退出可视化模式
可视化模式命令
寄存器
Tip 寄存器被存储在 ~/.viminfo 中,在下次重启vim时仍会加载
Tip 寄存器 0 存储上一次复制的值
标记
- :marks@H_403_18@ - 标记列表
- ma@H_403_18@ - 设置当前位置为标记 a
- `a@H_403_18@ - 跳转到标记 a 的位置
- y`a@H_403_18@ - 复制当前位置到标记 a 的内容
宏
剪切,复制,粘贴
- yy@H_403_18@ - 复制当前行
- 2yy@H_403_18@ - 复制 2 行
- yw@H_403_18@ - 复制当前单词
- y$@H_403_18@ - 复制,从光标位置到行末
- p@H_403_18@ - 在光标后粘贴
- P@H_403_18@ - 在光标前粘贴
- dd@H_403_18@ - 剪切当前行
- 2dd@H_403_18@ - 剪切 2 行
- dw@H_403_18@ - 剪切当前单词
- D@H_403_18@ - 剪切,从光标位置到行末
- d$@H_403_18@ - 剪切,从光标位置到行末 (同D@H_403_18@)
- x@H_403_18@ - 剪切当前字符
退出
- :w@H_403_18@ - 保存
- :w !sudo tee %@H_403_18@ - 使用 sudo 保存当前文件
- :wq@H_403_18@ or :x@H_403_18@ or ZZ@H_403_18@ - 保存并退出
- :q@H_403_18@ - 退出(修改未保存时警告)
- :q!@H_403_18@ or ZQ@H_403_18@ - 不保存强制退出
查找/替换
- /pattern@H_403_18@ - 查找pattern@H_403_18@
- ?pattern@H_403_18@ - 向上查找pattern@H_403_18@
- \vpattern@H_403_18@ - pattern@H_403_18@ 中的非字母数字字符被视为正则表达式特殊字符 (不需转义字符)
- n@H_403_18@ - 查找下一个
- N@H_403_18@ - 查找上一个
- :%s/old/new/g@H_403_18@ - 替换全部
- :%s/old/new/gc@H_403_18@ - (逐个)替换
- :noh@H_403_18@ - 移除搜索结果的高亮显示
多文件搜索
e.g.
:vimgrep /foo/ **/*@H_403_18@
多文件
- :e file@H_403_18@ - 新建缓冲区打开 filename
- :bnext@H_403_18@ or :bn@H_403_18@ - 切换到下个缓冲区
- :bprev@H_403_18@ or :bp@H_403_18@ - 切换到上个缓冲区
- :bd@H_403_18@ - 关闭缓冲区
- :ls@H_403_18@ - 列出所有打开的缓冲区
- :sp file@H_403_18@ - 新建缓冲区打开 filename 并水平分割窗口
- :vsp file@H_403_18@ - 新缓冲区打开 filename 并垂直分割窗口
- Ctrl@H_403_18@ + ws@H_403_18@ - 水平分割窗口
- Ctrl@H_403_18@ + ww@H_403_18@ - 在窗口间切换
- Ctrl@H_403_18@ + wq@H_403_18@ - 关闭窗口
- Ctrl@H_403_18@ + wv@H_403_18@ - 垂直分割窗口
- Ctrl@H_403_18@ + wh@H_403_18@ - 切换到右侧窗口
- Ctrl@H_403_18@ + wl@H_403_18@ - 切换到左侧窗口
- Ctrl@H_403_18@ + wj@H_403_18@ - 切换到下侧窗口
- Ctrl@H_403_18@ + wk@H_403_18@ - 切换到上侧窗口
标签
- :tabnew@H_403_18@ or :tabnew file@H_403_18@ - 在新标签中打开文件
- Ctrl@H_403_18@ + wT@H_403_18@ - 将窗口变成标签
- gt@H_403_18@ or :tabnext@H_403_18@ or :tabn@H_403_18@ - 切换到下一个标签
- gT@H_403_18@ or :tabprev@H_403_18@ or :tabp@H_403_18@ - 切换到上一个标签
- #gt@H_403_18@ - 切换到第 #@H_403_18@ 个标签
- :tabmove #@H_403_18@ - 移动标签到第 #@H_403_18@ 位(下标从 0 开始)
- :tabclose@H_403_18@ or :tabc@H_403_18@ - 关闭当前标签
- :tabonly@H_403_18@ or :tabo@H_403_18@ - 关闭其他标签
- :tabdo@H_403_18@ command - 在所有标签中执行命令 (例如 :tabdo q@H_403_18@ 关闭所有标签)