2008-12-08 10 views
9

Her şimdi ve sonra, C-x veya C-c'yi vurmak istediğimde yanlışlıkla C-x C-c'yi Emacs'e çarptı. Bu, elbette, tüm açık çerçeveleri ve tamponları onaylamadan kapatır. Emacs'in "Çıkmak istediğine emin misin?" Diye sorduğumu biliyorum, ama bunu her zaman yapmak istemiyorum ki bu sinir bozucu olur. Sadece N'den fazla dosya (veya tampon) açık olduğunda bunu yapmak istiyorum.Emacs'te açık arabelleklerin/dosyaların sayısını nasıl sayarım?

Yani çizgisinde bir işleve Cx Cc bağlamak istiyorum:

(if (< number of open buffers n) 
    (save-buffers-kill-emacs) 
    (are-you-sure)) 

Ama açık tamponların sayısını (veya açık kare sayısını nasıl çözemiyorum veya açık dosya sayısı vb.

(defun count-buffers (&optional display-anyway) 
    "Display or return the number of buffers." 
    (interactive) 
    (let ((buf-count (length (buffer-list)))) 
    (if (or (interactive-p) display-anyway) 
    (message "%d buffers in this Emacs" buf-count)) buf-count)) 

bunu çaldım, ama nerede den hatırlayamıyorum:

cevap

4

Ayrıca, Emacs'i yeniden başlattığınızda arabelleklerinizi otomatik olarak geri yükleyeceğiniz masaüstü modunu kullanmayı düşünebilirsiniz. Sadece .emacs numaranıza

'u ekleyin. Bkz. GNU Emacs manual veya Emacswiki.