Skip to content
On this page

Vim 命令之文本编辑命令汇总

介绍 Vim 三种操作模式和文本编辑命令。包括 Vim 插入模式插入字符,行尾、行首插入,删除一个字符和删除整行命令,Vim 复制和粘贴命令,Vim 替换输入以及撤销和反撤销命令,Vim 保存和另存为文件,显示 Vim 当前编辑文件名等。

我们使用编辑器的常用文件操作主要是:插入删除复制粘贴替换撤销保存另存为

在介绍 Vim 上述基本文件操作命令前,需要先介绍下 Vim 的操作模式。因为 Vim 的各种文件操作命令需要在不同操作模式下使用

Vim 三种操作模式

Vim 编辑器常用的操作模式一共有 3 种,分别为普通模式(默认)、插入模式命令行模式。这 3 种模式的转换关系如下图所示。

推荐阅读 Vim 5 种操作模式详解及切换方法Vim 替换模式和虚拟替换模式获取更多关于 Vim 模式相关的介绍。

普通模式 (Normal mode)

Vim 普通模式是 Vim 的默认操作模式,当使用 Vim 命令打开一个文件时,默认进入的就是普通模式。不管用户处于何种模式,只要按下 Esc 键就可回到普通模式。

插入模式 (Insert mode)

只有在 Vim 插入模式 (也称编辑模式 (input mode)) 下,才能将键盘键入的内容输入到当前打开的文件中。

在 Vim 普通模式下输入插入命令 i (insert)、附加命令 a (append)、打开命令 o(open)、修改命令 c(change)、取代命令 r 或替换命令 s 等都可以进入插入模式。

命令行模式 (Command mode)

Vim 命令行模式 (也称尾行模式 (last line mode)) 主要用于保存文件或退出 Vim,同时也可以设置编辑环境和一些编译工作,如列出行号(set nu)、寻找字符串(/target) 等。

在 Vim 普通模式下按冒号键 : 即可进入命令行模式下,此时 Vim 会在显示窗口的最后一行显示一个 : 作为 Vim 命令行模式的提示符,等待用户输入命令。

Vim 文本编辑命令

插入

普通模式下按以下按键可进入插入模式,执行插入操作,具体包括:

  1. 从光标当前所在位置的【】一个字符处开始插入:i
  2. 从光标当前所在位置的【】一个字符处开始插入:a
  3. 从光标当前所在行的【行首】处开始插入:I
  4. 从光标当前所在行的【行尾】处开始插入:A
  5. 从光标当前所在行的【下一行】处开始插入:o
  6. 从光标当前所在行的【上一行】处开始插入:O

删除

普通模式下按以下按键可执行删除操作,具体包括:

  1. 删除光标位置的【一个】字符:x
  2. 删除当前光标所在【】:dd
  3. 删除从光标所在位置到当前【行首】的内容:d0
  4. 删除从光标所在位置到当前【行尾】的内容:d$
  5. 删除从光标所在位置到当前【单词结束】部分的内容并进入插入模式:cwcW
  6. 删除从光标所在位置到当前【单词开始】部分的内容并进入插入模式:cbcB
  7. 删除从光标所在位置到当前【单词结束】部分的内容但进入插入模式:dwdW
  8. 删除从光标所在位置到当前【单词开始】部分的内容但进入插入模式:dbdB

:

(1) Vim 的命令中,0 表示行首,$ 表示行尾,更多内容可参考 Vim 教程网上的Vim 操作范围、文件范围介绍。 (2) w (word)、b (back) 命令用于光标移动,具体可参考vim 教程网(https://vimjc.com) 上的博客:vim 光标移动命令汇总。 (3) cWcBdWdB 命令操作的单词是以空白字符 (空格、Tab) 分隔的字符串。

  1. 删除当前【句子】从光标位置开始到【句末】的内容:d)
  2. 删除当前【句子】从光标位置开始到【句首】的内容:d(
  3. 删除当前【段落】从光标位置开始到【段末】的内容:d}
  4. 删除当前【段落】从光标位置开始到【段首】的内容:d{

:Vim 命令中用 () 表示句子,{} 表示段落。

复制、粘贴

普通模式下按以下按键可执行复制、粘贴操作,具体包括:

  1. 复制从光标所在位置到当前【单词结束】部分的内容:yw
  2. 复制光标所在【】的所有字符 (包含换行符):yy
  3. 将最后一次删除或复制操作的文本内容粘贴到光标所在字符之【】:p
  4. 将最后一个删除或复制操作的文本内容粘贴到光标当前字符之【】:P

yyp 操作可以实现复制一整行内容到当前所在行的下一行。

替换

普通模式下按以下按键后,再输入字符可替换原始文件中的内容。

  1. 替换光标当前所在字符一次r
  2. 一直替换光标所在字符,直到按下[ESC]键为止:R

删除、复制操作的操作单位可以加操作次数,操作对象的范围为:操作次数 * 操作单位。

例如d3w 命令表示删除三个单词,10dd 命令表示从光标所在行开始删除后面的十行,更多内容可以参考Vim 中的操作符和动作命令

撤销、反撤销

普通模式下可执行撤销操作,具体包括:

  1. 撤销最近的一次操作:u
  2. 恢复最近的一次操作 (取消撤销):<Ctrl-r> (表示同时按下 Ctrl 键和 r 键)

:多次执行 u 命令可以连续撤销最近的操作。

保存

命令行模式下执行以下命令可保存当前编辑的文件内容

  1. 保存当前编辑的文件::w
  2. 保存当前编辑的文件并退出 vim::wq
  3. 强制将当前编辑的文件保存::w!

推荐阅读《Vim 怎么保存文件》获取更多关于使用 Vim 保存文件的方法。

另存为

命令行模式下执行命令 :write a.txt 可将 Vim 当前打开的文件另存为新文件 a.txt。

此外,:saveas b.txt (缩写形式 :sav a.txt) 也可将当前打开的文件另存为新文件 a.txt。

显示当前文件名

Vim 普通模式下,组合命令 <Ctrl-g> 可显示当前编辑文件名及行数,可以在不退出 Vim 的情况下了解当前编辑文件的信息,更多内容,可参考30 个 Vim 常用命令和使用技巧


Vim 入门级文件编辑命令就先介绍到这里了,更多 Vim 文件编辑命令和 Vim 相关操作可阅读 Vim 教程网 上的其他博客。