Як я можу зробити так, що коли натискаю, 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.