2012-02-27 7 views
0

ラテックスファイルをhtmlに編集して、\\<br />タグですべて変更したいと思います。vim search for \ not

:%[email protected]\\@<br />@g 

Vimは後の最初の文字を使用しています:%sのである区切りので、問題ありません。 しかし、私はすべての単一\を私の検索で\\と同じように取得し続けます。私は、最初の\が何かにマップされていると推測していますが、私はそれを修正する方法も何もありません。

そして、私が代わりに私がE59 : invalid character after \@E476 Invalid commandを取得

:%[email protected]\\\@<br />@g 

を行う検索する場合。

+0

スタックオーバーフローによってエスケープ文字として解釈されていたので、私はあなたの質問を編集する自由を取ってバックスラッシュ文字をマークアップしました。しかし、私は '<"br />'がタイプミスか意図的なのかどうかは分からないので、私はそれを残しました。それは二重引用符であるはずですか? – Weeble

答えて

4

2つのバックスラッシュのすべてを<br />に置き換えようとしていますか?もしそうなら、あなたは両方のバックスラッシュをエスケープする必要があります。

:%[email protected]\\\\@<br />@g 

バックスラッシュは、その特別な何かを示すために、次の文字で最大ペアエスケープ文字として解釈されます。たとえば、\tは、タブ文字を示すために使用されます。バックスラッシュ自体を指定するには、2つのバックスラッシュが必要です。したがって、2つのバックスラッシュを連続して使用する場合は、4つを入力する必要があります。

+0

ありがとうございました\私は印象の下にあった\全体の文字列で働いて、何とかそれを再マッピングしたと思った。 – Filip