9

次のような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 のターミナル バージョンを使用しています。

4

4 に答える 4

19

使用\1... ここのウィキを参照してください: http://vim.wikia.com/wiki/Search_and_replace

より明示的に:

%s:/#page-site-index \(.toolbar .items\)/#page-site-index \1, #page-site-login \1/g
于 2013-03-27T15:47:18.487 に答える
2

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
于 2013-03-27T15:50:16.397 に答える
2

\(...\)あなたの試みでは、正規表現の興味深い部分をすでにグループ化しています。これらのキャプチャされたサブマッチを置換パーツ内で参照するには\1\2、 などを使用します。番号は、最初の (開いた) キャプチャ グループを左から右に参照します。一致したテキスト全体の\0==もあります。&詳細については、を参照:help /\1してください。

于 2013-03-27T16:02:12.703 に答える
0

最初:に get into コマンド モードを入力します。次に、次のコマンドを発行します。

%s/#page-site-index .toolbar .items/#page-site-index .toolbar, #page-site-login
.toolbar .items/

フォーマットは気にしないでください。stackoverflow マークダウン パーサーが原因です。

于 2013-03-27T15:47:38.050 に答える