Как вызвать список буферов в Emacs - PullRequest
3 голосов
/ 17 августа 2010

Я обычно печатаю Mx buffer-menu для переключения буферов в Emacs.Как я могу сделать это с помощью более короткой команды?Это довольно длинная строка для ввода.

Спасибо!

Ответы [ 5 ]

6 голосов
/ 17 августа 2010
  • Вы можете использовать C-x b для изменения буферов.Вы должны ввести первые несколько букв имени буфера, и, конечно, вы можете использовать завершение.Если вы нажмете TAB (самая полезная клавиша в Emacs), появится список (соответствующих) буферов.Вы можете нажать в этом списке, чтобы переключиться на буфер.

  • Вы можете связать buffer-menu с ключом.Выберите ключ, который не используется для другой команды - скажем, f12 - и добавьте следующую строку в файл ~/.emacs:

    (global-set-key (kbd "<f12>") 'buffer-menu)
    
  • Есть много другихинтерфейсы для изменения буферов в Emacs , и они могут быть значительно эффективнее, чем C-x b и C-x C-b.Поскольку это, как правило, очень личный выбор, я рекомендую вам поэкспериментировать с несколькими и оставить те, которые вам наиболее удобны.

6 голосов
/ 17 августа 2010

C-x C-b

Как указано здесь

4 голосов
/ 18 августа 2010

Я бы настоятельно рекомендовал перейти в режим, предназначенный для эффективного переключения буфера.

Если ваша версия Emacs достаточно свежая (22 +):

M-x ido-mode

, а затем:

C-x b

для переключения буферов с инкрементным совпадением подстрок, C-s и C-r вращение вперед и назад через совпадения.

Если у вас более старая версия Emacs, она должна:

M-x iswitchb-mode

, а затем, как и в случае ido-mode:

C-x b

, открывает минибуфер, чтобы вы могли выбрать буфер для переключения.

2 голосов
/ 21 августа 2011

Bind Cx Cb до buffer-menu.Нет смысла оставлять его привязанным к list-buffers.list-buffers - это просто евнух версия buffer-menu.; -)

И вы можете попробовать это: http://www.emacswiki.org/emacs/BufferMenuPlus

1 голос
/ 21 ноября 2010

Попробуйте bs-show (на мой взгляд, способ лучше, чем Cx Cb).Вы можете привязать его к F9, добавив его в .emacs:

(global-set-key (kbd "<f9>") 'bs-show)
...