Skip to content
26/04/23 03:55:52

Vim 操作命令

以下是一些常用的 Vim 操作命令,适用于在 Vim 编辑器 中进行快速编辑、导航和保存操作:

1. 进入/退出 Vim

  • vim filename:打开文件。
  • :q:退出(如果未修改)。
  • :q!:强制退出且不保存修改。
  • :wq:保存并退出。

2. 插入模式(用于输入文本)

  • i:在光标前插入。
  • a:在光标后插入。
  • I:在行首插入。
  • A:在行尾插入。
  • o:在当前行下方新建一行并进入插入模式。
  • O:在当前行上方新建一行并进入插入模式。

3. 移动光标

  • h:左移一个字符。
  • j:下移一行。
  • k:上移一行。
  • l:右移一个字符。
  • 0:移动到行首。
  • $:移动到行尾。
  • G:跳转到文件末尾。
  • gg:跳转到文件开头。
  • nG:跳转到第 n 行。

4. 删除与撤销

  • x:删除当前光标下的字符。
  • dd:删除整行。
  • dw:删除一个单词。
  • d$:从光标处删除至行尾。
  • u:撤销上一次操作。
  • Ctrl + r:重做上一次撤销的操作。

5. 复制与粘贴

  • yy:复制当前行。
  • yw:复制一个单词。
  • p:在光标后粘贴。
  • P:在光标前粘贴。

6. 查找与替换

  • /pattern:向下查找 pattern
  • ?pattern:向上查找 pattern
  • n:继续查找下一个匹配项。
  • N:反向继续查找。
  • :s/old/new:替换当前行第一个匹配的 oldnew
  • :%s/old/new/g:全局替换所有匹配项。

7. 其他常用命令

  • .:重复上一次更改操作。
  • r:替换当前光标下的单个字符。
  • R:进入替换模式(覆盖原有内容)。 - v:进入字符选择模式。 - V:进入行选择模式。 - Ctrl + [ Esc:退出插入模式回到正常模式。

明白了!以下是一份 Vim 操作口诀表,用简短的语句帮你记忆常用操作:

口诀命令含义
打开文件写代码vim filename打开指定文件
退出不改别留恋:q未修改时退出
强退不存加感叹:q!不保存强制退出
存盘退出用 wq:wq保存并退出
插入模式记清楚进入编辑状态
光标前插按 ii在光标前插入
光标后插按 aa在光标后插入
行首插入用 II快速在行首插入
行尾插入用 AA快速在行尾插入
下一行插入按 [o](file://d:\code\my-theme\node_modules\estree-walker\types\tsconfig.tsbuildinfo)[o](file://d:\code\my-theme\node_modules\estree-walker\types\tsconfig.tsbuildinfo)当前行下新建行并插入
上一行插入按 OO当前行上新建行并插入
光标移动靠方向控制你的位置
h、下 j、上 [k](file://d:\code\my-theme\node_modules\lodash-es\flake.lock)、右 [l](file://d:\code\my-theme\node_modules@iconify\types\pnpm-lock.yaml)h j k l四个方向键替代方向键
行首快到按 0(零)0移动到当前行开头
行尾快到按 $$移动到当前行末尾
文件头用 gggg跳转到文件开头
文件尾用 GG跳转到文件末尾
指定行跳用 nGnG跳转到第 n 行
删除撤销要熟练修改和恢复
单字符删用 [x](file://d:\code\my-theme\node_modules\lodash-es\flake.nix)[x](file://d:\code\my-theme\node_modules\lodash-es\flake.nix)删除当前字符
整行删除按 dddd删除当前行
删除单词按 dwdw删除一个单词
删到行尾用 d$d$从光标处删除到行尾
撤销一步按 uu撤销上一次操作
重做一步 Ctrl + rCtrl + r重做被撤销的操作
复制粘贴很简单拷贝和粘贴
复制整行按 yyyy复制当前行
复制单词按 ywyw复制一个单词
粘贴内容按 [p](file://d:\code\my-theme\node_modules@algolia\client-abtesting\dist\builds\fetch.js.map)[p](file://d:\code\my-theme\node_modules@algolia\client-abtesting\dist\builds\fetch.js.map)在光标后粘贴
粘贴内容前用 PP在光标前粘贴
查找替换有技巧搜索与替换
向下查 /pattern/pattern查找 pattern
向上查 ?pattern?pattern反向查找 pattern
查下一个按 [n](file://d:\code\my-theme\node_modules@algolia\client-common\package.json)[n](file://d:\code\my-theme\node_modules@algolia\client-common\package.json)继续查找匹配项
查上一个按 NN反向继续查找
替换单次 :s/old/new:s/old/new替换当前行第一个匹配项
全部替换 :%s/old/new/g:%s/old/new/g替换全文所有匹配项
其他命令记心头小技巧
重复操作用 [.](file://d:\code\my-theme\basic\git\vim操作.md)[.](file://d:\code\my-theme\basic\git\vim操作.md)重复上一次更改
替换单字按 [r](file://d:\code\my-theme\node_modules\katex\src\fonts\makeBlacker)[r](file://d:\code\my-theme\node_modules\katex\src\fonts\makeBlacker)替换当前字符
进入替换按 RR进入覆盖模式
字符选择用 vv进入字符选中模式
整行选择用 VV进入行选中模式
退出编辑按 EscCtrl+[ Esc / Ctrl+[ 返回正常模式

夏月影,风悠扬...