1

私はvimで簡単な検索と置換コマンドを実行していて、検索式で使用できるように<>と文字をエスケープしようとしています。/HTMLタグを見つけるためのより洗練された方法があることに気づきましたが、私が本当に探しているのは、に置き換えられるローカライズされた検索と置換コマンド<h1>UNKNOWN MISSION</h2>です<h2>UNKNOWN MISSION</h2>。これが、特殊文字をエスケープしようとする私のコマンドです。

:%s/\<h1\>UNKNOWN MISSION\<\/h2\>/\<h2\>UNKNOWN MISSION\<\/h2\>/

パターンが一致していません。何か案は?

4

3 に答える 3

3

:%s/<h1>UNKNOWN MISSION<\/h2>/<h2>UNKNOWN MISSION<\/h2>/g

私のために働いているようです。バックスラッシュをエスケープするだけです。

于 2013-03-25T20:02:17.970 に答える
1

文字をエスケープする必要はありません<>。次のことを試してください。

:%s/<h1>UNKNOWN MISSION<\/h2>/<h2>UNKNOWN MISSION<\/h2>/
于 2013-03-25T20:01:59.830 に答える
1

私は次のことをします…</p>

  1. UNKNOWN MISSIONwithの最初のインスタンスにカーソルを置きます。

    /<h1<CR>
    
  2. とまでヤンク2

    yt2
    
  3. 次のように置き換えます。

    :%s+<C-r>"2>+<C-r>"1>
    

    ここで<C-r>"、はコマンドラインにデフォルトレジスタの内容を挿入するために+使用され、スラッシュのエスケープを回避するための代替セパレータとして使用されます。挿入後、コマンド全体は次のようになります。

    %s+<h1>UNKNOWN MISSION</h2>+<h1>UNKNOWN MISSION</h1>
    

/g必要に応じてフラグを追加します。

于 2013-03-25T20:39:17.947 に答える