2013-07-12 15 views
7

Varsayılan olarak, VIM :e komutu, belirtilen arabelleği el ile bırakacak şekilde belirtilen bir dosyayla yeni bir arabellek oluşturur. Bu, arabellek sayısının çok fazla büyümesine yol açar (ve bazı tampon görüntü eklentilerinin kullanılması durumunda kullanışlı değildir, örneğin popüler minibufexplorer). VIM'i değiştirmek mümkün mü :e komutu geçerli arabelleği yeniden kullanacak mı? İki arabelleğe ihtiyacım varsa, her şeyden önce her zaman :enew komutuyla ikinci bir tane oluşturabilirim.VIM: Güncel arabellekte yeni dosya nasıl açılır?

cevap

11

Eğer vim bir tampon

dosya düzenleme için belleğe yüklenmez "yeniden kullanım" bir tampondur olabilir. ! ile mevcut tampon üzerindeki değişiklikler silinecek olacağını

:bd!|e /path/file 

not: bu senin tamponlar saymak tutmak böylece

Geçerli, tampon sonra yeni açmak silebilir.

+1

Çok teşekkürler! Bu '|' hakkında VIM'de herhangi bir dokümantasyon var mı? notasyonu? Böyle bir şeyi yönetebileceğimin farkında değildim. – grigoryvp

+3

Bkz. [': Help: bar'] (http://vimdoc.sourceforge.net/htmldoc/cmdline.html#:bar). –

8
:bd!|e file 

en kolay yoludur, ancak bir bölünme varsa Pencerenizi öldürecek. Yani ...

function! ReplaceBuffer(bang, newfile) 
    let curbuf = bufnr('%') 
    exec "e " . a:newfile 
    exec "bd" . a:bang . " " . curbuf 
endfunction 
command! -nargs=1 -complete=file -bang -bar BDE call ReplaceBuffer('<bang>', <f-args>) 

Sonra pencereler ile karışıklık olmadan, sizin .vimrc kadar yük ve içinde bulunduğumuz tampon öldürmek için

:BDE ~/.vimrc 

veya

:BDE! ~/.vimrc 

yapabilirsiniz.

+0

'dan bahsetmek iyi: 'bd! | E dosya' bölünmeleri öldürür! bölünmüş düzeni koruyan bir şey arıyordum – jazzyfresh

İlgili konular