我有一个CSS选择器,例如:
#page-site-index .toolbar .items {
我如何捕获“ .toolbar .items”部分并在Vim S&R的Replace部分中使用它,因此该选择器可以变成:
#page-site-index .toolbar .items, #page-site-login .toolbar .items {
类似:
%s:/#page-site-index \(.toolbar .items\)/#page-site-index (the captured string), #page-site-login (the captured string)/g
顺便说一句,我正在使用Vim的终端版本。
使用\1
...在此查看Wiki:http://vim.wikia.com/wiki/Search_and_replace
更明确:
%s:/#page-site-index \(.toolbar .items\)/#page-site-index \1, #page-site-login \1/g
在您的vim中尝试此命令:
%s/\v#(page-site-index )(\.toolbar \.items)/&, #page-site-login \2/g
您也可以使用\zs, \ze
但不分组:
%s/#page-site-index \zs\.toolbar \.items\ze/&, #page-site-login &/g
继续打高尔夫球,如果文字与您所提供的文字一样,您可以:
%s/#page-site-index \zs[^{]*\ze /&, #page-site-login &/g
您已经尝试通过\(...\)
对正则表达式的有趣部分进行了分组。要在替换零件中引用这些captured submatchs,请使用\1
,\2
等,其中数字从左到右表示第一个(打开的)捕获组。整个匹配的文本还有\0
== &
。有关更多信息,请参见:help /\1
。
首先输入:
进入命令模式。然后发出以下命令:
%s/#page-site-index .toolbar .items/#page-site-index .toolbar, #page-site-login
.toolbar .items/
不关心格式,这是因为stackoverflow markdown解析器。...