分页: 1 / 1

[求助][vim]怎样根据不同条件替换?

发表于 : 2012-04-22 3:21
flyeblue
如何实现:在一行开始如果有#这个符号就删除#,如果没有则在行首添加#

Re: [求助][vim]怎样根据不同条件替换?

发表于 : 2012-04-22 7:38
Strange
写程序要注释的话,推荐使用注释插件。

Re: [求助][vim]怎样根据不同条件替换?

发表于 : 2012-04-22 10:26
cao627
等 答案
分2步
先在每行添加一个#,然后再删除连续2个以上的##,不算吧

Re: [求助][vim]怎样根据不同条件替换?

发表于 : 2012-04-22 12:51
cjxgm

代码: 全选

:help script

Re: [求助][vim]怎样根据不同条件替换?

发表于 : 2012-04-22 12:53
fanhe
NERD_commenter.vim

Re: [求助][vim]怎样根据不同条件替换?

发表于 : 2012-04-22 15:35
rykka
如果你的意思是用一条语句进行替换的话.

代码: 全选

%s/\v^([^#])|(#)/\= empty(submatch(2)) ? "#".submatch(1) : ""/  
如果要注释多行的话还是用插件好

Re: [求助][vim]怎样根据不同条件替换?

发表于 : 2012-04-22 22:28
niejieqiang

Re: [求助][vim]怎样根据不同条件替换?

发表于 : 2012-04-23 22:50
aerofox
其实没必要跟自己较劲,非要一条语句不可。接受两条语句的话:

代码: 全选

:v/^#/s/^/##/
:%s/#//
如果空行不加 # 的话,第一条语句改为:

代码: 全选

:%s/[^#]/##&/