Vim komut satırında perl düzenli ifadeleri kullanmak istiyorum. Örneğin, geçerli satırdaki kelimeleri büyük harf yapmak için şunu yazabilirsiniz:
:s/(\w+)/\u$1/g
Vim komut satırında perl düzenli ifadeleri kullanmak istiyorum. Örneğin, geçerli satırdaki kelimeleri büyük harf yapmak için şunu yazabilirsiniz:
:s/(\w+)/\u$1/g
Yanıtlar:
Herhangi bir satırı veya satır aralığını vim'deki harici bir komut aracılığıyla! Örneğin, şunları yapabilirsiniz:
:.!perl -pe "s/(\w+)/\u\1/g"
Bu, şu anki satırı bu perl komutundan geçirecek. (Burada :
komut satırı moduna geçmek için ve sonraki .
satır geçerli satır anlamına gelir; ayrıca bir satır aralığı ya %
da tüm dosya için vs. belirleyebilirsiniz.)
Vim'in sübstitüsyon modellerinde kullanmak istiyorsanız, gelecek en yakın şey vim'in "çok büyü" seçeneğini kullanmaktır, \ v, şöyle:
:s/\v(\w+)/\u\1/g
Daha fazla bilgi için bkz. :help pattern
ve :help substitute
. "Çok sihir" in perl kalıplarıyla tamamen aynı olduğunu sanmıyorum ama çok yakın. Her neyse, yukarıdaki gibi daha rahatsanız, perl'i her zaman kullanabilirsiniz.
(
özel olarak muamele edildiğini ezberlemek zorunda {
değilsiniz: "'0' - '9', 'a' - 'z', 'A' - 'Z' hariç tüm ASCII karakterleri ve '_' özel bir anlama sahip. " Teşekkürler!
Hayır, Perl düzenli ifadelerini bu şekilde kullanamazsınız. Perl düzenli ifade bileşenlerinin Vim eşdeğerlerini öğrenmede yardım için, bkz.
:help perl-patterns
Ancak, Perl'i frabjous tarafından açıklandığı gibi harici bir filtre olarak kullanabilirsiniz. Vim'inizle birlikte derlenmişse, Perl arabirimini kullanarak Vim'de Perl komutlarını da çalıştırabilirsiniz +perl
. Görmek
:help if_perl.txt
:help perl-patterns
daha önce vim'den nefret ettiğim şeyi çözdü
Ayrıca kullanabilirsiniz:
/\v"your regex"
yerine:
/"your regex"
nnoremap / /\v
ve ekleyerek kendinize yardımcı olabilirsiniz vnoremap / /\v
, böylece yazdığınızda /
sadece çalışır.
İşte http://vim.wikia.com/wiki/Perl_compatible_regular_expressions adresinden bir çözüm
:perldo s/(\w+)/\u$1/g
( :ver
Bununla doğrulayın +perl
veya +perl/dyn
derleyin.)
Eregex.vim eklentisini kullanın . Çok faydalı ve hiçbir problem yaşamadım.