Vim 是从 vi 发展出来的一个文本编辑器。代码补全、编译及错误跳转等方便编程的功能特别丰富,在程序员中被广泛使用

在 WebStorm 中使用 Vim 操作,需要先安装 IdeaVim (opens new window) 插件

在 WebStorm 中 Vim 共分为四种模式,分别是普通模式可视模式插入模式命令模式

# 普通模式

在普通模式下,一般用于浏览文件,也可以使用组合键移动光标的位置,对文件内容进行复制、粘贴、替换和删除等操作

# 光标移动

# 翻页

  • control + d - 默认向下滚动半页
  • control + u - 默认向上滚动半页
  • control + f - 默认向上滚动一屏
  • control + b - 默认向下滚动一屏

# 移动

  • h - 将光标向左移动一个字符
  • l - 将光标向右移动一个字符
  • k – 将光标向上移动一行
  • j – 将光标向下移动一行
  • w – 光标跳到下一个单词的开头
  • b – 光标跳到单词的开头
  • 0 – 光标跳到行首
  • $ – 光标跳到行尾
  • e - 光标跳到单词的结尾

# 跳转

  • gg - 跳转到文件首行
  • ngg - 跳转到指定行
  • G - 跳转到文件最后一行
  • n+ – 光标从当前行往下跳 n
  • n- – 光标从当前行往上跳 n

# 搜索、替换

  • : - 进入搜索模式,输入搜索内容
  • n - 往下查找
  • N - 往上查找

# 删除、撤销、复制与粘贴

# 删除

  • dd - 删除光标所在行
  • ndd - 从光标所在行开始往下删除 n
  • d0 - 删除当前位置至行首
  • d$ - 删除当前位置至行尾
  • diw - 删除光标所在的单词,不管光标是在词首还是在词尾

# 撤销

  • u - 撤销当前操作
  • U - 撤销当前行上所有操作

# 复制、剪切与粘贴

  • yy - 复制当前行,包括换行符
  • y - 复制选中的内容
  • 3yy - 复制从光标所在的当前行开始的三行文本
  • y$ - 复制从光标位置至行尾的文本
  • y^ - 复制从光标位置至行首的文本
  • yw - 复制到下一个词的开头
  • yiw - 复制当前词
  • y% - 复制匹配符号范围内容。默认支持的符号对是 (){}[]
  • p - 将剪切板的内容粘贴到光标后面
  • np - 将剪切板的内容粘贴三次 d

# 可视模式

在可视模式下,可以选中一段文本,然后可以对选中的文本做一些操作。比如复制选中的文本

  • v – 高亮显示文本光标所在的字符
  • V – 高亮显示整行
  • d – 删除高亮显示文本
  • y – 复制高亮显示文本

# 插入模式

在输入模式下,Vim 对文件执行写操作,通过键盘输入内容。可以按 esc 返回普通模式

  • I - 在本行开头,进入插入模式
  • A - 在本行结尾,进入插入模式
  • i - 在光标之前,进入插入模式
  • a - 将光标移动到当前字符之后并进入插入模式
  • o - 在当前行下方插入新行并进入插入模式
  • O - 在当前行上方插入新行并进入插入模式
  • s - 删除当前字符,并进入插入模式
  • S - 删除当前行中的所有文本,并进入插入模式

# 命令模式

底线命令模式在内容编辑中用的很少,主要有下面的命令

  • :n - 代表跳转到第 n 行,如:98,就跳转到第 98
  • :w – 保存当前文件
  • :q - 退出 Vim
  • :wq - 保存当前文件并退出 Vim
  • :q! - 不保存文件直接退出 Vim

更多 Vim 学习资料请见 https://quickref.me/vim (opens new window)