VIM'de, kaçış eğik çizgileri kullanmadan yolu eğik çizgilerle değiştirin


10

Vim içinde uzun bir yolu bir metin dosyasında /a/b/f/g/d/gbaşka /s/g/w/d/g/rbir yol ile değiştirmek istiyorum . Genellikle kullanıyorum \/ama burada çok fazla eğik çizgi var. Daha kolay bir yol var mı?

Yanıtlar:


29

/İkame komutuna ayırıcı olarak eğik çizgi yerine başka bir karakter kullanabilirsiniz .

Kullanarak örnek #:

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

1
Çok güzel, bu şimdiye kadarki en iyi çözüm.
Seth

1
Bu aynı zamanda ed, sed, perl,
vb.'de

2

Belki sed kullanabilirsiniz

Örnek 1 - sed @ayırıcı: Yerine /opt/omni/lbiniçin/opt/tools/bin

Bulunan bir yol adını değiştirdiğinizde /, @bunun yerine sınırlayıcı olarak kullanabilirsiniz /. Aşağıdaki sed örneğinde, girdi dosyasının son satırında /opt/omni/lbinolarak değiştirildi /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

Gönderen: http://www.thegeekstuff.com/2009/10/unix-sed-tutorial-advanced-sed-substitution-examples/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.