Как отключить запуск файлов emacs на постоянной основе?
Решая эту проблему, я понял, что мне нужно отключить инициализирующие файлы по сайтам, чтобы запустить emacs + CEDET (все отлично работает при запуске emacs с использованием emacs --no-site-file
но нарушается без дополнительного аргумента).
Я бы хотел навсегда отключить файлы инициализации на уровне сайта, но, поскольку я использую несколько разных подходов / методов при запуске emacs (launcher/panel/terminal), я не думаю, что навязывать его в моем .zshrc
не сработает
Мне нужен метод, чтобы навсегда отключить все файлы запуска сайта. Есть ли простой способ добиться этого? Спасибо!
3 ответа
Создание оболочки в /usr/local/bin/emacs
должен позволить вам переопределить значение по умолчанию emacs
общесистемный, при условии, что у вас есть доступ для записи и вменяемый PATH
,
Сказав это, советуя eieio
загрузить cedet
может быть более адекватным обходным путем.
Чтобы ответить на конкретный вопрос, невозможно отключить site-start
файл без сборки вашей собственной версии Emacs (или, как вы уже сказали, всегда работает с --no-site-file
).
Если вы посмотрите на документацию для переменной site-run-file
, вот увидишь:
порядок загрузки во время выполнения: 1. файл, описанный в этой переменной (
site-run-file
), если не ноль; 2.~/.emacs'; 3.
default.el.
Если Emacs работает с -q
этого достаточно для решения проблемы, вы можете добиться этого в вашем.emacs, установив:
(setq inhibit-default-init t)
Все это, как говорится, довольно просто собрать / установить свой собственный Emacs. Вы можете в значительной степени вырезать / вставить команды, перечисленные на этой странице (они ./configure; make; make install
).
Когда этот вопрос изначально был задан, ответы были правильными: единственный способ отключитьsite-start
files должен был запускать emacs с--no-site-file
или создать собственную сборку emacs.
Однако в emacs 27 (выпущенном в 2020 году) появился ранний файл инициализации , который позволяет настраивать emacs перед обычной инициализацией.
Теперь вы можете отключить файлы сайта, добавив следующее в свой~/.emacs.d/early-init.el
:
(setq site-run-file nil)