Son zamanlarda kullandığım eklenti sayısını önemli ölçüde azaltıyorum, bu yüzden sadece yerleşik Vim özelliklerini kullanarak cevap arıyorum.
Çok fazla arabellek düzenlerken iş akışımda bir kusur fark ettim: Bir arabellekteyim ve adını hatırlamadığım ve alternatif arabellek olmayan başka bir tanesine geçmek istiyorum . Bu nedenle kullanmak :b#
mümkün değildir ve tamamlamayı komutla :b
kullanmak da uygun değildir.
Bunu yapmak için aşağıdakileri yapıyordum:
:buffers
Açık tamponların listesini almak için ilk kullanım- Kullanmak istediğim arabellek sayısını hatırla
- EnterTampon listesini kapatmak için basın
- Kullanım
:bX
ileX
kullanım için tampon numarası.
Bu iş akışı benim için oldukça ağır görünüyordu, bu yüzden şu satırları ekledim
.vimrc
:
" Improve the navigation in the buffers
nnoremap <Leader><S-b> :B<CR>
command! B call Buffers()
function! Buffers()
execute "buffers"
let buffer=input("Enter a buffer:")
execute "b" . buffer
endfunction
Bu bana bir komut :B
(ve bir eşleme) işlevini çağıran :buffers
bir girdi için beklemek ve son olarak da çağrıları :b
girdikten sonra çağırır .
İyi çalışıyor ama böyle bir işlev geliştirmem gerektiğine şaşırdım: genellikle Vim oldukça etkili bir varsayılan iş akışına sahiptir, bu yüzden istisnasız bir şey bilmediğim bir tampona geçmenin daha iyi bir yolu olup olmadığını merak ediyorum düzenleme oturumumda zaten açılmış gibi.
:b#
şey değil, evet, daha önce :b
basmadan doğrudan girerek bir tuş vuruşunu kaydedebilmeniz enter
ilginç. (Aslında bu bir cevap olmak için çok hafif, ama bir yorum değdi :-))
#
karakteri gerçek #
karakter yerine bir (arabellek) numarası için bir stand-in anlamına geliyordu .
:ls
takip ediyorum:b#
(ilk önce geri dönmeye veya kaçmaya gerek yok, doğrudan 'ls' arabellek listesinden gidebilir.) (Yorum olarak yayınlama çünkü cevap olacak kadar önemli görünmüyor mu? bir şey eksik ve yanlış soruyu cevaplıyorum.)