55. 高级文本编辑器 - Vim 的编辑模式
程序员文章站
2024-03-24 14:17:34
...
开篇词
除了末行模式,vim 同时还提供了编辑模式,两者相辅相成。
我们继续使用我们先前创建的测试内容。
保存并退出文件
vim vim_file # 打开文件并做一些改动
ZZ # 按下 Shift 键并双击 Z 键,保存改动并退出文件
搜索
这里编辑模式中的两种搜索方式:
命令 | 用途 |
---|---|
?PATTERN |
向上匹配,按下 N 来继续向上查找。 |
?PATTERN |
向下匹配,按下 n 来继续向上查找。 |
向下搜索
我们使用 /
符号来向下查找指定的内容:
/so # 向下查找
向下查找 so 的内容:
向上搜索
我们使用 ?
符号来向上查找指定的内容:
?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 管理员手册:既简单又深刻》
上一篇: 虚拟内存管理
下一篇: 51. 文件权限 - 文件属性
推荐阅读
-
55. 高级文本编辑器 - Vim 的编辑模式
-
adb小技巧之实现近似vim编辑器功能编辑android系统内部的文本文件
-
详解Linux常用命令的用法(二)————文本编辑器命令vi/vim
-
linux下文本编辑器vim的使用方法(复制、粘贴、替换、行号、撤销、多文件操作)
-
后台eWebEditor文本编辑器ie10不能用的解决方法(兼容模式)
-
后台eWebEditor文本编辑器ie10不能用的解决方法(兼容模式)
-
Linux学习笔记(九)Vim文本编辑器的使用
-
文本编辑器 vi/vim 的使用
-
Ubuntu 18.04中的Vim编辑器的高级配置
-
详解Linux常用命令的用法(二)————文本编辑器命令vi/vim