воскресенье, 27 апреля 2014 г.

emacs. Быстрое и удобное переключение между буферами

До недавнего времени, для переключения между буферами в emacs, я использовал пакет tabbar. Штука чрезвычайно удобная. Все открытые файлы tabbar автоматически сортирует по группам. На переключение между группами и между буферами назначаются горячие клавиши. Кроме того, буферы в группе, включая текущий, выводятся на специальную панель в верхней части экрана. Для использования tabbar необходим tabbar.el (можно установить из репозитория MELPA), а код для файла .emacs, обеспечивающий взаимодействие с ним, будет следующим:
(require 'tabbar)
(tabbar-mode t)
(global-set-key (kbd "C-<") 'tabbar-backward-group)
(global-set-key (kbd "C->") 'tabbar-forward-group)
(global-set-key (kbd "C-,") 'tabbar-backward)
(global-set-key (kbd "C-.") 'tabbar-forward)
Вот как все это выглядит.
Однако, на днях я случайно нашел в сети произведение под названием popup-switcher, которое, признаться, впечатлило меня не меньше, чем в свое время tabbar. Подробно о нем можно почитать в блоге автора. Здесь же я хотел бы коротко сказать, что переключаться между буферами с помощью функций данного пакета, благодаря его возможности фильтровать список открытых файлов при наборе имени, получается, в большинстве случаев, значительно быстрей и удобней, чем при использовании tabbar.
Для использования popup-switcher необходимы пакеты popup.el и popup-switcher.el, которые, так же как и tabbar, можно установить из репозитория MELPA.
Код для файла .emacs, обеспечивающий переключение между буферами с помощью popup-switcher:
(require 'popup-switcher)
(setq psw-in-window-center t)
(global-set-key [f2] 'psw-switch-buffer)
И, конечно же, скриншот.
Кроме быстрого переключения между буферами, popup-switcher обеспечивает в той же манере переключение между функциями в файле исходного кода (читаем об этом в блоге автора по ссылке выше).

Вот и все, что я хотел поведать в этой заметке. Пусть emacs радует вас так же, как и меня )

UPD: 18.05.2014

О том, как в emacs работать с репозиториями пакетов, см. заметку emacs. Работа с репозиториями пакетов.

Комментариев нет:

Отправить комментарий