linux在vim下怎么批量替换或者注释?

如题所述

方法一 块选择模式

插入注释:

用v进入virtual模式


用上下键选中需要注释的行数


按Control+v(win下面ctrl+q)进入列模式

按大些“I”进入插入模式,输入注释符“#”或者是"//",然后立刻按下ESC(两下)


取消注释:


Ctrl + v 进入块选择模式,选中你要删除的行首的注释符号,注意// 要选中两个,选好之后按d即可删除注释


方法二 替换命令

批量注释:


使用下面命令在指定的行首添加注释:

:起始行号,结束行号s/^/注释符/g

取消注释:


:起始行号,结束行号s/^注释符//g

实例演示:


在27 - 30行添加 // 注释

:27,30s#^#//#g


在27 - 30行删除 // 注释

:27,30s#^//##g



在10 - 20行添加 # 注释

:10,20s/^/#/g

在10 - 20行删除 # 注释

:10,20s/^/#/g

注意例子中正则的分割符使用的是相反的符号,如果匹配// 那么使用 #作分隔符这样不需要对/作转义处理,节省输入次数。

方法二 替换命令

批量注释:


使用下面命令在指定的行首添加注释:

:起始行号,结束行号s/^/注释符/g

取消注释:


:起始行号,结束行号s/^注释符//g

实例演示:


在27 - 30行添加 // 注释

:27,30s#^#//#g


在27 - 30行删除 // 注释

:27,30s#^//##g



在10 - 20行添加 # 注释

:10,20s/^/#/g

在10 - 20行删除 # 注释

:10,20s/^/#/g

注意例子中正则的分割符使用的是相反的符号,如果匹配// 那么使用 #作分隔符这样不需要对/作转义处理,节省输入次数。

温馨提示:答案为网友推荐,仅供参考
第1个回答  2018-02-02
加注释:
光标移到行首,ctrl+v 按上下选择你的行数,shift+i,输入#,按esc就可以了

批量替换:
按esc,输入:%s/abc/123/g
这样替换abc成123,和sed一样的