Emacs - kill buffer senza prompt


15

Mi chiedo come possa essere fatto, quindi Emacs non fa apparire il prompt chiedendomi se voglio davvero uccidere il buffer corrente con il collegamento Cx k .

La cosa interessante è che la stessa azione eseguita tramite la barra degli strumenti uccide istantaneamente il buffer senza sollecitare l'utente. Qualche soluzione? Grazie.

Risposte:


16

Per impostazione predefinita, Emacs non ti chiede se vuoi eliminare il buffer. Ti chiede quale buffer vuoi uccidere.

Se non vuoi che ti venga chiesto quale buffer vuoi eliminare, puoi usare questo:

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

Se ti viene richiesta la conferma, allora c'è qualcosa nel tuo .emacs (o nella inizializzazione specifica del sito). Prova a correre emacs -qper controllare Emacs senza il tuo .emacs.

Nota: verificato con Emacs 23.2.


2
'kill-this-buffer fa parte di emacs e dovrebbe invece essere usato.
Jaseem,

10

Puoi scoprire cosa fa quella voce di menu C-h ke quindi fare clic sulla voce. Risulta essere un comando chiamato kill-this-buffer .

Quindi puoi associare quel comando a una combinazione di tasti:

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

2

Io lo uso

(global-set-key (kbd "C-x k") (lambda ()
                              (interactive)
                              (kill-buffer (buffer-name))))

Miglioramento minore: (kill-buffer (current-buffer))
Jaseem,

Dal c. Emacs 24.3 puoi semplicemente (kill-this-buffer "global-set-key" \ C-xk ")
HörmannHH

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.