欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

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

程序员文章站 2024-03-24 14:17:34
...

开篇词

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

保存并退出文件

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

 

搜索

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

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

向下搜索

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

/so    # 向下查找

向下查找 so 的内容:
55. 高级文本编辑器 - Vim 的编辑模式

向上搜索

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

?li    # 向上查找

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

光标移动

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

基于字符

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

命令 用途
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 管理员手册:既简单又深刻