55. 高级文本编辑器 - Vim 的编辑模式

开篇词

除了末行模式,vim 同时还提供了编辑模式,两者相辅相成。
我们继续使用我们先前创建的测试内容。
 

保存并退出文件

vim vim_file    # 打开文件并做一些改动
ZZ    # 按下 Shift 键并双击 Z 键,保存改动并退出文件

搜索

这里编辑模式中的两种搜索方式:

命令 用途
?PATTERN 向上匹配,按下 N 来继续向上查找。
?PATTERN 向下匹配,按下 n 来继续向上查找。

向下搜索

我们使用 / 符号来向下查找指定的内容:

/so    # 向下查找

向下查找 so 的内容:
向下查找 so 的内容。

向上搜索

我们使用 ? 符号来向上查找指定的内容:

?li    # 向上查找

向上查找 li 的内容。
 

光标移动

这里是编辑模式中移动光标的一些命令:

基于字符

这里是基于字符的一些移动命令:

命令 用途
h 移动光标至左字符。
Nh 移动光标至往左数的第 N 个字符。
l 移动光标至右字符。
Nl 移动光标至往右数的第 N 个字符。
j 移动光标至上字符。
Nj 移动光标至往上数的第 N 个字符。
k 移动光标至下字符。
Nk 移动光标至往下数的第 N 个字符。

基于单词

这里是基于单词的一些移动命令:

命令 用途
b 移动光标至当前词或左词的起始位置。
Nb 移动光标至往左数的第 N 个词。
w 移动光标至右词。
Nw 移动光标至往右数的第 N 个词。
e 移动光标至当前词或右词的结束位置。
Ne 移动光标至往右数的第 N 个词。

基于行

这里是基于行的一些移动命令:

命令 用途
0 移动光标至行的起始位置。
^ 移动光标至行的非空白起始位置。
$ 移动光标至行的结束位置。

基于上下文

这里是基于上下文的一些移动命令:

命令 用途
NG 移动光标至第 N 行。

拷贝粘贴

这里是拷贝及粘贴内容的一些命令:

拷贝单词

命令 用途
yb 从左词起始位置来开始拷贝。
Nyb 从往左数第 N 个词的开头来开始拷贝。
yw 从右词起始位置来开始拷贝。
Nyw 从往右数第 N 个词的开头来开始拷贝。
ye 从右词结尾来开始拷贝。
Nye 从往右数第 N 个词的结尾来开始拷贝。

拷贝行

命令 用途
yy 拷贝光标所处的行。
Nyy 拷贝光标所处的行及其往后 N 行的内容。

粘贴单词

命令 用途
P 粘贴内容至光标前。
p 粘贴内容至光标后。

粘贴行

命令 用途
P 粘贴内容至光标所处行的上一下。
p 粘贴内容至光标所处行的下一行。

删除

这里是删除内容的一些命令:

删除字符

命令 用途
x 删除光标所处的字符。
Nx 删除光所处字符往右数的第 N 个字符。

删除单词

命令 用途
db 从左词起始位置来进行删除操作。
Ndb 从往左数第 N 个词的起始位置来进行删除操作。
dw 从右词起始位置来进行删除操作。
Ndw 从往右数第 N 个词的起始位置来进行删除操作。
de 从右词结尾来进行删除操作。
Nde 从往右数第 N 个词的结尾来进行删除操作。

删除行

命令 用途
dd 删除光标所处的行。
Nyy 删除光标所处的行及其往后 N 行的内容。

删除后切回插入模式

变更前删除单词

命令 用途
cb 从左词起始位置来进行删除操作。
Ncb 从往左数第 N 个词的起始位置来进行删除操作。
cw 从右词起始位置来进行删除操作。
Ncw 从往右数第 N 个词的起始位置来进行删除操作。
ce 从右词结尾来进行删除操作。
Nce 从往右数第 N 个词的结尾来进行删除操作。

变更前删除行

命令 用途
cc 删除光标所处的行。
Ncc 删除光标所处的行及其往后 N 行的内容。

替换

这里是替换内容的一些命令:

命令 用途
R 以输入的字符来替换光标所处位置的字符。
rC 以字符 C 来替换光标所处位置的字符。
NrC 以字符 C 来替换从光标所处位置开始至右边的 N 字符。

撤回、重做及最近操作复用

这里是撤回、重做及最近操作复用的一些命令:

命令 用途
u 撤回最近一次模式操作。
Nu 撤回最近第 N 次模式操作。
Ctrl + r 重做撤回的操作。
. 复用最近一次操作。

我所撰写的英文版本

55. Advanced Text Editor - Vim’s Edit Mode
 

引用

参见

上一篇:

想看手册的其他内容?请访问该手册的所属专栏:《Linux 管理员手册:既简单又深刻

发布了182 篇原创文章 · 获赞 12 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/stevenchen1989/article/details/104454319