关于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取得要替换文件名,但是取得行号又是个问题,全局替换也存在一定风险,而且还很麻烦。也是到时候再说吧。
关于vim搜索/替换功能的两条配置的更多相关文章
- vim 正则替换功能
最近使用vim的正则替换功能,非常强大 一个文件: ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, 现在需要删除逗号前面的内容,那么在vim敲入命令: :%s/.*,//g 得到的结果是: ...
- 利用visual studio 搜索替换功能清除项目中javascript文件的debugger;
在做web项目中,写js代码时候,会有一堆的debugger;,当时又懒得删,后面就多起来了,在vs的编辑器里面,其查找替换功能支持正则和整个项目/解决方案替换,这样就很容易删掉debugger;,方 ...
- 第11.23节 Python 中re模块的搜索替换功能:sub及subn函数
一. 引言 在<第11.3节 Python正则表达式搜索支持函数search.match.fullmatch.findall.finditer>重点介绍了几个搜索函数,除了搜索,re模块也 ...
- 【sql】mysql数据库做两条数据替换的操作,不使用第三方变量
需求: 1.将数据库中两条数据中的唯一约束列 做值的替换 原始思想: 将两条数据查出来,在程序中设置第三方变量,进行两条数据的替换,然后将原始两条数据删除,将新的两条替换后的数据插入. 新思想: 1 ...
- vim字符串替换及小技巧
vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/s ...
- shell入门-sed-2替换功能
sed的替换功能和vim语法挺像的 把1到10行的nologin替换成login [root@wangshaojun ~]# sed '1,10s/nologin/login/g' 1.txt roo ...
- Vi/Vim查找,替换,统计使用方法
Vi/Vim查找替换使用方法 vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. 可以使用 # 作为分隔符,此时中间出现 ...
- IDEA中的替换功能(替换代码中的变量名很好用哦)
刚刚上班不久,这两天正在研究公司项目里面的代码,今天用阿里的插件扫描了一下代码,发现代码中有很多变量的命名,没有遵循驼峰式的命名规则.一开始我一个一个的修改这些变量名,后来无意中用了一下Ctrl+F( ...
- CASE WHEN 及 SELECT CASE WHEN的用法(写了一坨烂代码发现两条sql就行了, 哎)
转自:http://blog.sina.com.cn/s/blog_4c538f6c01012mzt.html Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE ...
随机推荐
- 验证email是否合法
https://buluo.qq.com/p/detail.html?bid=339910&pid=6675390-1514450689&from=grp_sub_obj 场景1:验证 ...
- T-sql 中 truncate 、delete与drop操作数据库的区别
1.truncate和不带where子句的delete.以及drop都会删除表内的数据. 2.drop.truncate都是DDL语句(数据定义语言),执行后会自动提交. 具体使用语法如下: --删除 ...
- 在创建一个MVC控制器,显示运行所选代码生成器时出错(带读写,使用EF)
在创建一个MVC控制器,在Controllers文件夹选择添加->控制器,如下图: 显示运行所选代码生成器时出错 解决方法: 第一步:Install-Package Microsoft.aspn ...
- three.js入门系列之材质
一.基础网孔材料 MeshBasicMaterial 图示(光源是(0,1,0)处的点光源): 二.深度网孔材料 MeshDepthMaterial (由于只是改了材料名,代码将不重复贴出) 在这里, ...
- HAWQ + MADlib 玩转数据挖掘之(五)——奇异值分解实现推荐算法
一.奇异值分解简介 奇异值分解简称SVD(singular value decomposition),可以理解为:将一个比较复杂的矩阵用更小更简单的三个子矩阵的相乘来表示,这三个小矩阵描述了大矩阵重要 ...
- printf格式输出数字,位数不够前面补0,适用与输出编号
printf格式输出数字,位数不够前面补0,适用与输出编号 printf格式输出:%[flags][width][.perc][F|N|h|l]type 用到了flags中的 0 (注意是零不是欧) ...
- libcurl使用认证证书 https认证
在server.xml中增加下面的内容: ciphers="SSL_RSA_WITH_RC4_128_SHA" 下面是libcurl 的测试代码: #include <std ...
- 如何定位BAD_ACCESS
1.访问了野指针,比如对一个已经释放的对象执行了release.访问已经释放对象的成员变量或者发消息. 死循环 如何调试BAD_ACCESS错误 1.重写object的respondsToSelect ...
- fedora 26 Mysql
安装 Fedora用dnf默认安装的使Mariadb,即 [*****@localhost ~]$ sudo dnf install mysql-server ... [*****@localhost ...
- (转载)从MVC到前后端分离
摘要:MVC模式早在上个世纪70年代就诞生了,直到今天它依然存在,可见生命力相当之强.MVC模式最早用于Smalltalk语言中,最后在其它许多开发语言中都得到了很好的应用,例如,Java中的Stru ...