在vi/vim中搜索字符串并添加行
我试图编辑一个配置文件,并希望在匹配特定字符串时添加一行特定的代码(在换行符上)…我搜索的所有内容都是搜索和替换,我正在搜索和附加…在在vi/vim中搜索字符串并添加行,vim,vi,Vim,Vi,我试图编辑一个配置文件,并希望在匹配特定字符串时添加一行特定的代码(在换行符上)…我搜索的所有内容都是搜索和替换,我正在搜索和附加…在vim\r中是新行。所以你可以这样做 %s/search string/&\rnew code/ 这就是我要做的: :g/specific string/s/.*/&specific line of code g命令获取包含特定字符串的所有行,然后将s替换命令应用于这些行。s命令将整行替换为其内容加上特定代码行 HTH我个人认为,对于这个问题,
vim
\r
中是新行。所以你可以这样做
%s/search string/&\rnew code/
这就是我要做的:
:g/specific string/s/.*/&specific line of code
g
命令获取包含特定字符串的所有行
,然后将s
替换命令应用于这些行。s
命令将整行替换为其内容加上特定代码行
HTH我个人认为,对于这个问题,使用“:g”命令可能比使用“:s”命令要好
:g/key/norm owhat ever you want
将生成文本:
foo
bar
key
foo2
bar2
key2
blah
致:
如果要在包含图案的行上方添加新行,只需将小的“o”更改为“o”。进行说明。使用替换符号时,是否将其附加?或者它是否包含您要替换的行,以便可以用“%s/search string/\rnewcode&/”作为前缀?@Jaypal
%s/^.*search string.*$/&\rnew code/
可能更好?你的可能会打破原来的界线。例如,如果行是“search string=xyz”或“foosearch string=barsearch string”\r
则是替换字符串中的新行。在搜索模式中,\n
是新行。@如果设置了自动缩进
选项,则volatirestorm&
符号插入的搜索命中率优于norm o
是放置你想要的任何东西
,norm o
和norm o
可能的优点是,它们将使用与您搜索的行相同的缩进。
foo
bar
key
what ever you want
foo2
bar2
key2
what ever you want
blah