LINUX.ORG.RU

Как правильно организовать конфиг emacs?

 


1

2

Emacs 24.3

Что делать с кастомными настройками (custom-file назначил в ~/.emacs.d/custom.el) emacs? Правильно ли пользоваться «визуальной» настройкой customize-group для постоянного сохранения? Или стоит вытаскивать их из custom.el после обкатки и добавлять в свою секцию .emacs конфига?

Читал много рекомендаций использовать customize-group. Но в этом случае свои настройки разбредуться по разным местам: в .emacs что-то добавляется руками, в custom.el лежат другие настройки. Возможно дублирование!

Пока ко мне не пришло видение Конфига. Cделал разные ~/.emacs.d/rc/*.el и гружу их в .emacs, вместо кучи всего в .emacs. Но custom.el меня смущает. customize-group удобная штука, но мешает все карты моих конфигов %)

Deleted

Или стоит вытаскивать их из custom.el после обкатки и добавлять в свою секцию .emacs конфига?

я примерно так и делаю, только конфиг разбит по категориям

Пока ко мне не пришло видение Конфига. Cделал разные ~/.emacs.d/rc/*.el и гружу их в .emacs, вместо кучи всего в .emacs.

вот, как-то так, да, только загружаемые конфиги сделаны симлинками (чтобы было проще включать/выключать) их соседнего каталога, в котором лежат все *el файлы

custom.el меня смущает. customize-group удобная штука, но мешает все карты моих конфигов %)

просто иногда нужно этот custom вычищать

lazyklimm ★★★★★
()

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

Lennart
()
Ответ на: комментарий от lazyklimm

А можно про симлинки на .el подробнее?

Deleted
()
Ответ на: комментарий от Lennart

Но у меня проблема в том, что не все можно сделать в customize. Xуки для какого-нибудь модуля пишутся в .emacs (или другом .el), подключаются и тюнятся. И разброс логически связанных настроек по разным местам огорчает + конфликты, если вдруг переопределится переменная в custom.el.

И так же отсутствует человеческое форматирование кода в сгенеренном custom.el

Ох, чую будет еще это customize развиваться, ибо сейчас почти неюзабельно. Единственный плюс - узнаю о новых настройках

Deleted
()
Ответ на: комментарий от Deleted

И разброс логически связанных настроек по разным местам огорчает

у меня customize просто пишет в хвост того же .emacs.d/init.el где я держу свои настройки - так что всё в одном месте.

отсутствует человеческое форматирование кода в сгенеренном custom.el

не представляю как ты этого добился - в init.el всё пишется во вполне читаемом, кошерном стиле.

Видимо ничем не помогу - у меня просто не возникает таких проблем, хотя версия емакса та же. Может оно как-то связано с тем, что у меня отдельная директория .emacs.d и используется init.el? Но по идее это же не должно влиять.

Lennart
()
Ответ на: комментарий от Lennart

всё пишется во вполне читаемом, кошерном стиле.

Кусок custom.el.

 '(mouse-wheel-progressive-speed nil)
 '(mouse-wheel-scroll-amount (quote (1 ((shift) . 1))))
 '(next-line-add-newlines nil)
 '(safe-local-variable-values (quote ((c-file-offsets (substatement-open . 0)) (c-indentation-style . k&r) (indent-tabs-mode . t))))
 '(save-place t nil (saveplace))
 '(scroll-conservatively 10000)
 '(scroll-step 1)
 '(semantic-default-submodes (quote (global-semantic-highlight-func-mode global-semantic-stickyfunc-mode global-semantic-idle-scheduler-mode global-semanticdb-minor-mode global-semantic-mru-bookmark-mode global-semantic-idle-local-symbol-highlight-mode global-semantic-show-unmatched-syntax-mode)))
 '(server-mode t)
 '(show-paren-mode t)
 '(show-paren-style (quote mixed))

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

Буду оттуда вытаскивать в отдельные .el

Deleted
()
Ответ на: комментарий от animechaos

А prelude этот - он под разработку на C++ не затачивался, я так понимаю? Но остальное в нем полезное, как я погляжу.

Наверно, cedet рядом с ним нормально встанет, не знаешь?

Deleted
()

gvim ~/.emacs

anonymous
()

чудесатая штука этот ваш емакс - от него может быть довольно много проку благодаря всяким примочкам для работы с текстом (особенно для тех, кто много работает с необычными, но повторяющимися конструкциями), но в то же время в нём всё сделано для того, чтобы его использование было сопряжено с максимальным кол-м PAIN.

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

anonymous
()
Ответ на: комментарий от anonymous

этот ваш емакс

Уже первая фраза говорит, что с емакс не знаком. и дальше можно не читать.

его использование было сопряжено с максимальным кол-м PAIN

таки да. чтобы прошло, стоит сделать так, как сказано здесь
http://ergoemacs.org/emacs/swap_CapsLock_Ctrl.html
http://ergoemacs.org/emacs/emacs_pinky.html

iVS ★★★★★
()
Ответ на: комментарий от anonymous

кол-м PAIN

Допустим, emacs - набор (удобных) костылей. Но в чем именно «pain»? Никто же не заставляет крутить все ручки, можно пользоваться как редактором.

Если про «распальцовку», то есть viper/vimpulse(-surround) (дополнительные костыли) или modal-mode (но его поди допили до привычного уровня удобства).

anonymous
()
Ответ на: комментарий от anonymous

есть viper/vimpulse(-surround)

Сейчас evil самая последняя и крутая реализация Вима.

anonymous
()

Посоветую тебе такую вещь - (require 'initsplit). Идея в том, что ты задаешь туда регэкспы в названиях переменных и он сам раскидывает их по соответсвующим файлам. Пример конфигурации:

(setq initsplit-customizations-alist 
      '(("^gnus-" "~/.emacs.d/gnus-init.el" nil)
	("^w3m-" "~/.emacs.d/w3m-init.el" nil)
	("^slime-" "~/.emacs.d/slime-init.el" nil)
	("^\\(preview\\|font-latex\\|latex\\|tex\\)-" 
	 "~/.emacs.d/auctex-init.el" nil) 
	("^jabber-" "~/.emacs.d/jabber-init.el" nil)
	...
	))

То есть переменные из custom для gnus автоматически в gnus-init.el пойдут и далее по списку. Не знаю, есть ли альтернативы у initsplit. Сто лет назад себе поставил и радуюсь.

Zubok ★★★★★
()
Ответ на: комментарий от iVS

таки да. чтобы прошло, стоит сделать так, как сказано здесь

Кстати да, ладонью нажимать тоже вариант, надо попробовать. Сейчас контрол на виндовой клавише, вполне сносно.

anonymous
()

Правильно ли пользоваться «визуальной» настройкой customize-group для постоянного сохранения? Или стоит вытаскивать их из custom.el после обкатки и добавлять в свою секцию .emacs конфига?

Визуальная настройка не Ъ. Вытаскивать ничего не надо, надо читать документацию и прописывать вручную.

anonymous
()
Ответ на: комментарий от anonymous

Я перебросил Ctrl на Alt, Alt на Win. Теперь все Ctrl-комбо нажимаются безымянным, а с Alt - мизинцем (их меньше, чем с Ctrl), причем можно делать с обеих рук.

iVS ★★★★★
()

customize использовал только первое время. По мне так лучше править все руками, ИМХО проще и удобнее.

О том какие бывают настойки и как именно их настраивать стоит смотреть собственно в исходнике настраиваемого модуля и/или в его документации.

О том как лучше организовывать конфиг стоит посмотреть например, в starter-kit, prelude и/или в конфигах опытных емаксеров.

Kostafey
()
Ответ на: комментарий от Zubok

Почему не Ъ? Какие минусы?

Текстовый редактор настраивать не текстом таки не Ъ.

anonymous
()

Мне нравится, как настройки разбросаны в emacs starter kit. При запуске читается файл ~/.emacs.d/%username%.el и все файлы ~/.emacs.d/%username%/*.el .

psh ★★
()
Ответ на: комментарий от iVS

Ты хоть о слепой печати слышал

Не только слышал, но и во всю применяю. Большие пальцы на пробеле, сдвинуть к Alt очень легко. Гораздо удобнее чем безымянным.

anonymous
()
Ответ на: комментарий от anonymous

Да и вообще так все делают.

Гм, не обратил внимание, что говорится про большие пальцы (thumbs). Спасибо, нужно опробовать.

iVS ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.