Sessizce bir Vim işlevini çağırın


25

İmleci geçerli satırın ilk karakterine hareket ettiren küçük bir Vim işlevi yazdım. İmleç zaten ilk karakter üzerindeyse, imleç bunun yerine ilk sütuna taşınır.

" Jump to first character or column
noremap H :call FirstCharOrFirstCol()<cr>

:function! FirstCharOrFirstCol()
:  let current_col = virtcol('.')
:  normal ^
:  let first_char = virtcol('.')
:  if current_col == first_char
:    normal 0
:  endif
:endfunction

Bu işlevi sessizce nasıl çağırırım? ': Call FirstCharOrFirstCol ()' durumunu tercih etmedim. Basitçe değişmek noremap H :silent call…yeterli görünmüyor.


7
Sadece küçük bir not: VimScript dosyasında (yani *.vim), asla baş :karakterlere ihtiyacınız yoktur .
tommcdo

Yanıtlar:


34

Sessiz bir harita tanımlayarak işlevi sessizce çağırabilirsiniz:

noremap <silent> H :call FirstCharOrFirstCol()<cr>

Daha fazla bilgi için bkz :h :map-<silent>. Özellikle bunun sadece eşleme yapılırken komutun ekrana yankılanmamasını sağlayacağına dikkat edin. :silentTalimat kendisinden çıkış kapatmak için kullanılabilir (bakınız :h :silent).


1
Güzel olan, :silentpeşinde olduğum şeydi. İşlevinizde hatalar varsa, kullanmadığınız sürece mesajları alacağınızı belirtmekte fayda var !. Kodu geçersiz bir durumda bıraktığımı bilmiyordum ve bu yüzden :silentekoları susturmadığından ve çıktıda bir hata görebildiğim için doğru kullanmadığımı düşündüm !!
JonnyRaa
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.