本篇讲 vim 的增删改查、
增删改查可以说是 vim 的核心操作,利用好每一个命令能够超级节省时间。比如我们在编辑器里删除一个单词,通常是移动到单词的后面利用退格键删除,这样是非常慢的,利用 vim 快速删除呢,只需要 dw 一下就可以了。
所以本篇也是 vim 学习的重点章节,是从 vim 入门新手 到 晋级高手 的重要内容。
本节重点
vim 增加字符的操作
直接进入 insert 模式即可
normal 模式下快速删除
x: 快速删除一个字符
daw:快速删除一个单词及周围空格
dw:同 daw,简写
diw:快速删除一个单词,保留周围空格
dd:快速删除当前一行
(n)d/x: 搭配数字(n)来指定删除操作执行多少(n)次
(n)dd:快速删除 n 行
dt(m): delete to m,即删除光标当前位置到 m 之间的内容,通常用来清空例如 ( ),{ },[ ] 等
d$:快速删除到行尾
d0:快速删除到行首(向前删除)
normal 模式下快速修改
r:利用 r (replace)快速替换一个字符例如 ra 即将当前光标字符改为 a
caw:删除当前单词并进入 insert 模式
ct(m):删除当前光标到字符 m 并进入 insert 模式
s:normal 模式下,删除当前字符并进入 insert 模式 (substitute)
R:进入 insert 模式随着输入不断的往下替换
S:删除整行并进入 insert 模式
normal 模式下查询操作
/ :向前检索
?:向后检索
n:跳转到下一个匹配
N:跳转到上一个匹配
*:当前单词向前匹配
#:当前单词向后匹配
vim 搜索批量替换
:[range]s[ubstitute]/{pattern}/{strings}/[flags]
- range 表示范围,如 :10,20 表示 10-20行,% 表示全部
- substitute 表示检索命令
- pattern 表示需要替换的文本 ,<pattern>表示精确匹配
- strings 表示替换后的文本
- flags 替换标志,类似于正则表达式,如 g(globe)全局替换 ,c(confirm)每次替换前确认或者拒绝修改,n(number)展示匹配次数而不替换