Vim 命令之文本编辑命令汇总
INFO
介绍 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 文本编辑命令
插入
在普通模式下按以下按键可进入插入模式,执行插入操作,具体包括:
- 从光标当前所在位置的【前】一个字符处开始插入:
i - 从光标当前所在位置的【后】一个字符处开始插入:
a - 从光标当前所在行的【行首】处开始插入:
I - 从光标当前所在行的【行尾】处开始插入:
A - 从光标当前所在行的【下一行】处开始插入:
o - 从光标当前所在行的【上一行】处开始插入:
O
删除
在普通模式下按以下按键可执行删除操作,具体包括:
- 删除光标位置的【一个】字符:
x - 删除当前光标所在【行】:
dd - 删除从光标所在位置到当前【行首】的内容:
d0 - 删除从光标所在位置到当前【行尾】的内容:
d$ - 删除从光标所在位置到当前【单词结束】部分的内容并进入插入模式:
cw、cW - 删除从光标所在位置到当前【单词开始】部分的内容并进入插入模式:
cb、cB - 删除从光标所在位置到当前【单词结束】部分的内容但不进入插入模式:
dw、dW - 删除从光标所在位置到当前【单词开始】部分的内容但不进入插入模式:
db、dB
注:
(1) Vim 的命令中,0 表示行首,$ 表示行尾,更多内容可参考 Vim 教程网上的Vim 操作范围、文件范围介绍。 (2) w (word)、b (back) 命令用于光标移动,具体可参考vim 教程网(https://vimjc.com) 上的博客:vim 光标移动命令汇总。 (3) cW、cB、dW、dB 命令操作的单词是以空白字符 (空格、Tab) 分隔的字符串。
- 删除当前【句子】从光标位置开始到【句末】的内容:
d) - 删除当前【句子】从光标位置开始到【句首】的内容:
d( - 删除当前【段落】从光标位置开始到【段末】的内容:
d} - 删除当前【段落】从光标位置开始到【段首】的内容:
d{
注:Vim 命令中用 ( 和 ) 表示句子,{ 和 } 表示段落。
复制、粘贴
在普通模式下按以下按键可执行复制、粘贴操作,具体包括:
- 复制从光标所在位置到当前【单词结束】部分的内容:
yw - 复制光标所在【行】的所有字符 (包含换行符):
yy - 将最后一次删除或复制操作的文本内容粘贴到光标所在字符之【后】:
p - 将最后一个删除或复制操作的文本内容粘贴到光标当前字符之【前】:
P
注:yyp 操作可以实现复制一整行内容到当前所在行的下一行。
替换
在普通模式下按以下按键后,再输入字符可替换原始文件中的内容。
- 替换光标当前所在字符一次:
r - 一直替换光标所在字符,直到按下[ESC]键为止:
R
删除、复制操作的操作单位可以加操作次数,操作对象的范围为:操作次数 * 操作单位。
例如:d3w 命令表示删除三个单词,10dd 命令表示从光标所在行开始删除后面的十行,更多内容可以参考Vim 中的操作符和动作命令。
撤销、反撤销
在普通模式下可执行撤销操作,具体包括:
- 撤销最近的一次操作:
u - 恢复最近的一次操作 (取消撤销):
<Ctrl-r>(表示同时按下 Ctrl 键和 r 键)
注:多次执行 u 命令可以连续撤销最近的操作。
保存
在命令行模式下执行以下命令可保存当前编辑的文件内容
- 保存当前编辑的文件:
:w - 保存当前编辑的文件并退出 vim:
:wq - 强制将当前编辑的文件保存:
: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 教程网 上的其他博客。