Давно знал о сабжевой возможности, но никогда не пользовался. А тут попробовал в очередной раз и мне очень понравилось.
Дело в том, что у меня значительно разбух .emacs и время запуска, соответственно, стало неудобоваримым. Всё это усугубляется тем, что порой я запускаю несколько экземляров (например, как редактор в цезии) и длительный запуск утомляет.
Суть проста: экземпляр emacs запускается в режиме демона без пользовательского интерфейса. Последний запускается в виде клиента и потому стартует очень быстро.
Запустить emacs в качестве демона очень просто:
$ emacs --daemon
Для запуска клиента с графическим фреймом и всеми возможностями графической версии достаточно просто выполнить
$ emacsclient -c
Если же хочется запустить клиент в терминале, то
$ emacsclient -nw
Вот и всё. Но есть ещё тонкости некоторых настроек, которые перестают работать в режиме демона и клиента. У меня проявились две: не подхватился шрифт и не выключался scrollbar.
Обе проблемы решились весьма просто.
(setq default-frame-alist '((font . "Iosevka-12")))
И проблема с шрифтом решена.
Scrollbar же я убрал не так красиво, но вполне действенно. В ~/.Xdefaults добавил строчку
emacs.verticalScrollBars: false
Теперь в фреймах отсутствует scrollbar.
Возможность эта достаточно известна, но вдруг кому-нибудь покажется полезным иметь emacs всегда запущенным, а пользовательский интерфейс вызывать по необходимости.
Что удобно, открытые буферы и их состояние, запущенные elisp-программы не зависят от клиента и выполняются демоном. Можно хранить состояние между вызовами интерфейса. Можно открыть несколько фреймов emacs и работать в них одновременно, если по какой-либо причине неудобно использовать окна emacs в одном фрейме. И самое главное -- молниеносный запуск клиента. Теперь писать в секту сторонним редактором стало очень удобно и быстро.