之前是直接照着这篇的配置的强大的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搜索/替换功能的两条配置的更多相关文章

  1. vim 正则替换功能

    最近使用vim的正则替换功能,非常强大 一个文件: ,, ,, ,, ,, ,, ,, ,, ,, ,, ,, 现在需要删除逗号前面的内容,那么在vim敲入命令: :%s/.*,//g 得到的结果是: ...

  2. 利用visual studio 搜索替换功能清除项目中javascript文件的debugger;

    在做web项目中,写js代码时候,会有一堆的debugger;,当时又懒得删,后面就多起来了,在vs的编辑器里面,其查找替换功能支持正则和整个项目/解决方案替换,这样就很容易删掉debugger;,方 ...

  3. 第11.23节 Python 中re模块的搜索替换功能:sub及subn函数

    一. 引言 在<第11.3节 Python正则表达式搜索支持函数search.match.fullmatch.findall.finditer>重点介绍了几个搜索函数,除了搜索,re模块也 ...

  4. 【sql】mysql数据库做两条数据替换的操作,不使用第三方变量

    需求: 1.将数据库中两条数据中的唯一约束列  做值的替换 原始思想: 将两条数据查出来,在程序中设置第三方变量,进行两条数据的替换,然后将原始两条数据删除,将新的两条替换后的数据插入. 新思想: 1 ...

  5. vim字符串替换及小技巧

    vi/vim 中可以使用 :s 命令来替换字符串.以前只会使用一种格式来全文替换,今天发现该命令有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询. :s/vivian/s ...

  6. shell入门-sed-2替换功能

    sed的替换功能和vim语法挺像的 把1到10行的nologin替换成login [root@wangshaojun ~]# sed '1,10s/nologin/login/g' 1.txt roo ...

  7. Vi/Vim查找,替换,统计使用方法

    Vi/Vim查找替换使用方法 vi/vim 中可以使用 :s 命令来替换字符串.该命令有很多种不同细节使用方法,可以实现复杂的功能,记录几种在此,方便以后查询. 可以使用 # 作为分隔符,此时中间出现 ...

  8. IDEA中的替换功能(替换代码中的变量名很好用哦)

    刚刚上班不久,这两天正在研究公司项目里面的代码,今天用阿里的插件扫描了一下代码,发现代码中有很多变量的命名,没有遵循驼峰式的命名规则.一开始我一个一个的修改这些变量名,后来无意中用了一下Ctrl+F( ...

  9. CASE WHEN 及 SELECT CASE WHEN的用法(写了一坨烂代码发现两条sql就行了, 哎)

    转自:http://blog.sina.com.cn/s/blog_4c538f6c01012mzt.html Case具有两种格式.简单Case函数和Case搜索函数. 简单Case函数 CASE  ...

随机推荐

  1. vue环境的搭建

    一.首先要安装nodejs : 别去官网下,慢的要死,这是国内的什么版本都有.地址 这是我下载的. 然后就傻瓜式安装. 验证是否安装成功 二.node.js的环境变量的新建.  //我安装的路径是D: ...

  2. SQL SERVER 导入、导出数据到Exce(使用OpenRowset,、OpenDataSource函数)以及访问远程数据库(openrowset/opendatasource/openquery)

    启用Ad Hoc Distributed Queries 在使用openrowset/opendatasource前搜先要启用Ad Hoc Distributed Queries服务,因为这个服务不安 ...

  3. UI-基本控件的简单使用

    1.IBAction:   //====================== 1> 能保证方法可以连线 2> 相当于void 2.IBOutlet: 1> 能保证属性可以连线 3.常 ...

  4. SpringInAction--面向切片的Spring以及如何使用注解创建切面

    什么叫做切片..什么叫做AOP... 与大多数技术一样,AOP已经形成了自己的术语.描述切面的常用术语有通知(advice).切点(pointcut)和连接点(join point). (一大串书上的 ...

  5. 关于TCP/IP协议

    TCP的特点: TCP是面向连接的传输层协议 TCP的传输是可靠传输 TCP是全双工的通信 TCP的连接是点对点的传输 TCP和UDP的区别 tcp是面向连接的,两台主机的通信之前必须通过三次握手建立 ...

  6. MySQL学习(一): MySQL的初步操作与命令

    启动与关闭: 用管理员身份运行cmd 启动:net start mysql57 其中mysql57是我的MySQL名称,版本不同名称可能不一样 关闭:net stop mysql57 与上面同理 登录 ...

  7. EFM32 ARM+ KEIl program

    1Hardware connection When using the EFM32 starter kit to make a JLINK burn, you must connect the con ...

  8. CString与输入输出流对象问题。

    在C++ 编程出现:cin>>Id;没有与这些操作匹配的">>"运算符: 你要看你的Id的数据类型,如果是CString等字符串,要用cin.getline ...

  9. 两个init方法的区别

    容器创建了Servlet实例后,它将调用实例的init(ServletConfig)方法初始化Servlet.该方法的参数ServletConfig对象包含了在WEB应用程序的部署描述文件中指定的初始 ...

  10. iOS限制输入表情(emoji),出现九宫格不能输入的解决方法

    在提交数据发送网络请求,由于用户输入了emoji表情,服务端返回系统异常,体验感很差.为了解决服务器不能验证emoji编码的问题,需要在本地进行emoji的输入控制(一般情况应该由服务器在数据库中添加 ...