Vim 的操作指南

本文最后更新于 2025年8月14日 星期四 10:51

Vim 的四个模式

Vim 常用的四个模式:

  1. 正常模式 (Normal-mode)
  2. 插入模式 (Insert-mode)
  3. 命令模式 (Command-mode)
  4. 可视模式 (Visual-mode)

我们在使用 Vim 操作文本的时候,编辑区底部一般都会显示当前处于什么模式下(插入模式会有 INSERT 提示,可视模式会有 ViSUAL 的提示等)。

  • 正常模式:一般用于浏览文件,也包括一些复制、粘贴、删除等操作。这时击键时,一些组合键就是 Vim 的功能键,而不会在文本中键入对应的字符。启动 Vim 后默认位于正常模式。不论是什么模式,按一下 Esc 键(有时可能需要按两下),都会进入正常模式(命令模式或者可视模式下执行完操作以后,就会自动进入正常模式,如果进入命令模式或者可视模式没有执行任何操作)。

  • 插入模式:编辑状态。

  • 命令模式:在正常模式中,输入 : 或者 /,会进入命令模式。在命令模式中可以执行一些输入并执行一些 Vim 或插件提供的指令,就像在 shell 里一样。这些指令包括设置环境、文件操作、调用某个功能等等。

  • 可视模式:在正常模式按下 v 可以进入可视模式。可视模式中的操作有点像拿鼠标进行操作,选择文本的时候有一种鼠标选择的即视感,有时候会很方便。

打开文件

可以打开一个或多个文件:

1
2
vim <file>
vim <file1> <file2> ...

此时窗口只有第一个文件,可以使用 :ls 查看当前打开的文件清单,并使用 :b<n> 打开第 \(n\) 个文件,如 :b2 打开第二个文件。

分屏

分屏同时打开多个文件

1
2
vim -On <file1> <file2> ... <filen>
vim -on <file1> <file2> ... <filen>

-On 左右分屏,-on 上下分屏。

打开文件再分屏

先使用组合键 Ctrl + w,然后手指离开键盘,再按下 s 可以上下分割当前打开的文件(或 v 左右分割当前打开的文件)。

分屏打开更多文件

1
2
:sp <file>
:vsp <file>

这两个命令会上下(左右)分割当前文件和新打开的 file。

分屏后在文件间切换光标和移动分屏

  1. 切换左右分屏的光标: Ctrl + w h:将当前光标定位到左边的屏幕; Ctrl + w l:将当前光标定位到右边的屏幕。

  2. 移动左右分屏: Ctrl + w H:将当前分屏移动到左边; Ctrl + w L:将当前分屏移动到右边。

  3. 切换上下分屏的光标: Ctrl + w j:将当前光标移动到下面的分屏; Ctrl + w k:将当前光标移动到上面的分屏。

  4. 移动上下分屏: Ctrl + w J:将当前分屏移动到下面的分屏; Ctrl + w K:将当前分屏移动到上面的分屏。

关闭分屏

Ctrl + w c:关闭当前的分屏,但不能是最后一个分屏; Ctrl + w q:关闭当前的分屏,可以是最后一个分屏,同时将退出 Vim 。

Vim 的退出

  • :w:保存当前对文件的修改,但是不退出文件。
  • :w!:强制保存但是不退出文件。
  • :w <file>:保存当前的文件修改到 file 文件当中。
  • :q!:退出文件,对文件的修改不做保存。
  • :qa!:退出所有的文件,对所有的文件修改都不做保存。
  • :wq:xZZ :退出文件并保存对文件的修改。
  • :e <file>:打开另一个文件。
  • :e!:放弃对文件的所有修改,恢复文件到上次保存的位置。
  • :saveas <file>:另存为。
  • :bn:bp:当打开多个文件的时候可以进行上一个文件或者下一个文件的切换。

从正常模式进入插入模式

  • i :在光标所在的字符之前插入需要录入的文本。
  • I :在光标所在行的行首插入需要录入的文本。
  • a :在光标所在的字符之后插入需要录入的文本。
  • A :在光标所在行的行尾插入需要录入的文本。
  • o :在光标所在行后新建一行,开始录入文本。
  • O :在光标所在行前新建一行,开始录入文本、
  • s :删除光标所在处的字符后插入需要录入的文本。
  • S :删除光标所在行,在当前行的行首插入需要录入的文本。
  • cw :删除从光标处开始到该单词结束的所有字符后插入需要录入的文本。

常用快捷键

  1. 正常模式下,拷贝当前行 (yy) , 拷贝当前行向下的 5 行 (5yy),并粘贴 (p)。

  2. 正常模式下,删除当前行 (dd) , 删除当前行向下的 5 行 (5dd)。

  3. 命令模式下,在文件中查找某个单词,(/关键字),回车查找, 输入 (n) 就是查找下一个。

  4. 正常模式下,到达文档的最首行 (gg) 和最末行 (G)。

  5. 正常模式下,在一个文件中输入文字后,撤销这个动作 (u)。

  6. 正常模式下,将光标移动到第 5 行的方法: 第一步:输入5; 第二步:输入 Shift + g; 第三步:输入回车。

  7. 命令模式下,: set nu 显示文件的行号;:set nonu 取消文件的行号。


Vi/Vim 键盘图

图片出处

英文:http://www.viemu.com/a_vi_vim_graphical_cheat_sheet_tutorial.html

中文:http://blog.ngedit.com/vi-vim-cheat-sheet-sch.gif


Vim 的操作指南
https://blog.gtbcamp.cn/article/vim/
作者
Great Thunder Brother
发布于
2023年4月3日
更新于
2025年8月14日
许可协议