之前是直接照着这篇的配置的强大的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. Element-UI 实现下拉树

    组件调用 <template> <!-- 行模式 --> <el-form inline> <el-form-item label="inline ...

  2. Mycat跨分片Join

    1 前言 Mycat目前版本支持跨分片的join,主要实现的方式有四种. 全局表 ER分片 HBT(参考MyCAT人工智能解决跨分片SQL.docx) ShareJoin ShareJoin在开发版中 ...

  3. laravel中Crypt加密方法

    使用Crypt::encrypt对数据进行加密,要引入 use Illuminate\Support\Facades\Crypt;;  对使用Crypt::encrypt加密的数据进行解密的方法时:C ...

  4. Algorithm2: 重复查过半数的元素

    数组中,有一个元素的值在数组中重复的个数是超过一半,获得元素超过一半的元素值 int MoreThanHalfNumber(int * arr, int n){                  in ...

  5. Algorithm1: 全排列

    全排列 思想:      这是一个全排列问题,需要使用递归实现,将数组中的所有元素和第一个元素交换,求后面n-1个元素的全排列.      按照这个条件递归下去,知道元素的个数只有一个的时候,输出所有 ...

  6. linux oracle11g 数据 导入到10g数据库

    说明: 原用户名和密码:test/test  目标用户名和密码:test01/test 11G 服务器: 1.创建dmp文件存储目录 # mkdir -p /tmp/backup # sqlplus ...

  7. 左边的div导航根据右部div内容的高自动调整

    div结构如下: <div class="mainbody"> <div class="left">导航</div> < ...

  8. vue.js 源代码学习笔记 ----- observe

    参考 vue 2.2.6版本 /* @flow */ //引入订阅者模式 import Dep from './dep' import { arrayMethods } from './array' ...

  9. Java基础拾遗(一)

    (尊重劳动成果,转载请注明出处:http://blog.csdn.net/qq_25827845/article/details/76358391冷血之心的博客) 马上就要秋招了,新的一轮笔试面试马上 ...

  10. 将安防IPC摄像机进行类似于萤石/乐橙/360水滴模式的互联网直播的几种方案

    前言 在维护EasyDarwin开源项目的几年内,几乎市面上大大小小的技术需求都给接触了一遍,大团队.大背景有大需求,草根团队有草根团队的需求,然而这些需求近些年都有一个发展的趋势,那就是" ...