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 :bkullanmak da uygun değildir.
Bunu yapmak için aşağıdakileri yapıyordum:
:buffersAçı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
:bXileXkullanı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 :buffersbir girdi için beklemek ve son olarak da çağrıları :bgirdikten 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 :bbasmadan doğrudan girerek bir tuş vuruşunu kaydedebilmeniz enterilginç. (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 .



:lstakip 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.)