Si j'ai fermé accidentellement le tampon de travail dans Emacs, comment créer un nouveau tampon de travail?
Si j'ai fermé accidentellement le tampon de travail dans Emacs, comment créer un nouveau tampon de travail?
Réponses:
Il suffit de recréer le tampon en passant à elle: C-x b *scratch* RET
. Depuis Emacs 21.2, si vous créez un tampon appelé *scratch*
, il est automatiquement mis en mode d'interaction Lisp .
*scratch*
puis y reviens, il passe automatiquement en mode d'interaction lisp.
.emacs
).
Il est sans doute préférable de recréer le *scratch*
tampon automatiquement chaque fois qu'il est supprimé et d'éviter d'avoir à retaper son nom.
(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)
Liaisons par défaut de GNU Emacs:
C-xb*scratch*
ou, plus verbeusement
switch-to-buffer
*scratch*
Le *scratch*
tampon est le tampon sélectionné au démarrage et a le mode majeur d' interaction Lisp . Remarque: le mode du *scratch*
tampon est contrôlé par la variable initial-major-mode
.
En général, vous pouvez créer autant de tampons "scratch" que vous le souhaitez et les nommer comme vous le souhaitez.
C-x bNAME
passe en tampon NAME
, le créant s'il n'existe pas. Un nouveau tampon n'est pas associé à un fichier sur disque tant que vous n'avez pas utilisé C-xC-w(ou M-xwrite-file
) pour choisir un fichier où il doit être enregistré.
M-xtext-mode
change le mode principal du tampon actuel en mode texte.
Pour trouver tous les modes disponibles (c'est-à-dire sans nécessiter de nouveaux packages), vous pouvez obtenir une liste en tapant:
apropos-command
-mode$
J'aime utiliser des tampons de travail pour les trucs jetables. Cependant, en avoir un seul est quelque peu limitant, j'ai donc scratch
une commande interactive pour ouvrir un nouveau tampon de travail (peu importe le nombre déjà existant):
(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
adopté à partir de: http://everything2.com/index.pl?node_id=1038451
M-x recover-session
ne les récupère pas. Quelqu'un at-il modifié cela pour utiliser quelque chose comme make-temp-file
?
Puis-je suggérer de créer un tampon vide? La chose intéressante étant que, vous créez d'abord le tampon, et vous l'enregistrez ensuite, si vous le voulez vraiment.
(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)))
Vous devrez définir initial-major-mode sur lisp dans votre fichier init et vous devez lier le tampon my-empty-buffer à un raccourci comme C-n
.
Avec l'aimable autorisation d' ergoemacs