vim搜索替换某些特定的行

Ran*_*nju 0 regex vim replace

Vim的替代命令:%s/old/new/g将取代所有出现oldnew.但我想只在不开头的行中进行替换#.我的意思是在我的文件中有一些以#开头的行(称为注释行),我想在搜索替换中排除它.有什么办法吗?

Tho*_*hel 9

你应该将它与g(参见help :global)命令混合:

:%g/^[^#]/s/old/new/
Run Code Online (Sandbox Code Playgroud)


Ken*_*ent 5

:v/^#/s/old/new
Run Code Online (Sandbox Code Playgroud)

应该做的工作.检查:h :v细节.