Örneğin, geriye veya ileriye doğru eğik çizgi içeren dizelerle bulup değiştirmek istersem, bu vim'de nasıl başarılabilir? Teşekkür ederim!
Örnekler Bul ve Değiştir: :%s/foo/bar/g
ya tüm oluşumlarını bulmak <dog/>ve yerine koymak istersem<cat\>
Örneğin, geriye veya ileriye doğru eğik çizgi içeren dizelerle bulup değiştirmek istersem, bu vim'de nasıl başarılabilir? Teşekkür ederim!
Örnekler Bul ve Değiştir: :%s/foo/bar/g
ya tüm oluşumlarını bulmak <dog/>ve yerine koymak istersem<cat\>
vi --helpözel karakterlerden kaçma açıklaması YOKTUR ... bu yüzden insanlar başlamak için stackoverflow'a geliyorlar ...
:help magicYazdığınız şeydir iç vim. Bu, vim için bir komut satırı argümanı değil.
Yanıtlar:
Ters eğik çizgi ile linuxy programlarında başka herhangi bir yerde karakterlerden kaçış yaptığınız gibi:
:%s/<dog\/>/<cat\\>
Ancak bunun yerine farklı bir sınırlayıcı seçebileceğinizi unutmayın:
:%s@<doc/>@<cat\\>@
Bu, hepinizi zaman alıcı, kafa karıştırıcı ters eğik çizgileri bir ton eğik çizgi ile desenlerde yazmaktan kurtarır.
Gönderen belgeler :
/Deseni ve değiştirme dizesini çevreleyen yerine, başka herhangi bir tek baytlık karakter kullanabilirsiniz, ancak alfasayısal bir karakter\,"veya|. Bu,/arama kalıbına veya değiştirme dizesine bir eklemek istiyorsanız kullanışlıdır .
ssınırlayıcı olarak alınır. Belgelerde bir listeyi nerede bulduğumu bulamıyorum, ancak en azından /:;*%@#geçerli olduğundan oldukça eminim .
%s:<dog/>:<cat>
Belirli modeller için can sıkıcı hale gelirlerse / sınırlayıcıları değiştirebilirsiniz.
:Sınırlayıcı için +1 . Bunu kullanabileceğini bilmiyordum. Her zaman @'kaçış karmaşası' zamanlarında kullandım
Sözdizimi şöyledir:
:%s/<dog\/>/<cat\\>/g
/Karakteri içeren kayıt değerlerini aramak için benzer bir şey arıyordum (bir makro kaydetmek için). Solüsyon kullanarak arama oldu ?yerine belirteç /.
?geriye doğru bir arama yapmak ve aynı değildir edecektir.
ters eğik çizgi ters eğik çizgi yıldız
/(<- the prompt)\/\*
yani yazdıktan sonra şöyle görünür
/\/\*