私は以下のようないくつかの行がありますので、私はvimの中でそれを行うには、次のコマンドを使用しvimの補充問題
aaa=$aaa
bbb=$bbb
ccc=$ccc
ddd=$ddd
、私:
aaa
bbb
ccc
ddd
私は彼らがこのように変更することにしたいがエラー
:s/\(\^*\)/\1=\$\1/
を持って、私はここ\1
を実現2回使用することができませんでした、そして、私はこれをどのようにしたらよいでしょうか?
私は以下のようないくつかの行がありますので、私はvimの中でそれを行うには、次のコマンドを使用しvimの補充問題
aaa=$aaa
bbb=$bbb
ccc=$ccc
ddd=$ddd
、私:
aaa
bbb
ccc
ddd
私は彼らがこのように変更することにしたいがエラー
:s/\(\^*\)/\1=\$\1/
を持って、私はここ\1
を実現2回使用することができませんでした、そして、私はこれをどのようにしたらよいでしょうか?
バックリファレンス\1
は、何度でも使用できますが、別の問題があります。あなたの正規表現は、そのようになります。
:%s/^\(.*\)/\1=\$\1/
説明:%
は、すべての行に置き換えるためにVimを伝えます。行の先頭のマークとして^
は、正規表現の最初の文字にする必要がありますし、エスケープしないでください。 .*
は、「任意の回数の任意の文字」を意味します。しかし、元の式\(\^*\)
は、リテラル文字^
(noneを含む)の繰り返しの数を検索します。
行全体の内容を一致させる場合は、\(...\)
を使用して^
アンカーもキャプチャも必要ありません。置き換えでは、\0
またはそれ以下の&
を使用できます。 (また、そこに$
をエスケープする必要はありません)
:%s/.*/&=$&
私の問題は解決しました、ありがとう! :) – user1726366