Emacs - убить буфер без запроса


15

Мне интересно, как это можно сделать, поэтому Emacs не выдает подсказку, спрашивающую меня, действительно ли я хочу уничтожить текущий буфер с помощью ярлыка Cx k .

Интересно, что то же самое действие, выполняемое через панель инструментов, мгновенно убивает буфер без запроса пользователя. Любое решение? Спасибо.

Ответы:


16

По умолчанию Emacs не спрашивает вас, хотите ли вы уничтожить буфер. Он спрашивает вас, какой буфер вы хотите убить.

Если вы не хотите спрашивать, какой буфер вы хотите уничтожить, вы можете использовать это:

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

Если вас попросят подтвердить, то в вашем .emacs есть что-то (или инициализация, специфичная для сайта). Попробуйте запустить, emacs -qчтобы проверить Emacs без вашего .emacs.

Примечание: проверено Emacs 23.2.


2
'kill-this-buffer является частью emacs и должен использоваться вместо этого.
Джасим

10

Вы можете узнать, что делает эта запись в меню, C-h kа затем щелкнуть эту запись. Оказывается, это команда с именем kill-this-buffer .

Затем вы можете привязать эту команду к комбинации клавиш:

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

2

Я использую это

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

Незначительное улучшение: (kill-buffer (current-buffer))
Jaseem

С ц. Emacs 24.3 вы можете просто (global-set-key "\ C-xk" 'kill-this-buffer)
HörmannHH

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.