微信号:rigongyizu365

介绍:一线码农不端不装的「日拱一卒」,关注技术、书籍、创业、GTD、以及一切个人成长周边的话题,每周一到五更新.

Vim中的搜索与替换

2015-07-05 20:34 lazybios

Vim中的搜索与替换

搜索

Vim中最快捷的搜索方法是通过*#,来查找光标处单词,通过n向下一个搜索结果跳转,N向上一个搜索结果跳转。

另一比较通用的办法是通过在Normal模式,键入/,后面跟上要查找的内容,ex: /hello,查找打开文本中的所有hello字符

需要注意的是如果你需要查找一个带有/的字串内容,那么你需要预先通过转义字符\(反斜杠)来做处理。

替换

替换在Vim中的命令是:s/,具体格式是:[替换范围]s/原字符串/新字符串/[参数]

命令 解释
:s/xxx/yyy/ 替换当前行中第一个xxx为yyy
:s/xxx/yyy/g 替换当前行中所有xxx为yyy
:s/xxx/yyy/gc 同上,但替换之前会做询问
:%s/xxx/yyy/g 替换当前文档中所有xxx为yyy
:5,10s/xxx/yyy/g 替换当前文档第5~10行内的所有xxx为yyy

上面的命令中我比较常用到后面两个,通过这两个命令也可以变通的实现前3个的效果。

需要说明的是,如果原字符串或替换内容中有/,则除了可以像搜索那样通过转义字符来处理外,还可以通过修改/间隔符为其它字符,例如:%s@/xxx/yyy/g,效果跟:%s/xxx/yyy/g是一样的(也可以变@#)。

辅助设置

搜索内容高亮

set hls 开启高亮
set nohls 关闭高亮

环绕搜索

默认的情况,通过nN可以在搜索结果之间来回跳转,但不能直接从结果末尾跳到结果头,通过set wrapscan设置后,可以直接从头上翻到末尾,也可以从结果末尾直接下翻到头部。

上面两项可以直接写到.vimrc中,免去重复设置。

参考引用

http://t.cn/RLwlrHl
http://t.cn/RLwlgUq


 
日拱一卒 更多文章 使用Retry处理异常的套路 | Ruby 视图的使用 101 | MySQL 使用存储过程 | MySQL 触发器的使用 | MySQL 什么是康威定律 | 三分钟
猜您喜欢 Go 性能优化技巧 10\/10 给HR的10个锦囊妙计 第6期安卓就业班毕业工作日22天,就业率66.27%,最高薪资12K 【七夕必备】如何利用数据分析找到女朋友? HTTPS 的两三事