关于vim搜索/替换功能的两条配置

之前是直接照着这篇的配置的强大的vim配置文件

自己也只是对vim新建文件修改文件的哪个函数SetTitle()做了点修改,毕竟用vim只写C/C++和python、shell。

没想到今天在用vim自带正则替换功能时出了问题

:%s/from/to/g

命令模式下这行是把当前行字符串中的from全部替换成to,结果竟然只替换了第1处。搜了半天理论上是对的,于是很疑惑。

刚才试着去掉后面的g,反而全部替换了。

目测是vim配置的问题,于是打开vimrc翻了下,注释了这句

set gdefault

就恢复正常了,貌似是说默认带g(global,全局替换),但是反而加了g之后就只能替换一处……真是无力吐槽

然后也把忽略大小写的一行给注释了

set ignorecase

有时候图方便类名称和对象名称只有首字母大小写区别,到时候要改对象名时如果忽略大小写,前面的类名也改了·。·

话说折腾完YouCompleteMe插件后还是挺好用的,代码补全和跳转两大功能用得很舒服。刚开始对于全局函数做不到提示输入参数,后来发现用Ctrl+Space就可以提示输入参数。但是很多代码只能跳转到声明,看不到定义。Visual Assist X也是这样,估计是没导入源码文件夹,这个以后要看源码的时候再折腾下。

然后批量改变量名字这个,单个文件的话直接用vim命令行的搜索替换功能就行,多个文件替换暂时还不会,搜了下貌似先用grep取得要替换文件名,但是取得行号又是个问题,全局替换也存在一定风险,而且还很麻烦。也是到时候再说吧。

原文地址:https://www.cnblogs.com/Harley-Quinn/p/6361904.html