Обычно я набираю M-x buffer-menu
для переключения буферов в Emacs. Как я могу сделать это с помощью более короткой команды? Это довольно длинная строка для ввода.
Спасибо!
Обычно я набираю M-x buffer-menu
для переключения буферов в Emacs. Как я могу сделать это с помощью более короткой команды? Это довольно длинная строка для ввода.
Спасибо!
Вы можете использовать C-x b
для изменения буферов. Вы должны ввести первые несколько букв имени буфера, и, конечно же, вы можете использовать автодополнение. Если вы нажмете TAB
(наиболее полезная клавиша в Emacs), появится список (совпадающих) буферов. Вы можете щелкнуть в этом списке, чтобы переключиться на буфер.
Вы можете привязать buffer-menu
к ключу. Выберите ключ, который не используется для другой команды, скажем, f12
, и добавьте следующую строку в файл ~/.emacs
:
(global-set-key (kbd "<f12>") 'buffer-menu)
Есть много других интерфейсов для изменения буферов в Emacs, и они могут быть значительно более эффективными, чем C-x b
и C-x C-b
. Поскольку это, как правило, очень личный выбор, я рекомендую вам поэкспериментировать с несколькими и оставить те, которые вам наиболее удобны.
C-x b
и тому подобное — стандартная нотация для привязки клавиш в Emacs. Пожалуйста, придерживайтесь этих обозначений при работе с ключами Emacs. Используйте теги kbd
при ссылке на фактические клавиши клавиатуры, но используйте их правильно: например, нажатие <kbd>Ctrl</kbd>+<kbd>X</kbd>
, а затем <kbd>B</kbd>
на клавиатуре (здесь я показываю необработанный HTML, так как тег HTML нельзя использовать в комментарии) создает Emacs последовательность клавиш `C-x b`
.
- person Gilles 'SO- stop being evil'; 10.04.2014
C-x b
для изменения буферов» относится к (последовательности) фактически нажатых клавиш клавиатуры. Я бы не стал использовать нотацию <kbd>
в контексте, относящемся к коду Elisp. Есть ли сообщение Meta SO (или запись в разделе справки, которую я мог пропустить), в которой определяются эти стандарты? Опять же, просто любопытно, так как я видел ряд сообщений, в которых доступные параметры разметки используются другим (но последовательным) способом, чем вы предлагаете.
- person itsjeyd; 10.04.2014
<kbd>ctrl</kbd>+<kbd>alt</kbd>+<kbd>del</kbd>
, а не <kbd>ctrl-alt-del</kbd>
, но это не очень убедительно. Но, написав несколько постов, в которых я объяснил разницу между физическими нажатиями клавиш и клавишами приложений (например, клавиши-модификаторы, ESC/Alt, …), я могу подтвердить, что различие полезно.
- person Gilles 'SO- stop being evil'; 10.04.2014
C-x C-b
Как указано здесь
Я настоятельно рекомендую переключиться в режим, предназначенный для эффективного переключения буфера.
Если ваша версия Emacs достаточно новая (22+):
M-x ido-mode
а потом:
C-x b
для переключения буферов с инкрементным сопоставлением подстрок C-s
и C-r
вращаются вперед и назад по совпадениям.
Если у вас более старая версия Emacs, она должна иметь:
M-x iswitchb-mode
а затем, как с ido-mode
:
C-x b
открывает минибуфер, чтобы вы могли выбрать буфер для переключения.
Свяжите C-x C-b с buffer-menu
. Нет смысла оставлять его привязанным к list-buffers
. list-buffers
— это просто евнух-версия buffer-menu
. ;-)
И вы можете попробовать это: http://www.emacswiki.org/emacs/BufferMenuPlus
Попробуйте bs-show (на мой взгляд намного лучше, чем C-x C-b). Вы можете привязать его к F9, добавив это в .emacs:
(global-set-key (kbd "<f9>") 'bs-show)