Emacs - Puffer ohne Aufforderung löschen

15

Ich frage mich, wie das gemacht werden kann, damit Emacs nicht die Aufforderung ausgibt, mich zu fragen, ob ich den aktuellen Puffer wirklich mit der Tastenkombination Cx k löschen möchte .

Interessant ist, dass dieselbe Aktion, die über die Symbolleiste ausgeführt wird, den Puffer sofort löscht, ohne den Benutzer dazu aufzufordern. Irgendeine Lösung? Vielen Dank.

Jarek
quelle

Antworten:

15

Standardmäßig werden Sie von Emacs nicht gefragt, ob Sie den Puffer löschen möchten. Sie werden gefragt, welchen Puffer Sie löschen möchten.

Wenn Sie nicht gefragt werden möchten, welchen Puffer Sie löschen möchten, können Sie Folgendes verwenden:

(global-set-key (kbd "C-x k") 'kill-this-buffer)

Wenn Sie zur Bestätigung aufgefordert werden, befindet sich etwas in Ihren .emacs (oder der standortspezifischen Initialisierung). Versuchen Sie emacs -q, Emacs ohne .emacs zu überprüfen.

Hinweis: Verifiziert mit Emacs 23.2.

Trey Jackson
quelle
1
'kill-this-buffer ist Teil von Emacs und sollte stattdessen verwendet werden.
Jaseem
10

Sie können herausfinden, was dieser Menüeintrag bewirkt, C-h kund dann auf den Eintrag klicken. Es stellt sich heraus, dass es sich um einen Befehl namens kill-this-buffer handelt .

Dann können Sie diesen Befehl an eine Tastenkombination binden:

(global-set-key "\C-xk" 'kill-this-buffer)
nschum
quelle
2

ich benutze das

(global-set-key (kbd "C-x k") (lambda ()
                              (interactive)
                              (kill-buffer (buffer-name))))
kindahero
quelle
Kleinere Verbesserung: (Kill-Buffer (Current-Buffer))
Jaseem
0

hier beantwortet: /programming/6467002/how-to-kill-buffer-inemacs-ohne-bestätigung

(defun volatile-kill-buffer ()
   "Kill current buffer unconditionally."
   (interactive)
   (let ((buffer-modified-p nil))
     (kill-buffer (current-buffer))))

(global-set-key (kbd "C-x k") 'volatile-kill-buffer)     ;; Unconditionally kill unmodified buffers.
Kirill Yunussov
quelle