Kazıma tamponunu Emacs'ta yanlışlıkla kapattıysam, nasıl yeni bir çizik tamponu oluşturabilirim?
Kazıma tamponunu Emacs'ta yanlışlıkla kapattıysam, nasıl yeni bir çizik tamponu oluşturabilirim?
Yanıtlar:
Sadece ona geçiş yaparak tampon yeniden oluşturmak: C-x b *scratch* RET
. Emacs 21.2'den beri, eğer bir tampon oluşturursanız *scratch*
, otomatik olarak Lisp Etkileşim moduna girer .
*scratch*
ve ona geri dönersem, otomatik olarak lisp-etkileşim moduna geçer.
.emacs
).
*scratch*
Tamponu her silindiğinde otomatik olarak yeniden oluşturmak ve adını yeniden yazmak zorunda kalmaktan kaçınılmaz olabilir.
(defun prepare-scratch-for-kill ()
(save-excursion
(set-buffer (get-buffer-create "*scratch*"))
(add-hook 'kill-buffer-query-functions 'kill-scratch-buffer t)))
(defun kill-scratch-buffer ()
(let (kill-buffer-query-functions)
(kill-buffer (current-buffer)))
;; no way, *scratch* shall live
(prepare-scratch-for-kill)
;; Since we "killed" it, don't let caller try too
nil)
(prepare-scratch-for-kill)
GNU Emacs varsayılan ciltlemeleri:
C-xb*scratch*
veya daha ayrıntılı
switch-to-buffer
*scratch*
*scratch*
Tampon başlangıçta seçilen tampon ve önemli modu vardır Lisp Etkileşimi . Not: *scratch*
Tamponun modu değişken tarafından kontrol edilir initial-major-mode
.
Genel olarak istediğiniz kadar “çizik” tamponu oluşturabilir ve istediğiniz şekilde adlandırın.
C-x bNAME
arabelleğe geçer NAME
, yoksa onu oluşturur. Kaydedilmesi gereken bir dosyayı seçmek için C-xC-w(veya M-xwrite-file
) kullanana kadar yeni bir arabellek diskteki bir dosyayla ilişkilendirilmez .
M-xtext-mode
geçerli arabellek ana modunu Metin moduna değiştirir.
Kullanılabilir tüm modları bulmak için (yani, yeni bir paket gerektirmeden), aşağıdakileri yazarak bir liste alabilirsiniz:
apropos-command
-mode$
Atmak için çizik tamponları kullanmayı seviyorum. Sadece bir tanesine sahip olmak biraz kısıtlayıcı olsa da, scratch
yeni bir çizik tamponu açmak için etkileşimli bir emre sahibim (zaten kaç tane var olursa olsun):
(defun scratch ()
"create a new scratch buffer to work in. (could be *scratch* - *scratchX*)"
(interactive)
(let ((n 0)
bufname)
(while (progn
(setq bufname (concat "*scratch"
(if (= n 0) "" (int-to-string n))
"*"))
(setq n (1+ n))
(get-buffer bufname)))
(switch-to-buffer (get-buffer-create bufname))
(if (= n 1) initial-major-mode))) ; 1, because n was incremented
http://everything2.com/index.pl?node_id=1038451 adresinden kabul edilmiştir.
M-x recover-session
bunları kurtarmıyor. Bunu bir şey kullanmak için değiştiren var make-temp-file
mı?
Boş bir tampon oluşturmayı önerebilir miyim? İlginç olan şey, önce tamponu yaratır ve gerçekten istiyorsan sonra saklarsın.
(defun my-empty-buffer ()
"Open a new empty buffer."
(interactive)
(let ((buf (generate-new-buffer "untitled")))
(switch-to-buffer buf)
(funcall (and initial-major-mode))
(setq buffer-offer-save t)))
İnit dosyanızda lisp olacak şekilde başlangıç-ana-modunu ayarlamanız gerekecek ve benim boş-arabelleği benzeri bir kısayola bağlamalısınız C-n
.
Ergoemac'in izniyle