这个命令
%s#^#/*
和这个命令
%s#$#*/
在ubuntu 14.04上的vi编辑器中工作正常,当我一个接一个地执行它们时.
我需要的是在一行中执行它们
%s#^#/* <bar> %s#$#*/
我也试过了和;和CR作为分隔符,总是得到错误488尾随字符
最佳答案 在我的vim 7.4补丁769中,这非常有效.
:%s/foo/FOO/ | %s/bar/BAR/
看起来你已经从你的替换中省略了最后的分隔符. Vim不知道你的替换字符串在哪里结束而没有终止#chars.当执行一个替换的常规命令时,如果找不到一个替换,vim将命令的结尾视为终止分隔符.
例如,如果在命令的最后一次替换中省略了终止符,则它可以工作:
:%s/foo/FOO/ | %s#bar#BAR
最后一个关于你的潜艇的快速提示.您可以使用一些基本捕获组魔法替换单个替换文本中的一行.匹配整条生产线并使用&在替换中重用匹配的文本:
:s#.*#/* & */