"s#_decoded_block["
パターンを含む行をに置き換えようとしています"s#_decoded_block_"
。これに使用するコマンドは次のとおりです。
%s/s\d\+_decoded_block\[/s\d\+_decoded_block_/g
私は交換を期待しましたが、"s#_decoded_block_"
それが私が得たものです"sd+_decoded_block_"
。何が間違っているのか教えてください。
ベストアンサー1
質問の「#」が10進数であると予想しているようです。逆参照を使用してこれを行うことができます。
%s/s\(\d\+\)_decoded_block\[/s\1_decoded_block_/g
\(\d\+\)
1つ以上の10進数と一致し、それをtokensに置き換えます\1
。
逆参照内でさらにテキストを移動することで、逆参照を改善できます。
%s/s\(\d\+_decoded_block\)\[/s\1_/g
なぜなら、\1
グループ内で一致するものに置き換えられるからです。