Vim查找、替换与删除常用命令
查找与替换
- 在文档中向后查找单词:/pattern,按n查找下一处,按N查找上一处。
- 在文档中向前查找单词:?pattern,按n查找下一处(向前),按N查找上一处。
- 精确匹配:/\<pattern>。
- 高亮单词:gd
- 文档中替换:%s/pattern/new_pattern/gc,%表示全部文档,g表示全局替换,c表示替换前需要确认,所有的pattern会被替换为new_pattern
- :s/pattern/new_pattern/ :替换当前行的第一个pattern
- :s/pattern/new_pattern/g :替换当前行的所有pattern
- :n,$s/pattern/new_pattern/ :替换第n行开始到文件尾中每一行的第一个pattern
- :n,$s/pattern/new_pattern/g :替换第n行开始到文件结尾中每一行的所有pattern
5.如果替换的字符串为空,则为删除原字符串
删除
-
光标所在行:dd
-
删除从光标所在行开始的n行:dnd,比如:d2d 会删除光标所在行及其后1行,共删除2行
-
删除从光标所在行到文件结尾:dG(G表示跳转到文件尾部)
-
删除从光标行到文件头:dgg(gg表示跳转到文件头)
-
删除从光标位置到尾行:d$ ($表示跳转到尾行)
-
删除从光标位置到行头:d0(数字0表示跳转到行头)
-
删除从光标位置到单词(word)尾:dw
-
删除文档中所有匹配的行: :g/pattern/d , 其中pattern为要匹配的内容
-
删除指定行中的匹配行: :1,10g/pattern/d,删除第1-10行里匹配pattern的行
-
删除不包括指定内容的行: :v/pattern/d 或者 :g!/pattern/d ,删除所有不包含pattern的行