Buffer List in den Fokus stellen?

11

Wie kann ich dafür sorgen, dass beim Drücken von, C-xC-bum auf die Pufferliste zuzugreifen, dieser Puffer automatisch den Fokus erhält, anstatt manuell mit C-xodorthin wechseln zu müssen ? Ich kann keine Variable finden, die dies anpasst.

Chris
quelle
2
Dies ist rein redaktionell, aber ich habe nie verstanden, wie nützlich es sein soll, wenn die Liste nicht fokussiert angezeigt wird. Also ja, gute Frage.
Avdi

Antworten:

9

Sie können den Befehl, mit list-buffersdem ausgeführt wird, durch C-x C-beine Funktion ersetzen, die das tut, was Sie wollen. In diesem Fall buffer-menu-other-windowwird die Pufferliste in einem anderen Fenster mit Fokus geöffnet. Das Hinzufügen des folgenden Snippets zu Ihrer Init-Datei sollte C-x C-bder neuen Funktion neu zugeordnet werden.

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

Hier wird global-mapdie Tastaturbelegung dargestellt, C-x C-ban die ein Befehl, list-buffersder ursprüngliche Befehl und buffer-menu-other-windowder neue Befehl gebunden sind .

Vamsi
quelle
4
Oder buffer-menuwenn Sie kein anderes Fenster verwenden möchten.
Drew
Ein großes Lob für die Verwendung von Remapping über Global-Set-Key.
@metaturso Sie können mit Neuzuordnung global-set-keyauch: (global-set-key [remap list-buffers] #'buffer-menu-other-window). global-set-keyist nur eine dünne Hülle herum define-key.
Basil
7

Eine Alternative ist der Wechsel zu ibuffer, der dieses Problem nicht teilt.

ibuffer ist ein Teil von GNU Emacs. In neueren Versionen von Emacs sollten Sie es also nur hinzufügen müssen

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

zu Ihrer Init-Datei.

Dave
quelle
1
Dies ist, was ich auch tue, aber der Wortlaut Ihrer Antwort lässt es scheinen, als sei es mehr als nur eine Frage der Präferenz.
Nispio
Das tut es sicherlich.
Dave