Emacs - mata buffer sem aviso prévio

15

Estou me perguntando como isso pode ser feito, para que o Emacs não apareça o prompt, perguntando-me se realmente quero eliminar o buffer atual com o atalho Cx k .

O interessante é que a mesma ação feita na barra de ferramentas mata o buffer instantaneamente sem avisar o usuário. Qualquer solução? Obrigado.

Jarek
fonte

Respostas:

16

Por padrão, o Emacs não pergunta se você deseja matar o buffer. Ele pergunta qual buffer você deseja matar.

Se você não quiser saber qual buffer você quer matar, use:

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

Se você está sendo solicitado a confirmar, há algo no seu .emacs (ou na associação inicial específica do site). Tente correr emacs -qpara verificar o Emacs sem o seu .emacs.

Nota: Verificado com o Emacs 23.2.

Trey Jackson
fonte
2
'kill-this-buffer faz parte do emacs e deve ser usado.
Jaseem
10

Você pode descobrir o que essa entrada de menu faz C-h ke clicar na entrada. Acontece que é um comando chamado kill-this-buffer .

Em seguida, você pode vincular esse comando a uma combinação de teclas:

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

Eu uso isso

(global-set-key (kbd "C-x k") (lambda ()
                              (interactive)
                              (kill-buffer (buffer-name))))
meio que herói
fonte
Melhoria menor: (kill-buffer (current-buffer))
Jaseem 26/02
Desde c. Emacs 24.3, você pode simplesmente (matar a chave global "\ C-xk" 'matar esse buffer)
HörmannHH