kstati |
|
Темы:
5
Сообщения:
103
Участник с: 04 марта 2010
|
В своей работе часто использую emacs. GUI-версия меня не прельщает — нет в ней ничего, что я использую. А консольная даже при обычной работе может загружаться видимое для глаза время, кроме того она не контролирует открытые файлы в разных сессиях. Готовое решение давно имеется, надо только воспользоваться им — работа emacs в режиме демона. Стандартным методом использования является запуск демона emacs по команде emacs --daemon В общем такой подход может быть и удобный, но его можно и нужно совершенствовать. На мой взгляд требуется автоматизация запуска демона и прозрачное использование emacsclient. Этого можно добиться дописав пару функций и один алиас в начало .bashrc: load_emacs_daemon(){ local me=`whoami` local template=`ps -AF -U ${me} | grep "[0-9] emacs --daemon"` if [ -z "$template" ] ; then emacs --daemon &>/dev/null fi } load_emacs_client() { if ! [ -z "$1" ] ; then emacsclient -t [email protected] else emacsclient -t fi } load_emacs_daemon alias emacs="load_emacs_client" В результате появляется возможность прозрачного использования emacs клиент-сервер со всеми вытекающими от сюда плюсами, коими являются в том числе и актуальное состояние файлов во всех окнах emacs. |