移动
以字(符)为单位
以单词为单位
  
    
      | 功能 | 按键 | 
  
  
    
      | 前一个单词尾 | ge | 
    
      | 后一个单词首 | w | 
    
      | 本单词首(已在本词首则跳到前一单词首) | b | 
    
      | 本单词尾(已在本词尾则跳到后一单词尾) | e | 
  
以屏幕为单位
  
    
      | 功能 | 按键 | 
  
  
    
      | 向下翻页 | CTRL-f | 
    
      | 向上翻页 | CTRL-b | 
    
      | 向下翻半页 | CTRL-d | 
    
      | 向上翻半页 | CTRL-u | 
    
      | 向上一行 | CTRL-y | 
    
      | 向下一行 | CTRL-e | 
    
      | 光标移到屏幕上方 | H | 
    
      | 光标移到屏幕中间 | M | 
    
      | 光标移到屏幕下方 | L | 
    
      | 光标所在位置移到屏幕上方 | zt | 
    
      | 光标所在位置移到屏幕中间 | zz | 
    
      | 光标所在位置移到屏幕下方 | zb | 
  
行号
  
    
      | 功能 | 按键 | 
  
  
    
      | 跳到第 num 行 | :num或numG或numgg | 
  
文件
编辑
复制
  
    
      | 功能 | 按键 | 
  
  
    
      | 复制光标所在单词 | yiw | 
    
      | 复制光标所在行 | yy | 
  
粘贴
  
    
      | 功能 | 按键 | 
  
  
    
      | 在光标之后粘贴 | p | 
    
      | 在光标之前粘贴 | P | 
  
剪切
  
    
      | 功能 | 按键 | 
  
  
    
      | 剪切选中区域 | d | 
    
      | 剪切光标所在行 | dd | 
  
替换
  
    
      | 功能 | 按键 | 
  
  
    
      | 将全文中的 str1 替换为 str1 | :%s/str1/str2/g | 
    
      | 将 1 到 5 行中的 str1 替换为 str2 | :1,5/str1/str2/g | 
  
大小写
  
    
      | 功能 | 按键 | 
  
  
    
      | 将选中内容大小写互换 | ~ | 
    
      | 将选中内容全转为小写 | gu | 
    
      | 将选中内容全转为大写 | gU | 
    
      | 将当前行变成小写 | guu | 
    
      | 将当前行变成大写 | gUU | 
  
选择
  
    
      | 功能 | 按键 | 
  
  
    
      | 选中上一次选择的区域 | gv | 
    
      | 选中括号内区域 | vi{、vi[、vi( | 
  
搜索
  
    
      | 功能 | 按键 | 
  
  
    
      | 向下查找字符串 | /str | 
    
      | 向上查找字符串 | ?str | 
    
      | 查找下一个 | n | 
    
      | 查找上一个 | N | 
    
      | 向下查找光标所在单词 | * | 
    
      | 向下查找光标所在单词 | # | 
  
正则表达式
  
    
      | 功能 | 按键 | 
  
  
    
      | 匹配单词左边界 | \< | 
    
      | 匹配单词右边界 | \> | 
    
      | 去重 | :g/^\(.*\)$\n\1/d | 
  
常用
  
    
      | 功能 | 按键 | 
  
  
    
      | 删除空行 | :g/^$/d | 
    
      | 撤销/UNDO | u | 
    
      | 重做/REDO | C-r | 
    
      | 统计行/单词/字符/字节数 | g C-g | 
  
全局
  
    
      | 功能 | 按键 | 
  
  
    
      | 退出 | :q | 
    
      | 强制执行 | ! | 
    
      | 执行外部命令 | :! | 
  
文件操作
  
    
      | 功能 | 按键 | 
  
  
    
      | 打开 | :e | 
    
      | 打开文件对话框 | :bro e | 
    
      | 保存 | :w | 
    
      | 另存为对话框 | :bro w | 
    
      | 查看历史文件列表 | :ol | 
    
      | 查看并打开历史文件 | :bro ol | 
    
      | 重命名当前文件 | :f filename | 
  
vimdiff
  
    
      | 功能 | 按键 | 
  
  
    
      | 移动到上一个不同处 | [c | 
    
      | 移动到下一个不同处 | ]c | 
    
      | 该差异点使用当前文件的 | dp | 
    
      | 该差异点使用其它文件的 | do | 
    
      | 手动刷新重新比较 | :diffupdate | 
  
Buffer
  
    
      | 功能 | 按键 | 
  
  
    
      | 查看 Buffer 列表 | :ls | 
    
      | 转到 Buffer 列表中的下一个 Buffer | :bn | 
    
      | 转到 Buffer 列表中的上一个 Buffer | :bp | 
    
      | 转到 Buffer 列表中的 num 号 Buffer | :bnum | 
    
      | 你之前待过的一个 Buffer | :b# | 
    
      | 从 Buffer 列表中删除 num 号 Buffer | :bdnum | 
  
组合命令
可以使用 | 来组合命令,比如 cmd1 | cmd2。
代码
  
    
      | 功能 | 按键 | 
  
  
    
      | 格式化代码 | gg=G | 
    
      | 去除 1-20 行首的行号 | :1,20s/^\\s\*[0-9]\*\\s\*//g | 
    
      | 展开全部折叠 | zR | 
    
      | 展开当前层级折叠 | zr | 
    
      | 全部折叠 | zM | 
    
      | 当前层级折叠 | zm | 
    
      | 切换折叠/展开 | za | 
    
      | 递归折叠/展开当前大区块 | zA | 
    
      | 折叠当前区块 | zc | 
    
      | 递归折叠当前大区块 | zC | 
    
      | 展开当前区块 | zo | 
    
      | 递归展开当前大区块 | zO | 
    
      | 格式化 json 数据 | :%!python -m json.tool | 
    
      | 缩进当前行 | >> | 
    
      | 反缩进当前行 | << | 
  
插件
CtrlP
基础按键 C-p
  
    
      | 功能 | 按键 | 
  
  
    
      | 刷新列表 | F5 | 
    
      | 切换文件/缓冲区/MRU | C-f/b | 
    
      | 切换全路径搜索/文件名搜索 | C-d | 
    
      | 切换正则表达式模式 | C-r | 
    
      | 上/下一个选项 | C-k/j | 
    
      | 在新标签/垂直分割/水平分割打开文件 | C-t/v/x | 
    
      | 历史选择记录的上/下一条 | C-p/n | 
    
      | 创建文件和它的父路径 | C-y | 
    
      | 标记并打开多个文件 | C-z C-o | 
    
      | 退出 CtrlP | C-c | 
  
LeaderF
  
    
      | 功能 | 按键 | 
  
  
    
      | 打开文件 | Leader-f | 
    
      | 打开缓冲区 | Leader-b | 
    
      | 打开 MRU | Leader-m(自定义的) | 
    
      | 退出 | C-c | 
    
      | 切换模糊查找和正则查找 | C-r | 
    
      | 粘贴 | C-v | 
    
      | 清空输入 | C-u | 
    
      | 上/下一个选项 | C-k/j | 
    
      | 在新标签/垂直分割/水平分割打开文件 | C-t/]/v | 
    
      | 刷新列表 | F5 | 
  
vim-table-mode
  
    
      | 功能 | 按键 | 
  
  
    
      | 删除列 | Leader-tdc | 
    
      | 删除行 | Leader-tdd | 
    
      | 重新格式化表格 | Leader-tr |