web-dev-qa-db-ja.com

viでスラッシュ文字をエスケープするにはどうすればよいですか?

のスラッシュ/文字で始まる文字列を検索しようとすると vi、カーソルは前の検索からの次の検索結果にジャンプします。ただし、文字通りのスラッシュ文字を見つけたいのですが。これはどのように行うことができますか?

16
simon

これを入力します:

/\/
27
lutz

/を使用する場合は、?をエスケープする必要はありません。

?/home/my_user/ # and enter to search backwards
/               # and enter to search forwards

ここ を参照してください。

5
juanpastas

バックスラッシュを使用します。

:/\/

これにより、次のスラッシュが前方に検索されます。

4
A. Levy

私はこれにあまりにも多くの時間を費やしたので、ここに簡単な答えを入れさせてください。 viのエスケープ文字(vimも、ここではCentOSボックスを使用していると思います)は、8年前のlutzの回答によると、「\」です。私はWindowsで構築されたものを持っており、Linuxに変換しています。通常、絶対ディレクトリの場所を含むファイルがあり、スラッシュを「\ yatta\yatta\blah ...」から「/ yatta/yatta/blah ...」に変換したい場合は、すべての行に出現します。 viの場合、すべての行は%sであり、末尾のgは各行内のすべての出現を意味します。したがって、viまたはvimでファイルを編集し、エスケープとコロンを押して「:」プロンプトを表示し、次のように入力します。

%s/\\/\//g

すべての「\」文字は「/」に変更されます。ただし、「/ yatta/yatta/blah ...」の前に配置するには、「c:」の参照を「/ home/prod」などに変更する必要がある場合があります。簡単。 viエスケープ文字は「\」なので、escを押し、「:」と入力してvi cmd入力モードにジャンプし、次のように入力します。

%s/c:/\/home\/prod/g

利用可能なvi/vimコマンドの迅速な「チートシート」がたくさんあります。これはユビキタスツールであり、ジェイルブレイクされたiPadなどでも、事実上すべてのLinux/Unixシステムで利用できます。

1
gemesyscanada

---おっと、すみません、交換用の情報を入力しました。 \でエスケープすると、検索のみに適しています

別のセパレータを使用する

:%s./.z.

すべての「/」を文字zに置き換えます

0
KevinDTimm