Fazer a lista de buffers ter foco?

11

Como posso fazer isso para que, quando pressiono C-xC-bpara acessar a lista de buffers, esse buffer automaticamente focalize, em vez de precisar alternar manualmente para ele C-xo? Não consigo encontrar uma variável que personaliza isso.

Chris
fonte
2
Isso é puramente editorial, mas eu nunca entendi como é útil ter uma lista sem foco. Então sim, boa pergunta.
Avdi

Respostas:

9

Você pode substituir o comando list-buffersque é executado por C-x C-buma função que faz o que você deseja. Nesse caso, buffer-menu-other-windowabre a lista de buffers em outra janela com foco. Adicionar o seguinte trecho ao seu arquivo init deve remapear C-x C-bpara a nova função.

 (define-key global-map [remap list-buffers] 'buffer-menu-other-window)

Aqui global-maprepresenta o mapa de teclas onde C-x C-bestá vinculado a um comando, list-bufferso comando original e buffer-menu-other-windowo novo comando.

Vamsi
fonte
4
Ou buffer-menu, se você não quiser usar outra janela.
Drew
Parabéns por usar o remapeamento sobre a chave de conjunto global.
@metaturso Você pode remapear com global-set-keybem: (global-set-key [remap list-buffers] #'buffer-menu-other-window). global-set-keyé apenas um invólucro fino ao redor define-key.
22418 Basil Basil
7

Uma alternativa é alternar para o ibuffer, que não compartilha esse problema.

O ibuffer faz parte do GNU Emacs, portanto, nas versões recentes do Emacs, você só precisa adicionar

(global-set-key (kbd "C-x C-b") 'ibuffer)

para o seu arquivo init.

Dave
fonte
1
É o que faço também, mas a redação de sua resposta faz parecer que é mais do que apenas uma questão de preferência.
Nispio 8/08
Certamente que sim.
Dave