Як я можу зробити так, що коли натискаю, C-xC-bщоб отримати доступ до списку буферів, цей буфер автоматично фокусується, замість того, щоб переходити до нього вручну C-xo? Я не можу знайти змінну, яка це налаштовує.
Як я можу зробити так, що коли натискаю, C-xC-bщоб отримати доступ до списку буферів, цей буфер автоматично фокусується, замість того, щоб переходити до нього вручну C-xo? Я не можу знайти змінну, яка це налаштовує.
Відповіді:
Ви можете замінити команду , list-buffers
яка запускається з C-x C-b
функцією , яка робить те , що ви хочете. У цьому випадку buffer-menu-other-window
відкриється список буферів в іншому вікні з фокусом. Додаючи наступний фрагмент до файлу init, слід перезапустити C-x C-b
нову функцію.
(define-key global-map [remap list-buffers] 'buffer-menu-other-window)
Тут global-map
представлена карта клавіш, де C-x C-b
пов'язана команда, list-buffers
оригінальна команда та buffer-menu-other-window
нова команда.
buffer-menu
якщо ви не хочете використовувати інше вікно.
global-set-key
а також: (global-set-key [remap list-buffers] #'buffer-menu-other-window)
. global-set-key
є лише тонкою обгорткою навколо define-key
.
Альтернативою є перехід на ibuffer, який не поділяє цю проблему.
ibuffer є частиною GNU Emacs, тому для останніх версій Emacs вам просто потрібно додати
(global-set-key (kbd "C-x C-b") 'ibuffer)
у ваш файл init.