Kıvrık ayraç içermeyen dillerde% kullanma


17

C ve C benzeri dillerde, %imlecin üzerinde bulunduğu ilgili süslü ayraca atlamak için kullanabilirim . Bu iyi bilinen bir "numara" dır.

Ancak Ruby'de örneğin:

def fun
    [1, 2].each do |n|
    end
end 

Ruby işe yaramaz matchpairs( (:),{:},[:],<:>varsayılan olarak ayarlıdır) .

Bunu ayarlamayı denedim, ama çalışmıyor:

:set matchpairs=def:end
E474: Invalid argument: matchpairs=def:end

Bunu Ruby gibi dillerle de çalıştırabilir miyim? Bunun Ruby'ye özgü bir soru olmadığını unutmayın , diğer örnekler kabuk komut dosyaları ( if/ fi) veya Lua ( function/ end) ve daha pek çok şey olabilir.

Yanıtlar:


17

Matchit eklentisini kullanabilirsiniz . Bu modern vim dağıtımlarına dahildir, bu yüzden kullanmak için yapmanız gereken tek şey vimrc'nize aşağıdakileri eklemektir:

runtime macros/matchit.vim

İsterseniz bir eklenti olarak paketleyebilirsiniz. Varsayılan olarak birçok anahtar kelimeyi tanır ( defve dahil end) ve daha fazlasını tanımak için genişletilebilir.


1
Not: yazmak :runtime macros/matchit.vimişe yaramaz;
vimrc

Ben bunu yaptım. Hala benim için çalışmıyor :(
Thirupathi Thangavel

0

Aşağıdaki doc matchit, ~ / .vimrc aşağıdaki eklemeler benim için çalıştı

:runtime macros/matchit.vim
filetype plugin on

Siteye Hoşgeldiniz! Bu temel olarak mevcut, kabul edilen cevapla aynı cevaptır. Fark sizin filetypekomutunuzdur: Bu satırı neden eklediğinizi ve soruyu cevaplamaya nasıl yardımcı olduğunu ayrıntılı olarak açıklamanız yararlı olabilir. (Ayrıca birkaç yazım hatası var: "doc", "the".)
Zengin
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.