前言
本文记录Vim
下一些常用的查找与替换操作。
查找(Search)
查找模式通过/
或?
开启,输入查找字符串后按<Enter>
回车键进入即可查找,按<Esc>
退出键退出查找模式。
如果查找到多个匹配项,可通过查找下一个n
与查找上一个N
来回跳转。
查找后,查找到的字符串会高亮反显出来(默认,可通过配置文件修改),输入:noh
或再搜索一枚文件中不存在的字符串就可以取消高亮。
在查找命令中加入\c
表示大小写不敏感查找,\C
表示大小写敏感查找。
查找命令支持正则表达式。
查找示例
Command | Description |
---|---|
/word | 正向(上)查找目标字符串 |
?word | 反向(下)查找目标字符串 |
查找操作示例
替换(Substitute)
替换操作通过:s
(substitute)命令进入,基本格式如下:
:[range] s[ubstitute]/{pattner}/{string}/[flags]
作用范围(range)
命令的开始,写上替换操作的作用范围。
%
: 全文n, m
: 第n
行至第m
行.
: 当前行$
: 最后行., $
: 当前行至最后一行., +n
: 当前行至其后n
行'<,'>
:Visual
选择模式下得到的选区范围(输入:
)
替换标识符(substitute)
写好范围后接上一个s
,指明这是一个替换操作。
分隔符(/)
替换命令一般以/
作为分隔符,也可以使用其他符号,同行命令中所用分隔符需要一至。
查找目标(pattner)
你需要替换的原字符串。
替换内容(string)
替换后字符串。
标志位(flags)
[空]
: 仅替换查找到的第一项(如果有多个匹配项)g
: 全局替换(把所有查找到的匹配项都替换掉)i
: 忽略大小写I
: 大小写敏感(默认)c
: 交互式操作(y
确认,n
取消,a
全部替换,q
退出)
替换示例
Command | Description |
---|---|
:%s/word1/word2/g | 全文查找并替换字符串 |
:n1,n2s/word1/word2/g | 第n1行至n2行查找并替换字符串 |
:%s/\n/\r\n/g | 将全文中的UNIX换行符替换为MS-DOS换行符 |
替换操作示例
参考资料
- vim 帮助文档(
:help :s
)