VIMでは、エスケープスラッシュを使用せずにパスをスラッシュに置き換えます


10

vim では、テキストファイルで長いパス/a/b/f/g/d/gを別のパスに置き換えたいと思い/s/g/w/d/g/rます。通常使用します\/が、スラッシュが多すぎます。もっと簡単な方法はありますか?

回答:


29

/置換コマンドの区切り文字として、スラッシュの代わりに別の文字を使用できます。

使用例#

:%s#/a/b/f/g/d/g#/s/g/w/d/g/r#

1
これはこれまでで最高のソリューションです。
Seth

1
これはed、sed、perlなどでも機能します
deltab 2014年

2

多分あなたはsedを使うことができます

例1 - sedの@区切り文字:代替/opt/omni/lbin/opt/tools/bin

が含まれるパス名を置き換える場合は/、の@代わりに区切り文字として使用できます/。以下のsedの例では、入力ファイルの最後の行/opt/omni/lbinがに変更されました/opt/tools/bin

$ sed 's@/opt/omni/lbin@/opt/tools/bin@g' path.txt /usr/kbos/bin:/usr/local/bin:/usr/jbin/:/usr/bin:/usr/sas/bin /usr/local/sbin:/sbin:/bin/:/usr/sbin:/usr/bin:/opt/omni/bin: /opt/tools/bin:/opt/omni/sbin:/root/bin

送信元:http : //www.thegeekstuff.com/2009/10/unix-sed-tutorial-advanced-sed-substitution-examples/

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.