在 Vim 中怎样替换每行第二个出现的指定字符?

比如:
aaa,bbb,ccc,ddd
eee,fff,ggg,hhh
iii,jjj,kkk,lll

怎样把b, f, j后面的逗号改成引号?

    如果排列对齐的话,用ctrl+v选中那个逗号,然后按r再按引号,就会全部替换成引号了;

    如果不整齐,可以用录制的方法:

qa02f,r"jq

细说下这串的意思:

    "qa",是指进入录制模式,并以a命名这段录制;

    "02f,",是指光标跳到行首,寻找第二个逗号;

    "r"",r是替换,所以是把逗号替换成引号;

    "jq",光标移到下一行,并退出录制模式,这样一段录制就好了;

然后,就可以把光标移到要修改的行,然后按@a重放一遍录制就行了。

温馨提示:内容为网友见解,仅供参考
第1个回答  2016-04-13
vi/vim 中可以使用 :s 命令来替换字符串
:s/,/‘/ 替换当前行第一个 ,改为 '
:s/,/‘/ g 替换当前行所有 , 为 '
推荐你多去《Linux就该这么学》这个网站上学习,多看看相关技术文章,多练习,祝早日学有所成。本回答被网友采纳
第2个回答  2016-04-13
宏的替换不错!
相似回答