Emacs - zabij bufor bez pytania

15

Zastanawiam się, jak to zrobić, więc Emacs nie wyświetla monitu z pytaniem, czy naprawdę chcę zabić bieżący bufor za pomocą skrótu Cx k .

Ciekawą rzeczą jest to, że ta sama akcja wykonywana za pomocą paska narzędzi zabija bufor natychmiast bez monitowania użytkownika. Jakieś rozwiązanie? Dziękuję Ci.

Jarek
źródło

Odpowiedzi:

16

Domyślnie Emacs nie pyta, czy chcesz zabić bufor. Pyta cię, który bufor chcesz zabić.

Jeśli nie chcesz zapytać, który bufor chcesz zabić, możesz użyć tego:

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

Jeśli pojawi się monit o potwierdzenie, oznacza to, że coś jest w twoim .emacs (lub inicjalizacji specyficznej dla strony). Spróbuj uruchomić, emacs -qaby sprawdzić Emacsa bez /.

Uwaga: zweryfikowane za pomocą Emacsa 23.2.

Trey Jackson
źródło
2
„kill-this-buffer jest częścią emacsa i należy go użyć zamiast tego.
Jaseem
10

Możesz dowiedzieć się, co robi ta pozycja menu, C-h ka następnie klikając pozycję. Okazuje się, że jest to polecenie o nazwie kill-this-buffer .

Następnie możesz powiązać to polecenie z kombinacją klawiszy:

(global-set-key "\C-xk" 'kill-this-buffer)
nschum
źródło
2

używam tego

(global-set-key (kbd "C-x k") (lambda ()
                              (interactive)
                              (kill-buffer (buffer-name))))
kindahero
źródło
Niewielka poprawa: (kill-buffer (current-buffer))
Jaseem
Ponieważ c. Emacs 24.3 możesz po prostu (globalnie ustawiony klucz „\ C-xk” 'kill-this-buffer)
HörmannHH