Вы можете повторно привязать Cx Cb для вызова меню буфера
, а не буферов списка
:
(global-set-key "\C-x\C-b" 'buffer-menu)
не совсем решение , но ido-mode
предоставляет другой и мощный способ взаимодействия с буферами. Cx b
затем покажет список всех открытых буферов, а выбранный вами откроется в текущем окне.
Просто настройте переменную same-window-regexps
. display-buffer
отобразит любой буфер, имя которого соответствует регулярному выражению в текущем выбранном окне.
(Вы захотите добавить « [*] Buffer List
».)
Если вам нравится исходный список буферов (в отличие от решения 'buffer-menu
, предложенного другими), вы можно использовать это:
(global-set-key (kbd "C-x C-b") 'my-list-buffers)
(defun my-list-buffers (&optional files-only)
"Display a list of names of existing buffers.
The list is displayed in a buffer named `*Buffer List*'.
Note that buffers with names starting with spaces are omitted.
Non-null optional arg FILES-ONLY means mention only file buffers.
For more information, see the function `buffer-menu'."
(interactive "P")
(switch-to-buffer (list-buffers-noselect files-only)))
Это та же функция, что и раньше, только в текущем окне.
Я настоятельно рекомендую bs.el из http://www.geekware.de/software/emacs/ Установите его и:
(require 'bs)
(add-hook 'bs-mode-hook 'turn-on-font-lock)
(global-set-key "\C-x\C-b" 'bs-show)
Он управляет буферами и конфигурацией окон правильным образом, поэтому все требует минимального количества нажатий клавиш.
Не уверен, где я это взял, но:
;;; Faster buffer switching
(global-set-key [(C tab)] 'buffer-menu)
Это заставляет Ctrl-Tab отображать все буферы в текущем окне. Затем вы можете перейти к буферу и нажать Enter, чтобы посетить его.
Еще одно решение «не то, что вы просили»: не выбирайте нужный буфер мышью, а закончите вводить его имя (используйте завершение табуляции, чтобы уменьшить количество нажатий клавиш и повысить точность) , затем нажмите Return. Список буферов исчезнет, и новый файл откроется в ранее активном окне.
Попробуйте добавить
(ido-mode 1)
в ваш .emacs и наслаждайтесь результатом :)