Выход из сценария .emacs - PullRequest
       6

Выход из сценария .emacs

3 голосов
/ 08 января 2011

Я использую два emacs (Aquamcs и текстовые emacs) на моем Mac. Обычно я использую текстовый emacs для просто редактирования чего-либо, поэтому я не хочу ничего с ним загружать.

Что я придумал, так это наличие проверочного кода в .emacs для выхода / разрыва, если это текстовый emacs (система Дарвина, но не aquamacs).

 (when (and (equal system-type 'darwin) (not (boundp 'aquamacs-version)))
     (exit) ??? (break) ????
 )

Кажется, это работает, но я не знаю, как вырваться из .emacs. Как это сделать?

ДОБАВЛЕНО

Я просто хотел ускорить загрузку текстового emacs на мой Mac, и я подумал о том, чтобы найти решение этой проблемы. Основываясь на полезных ответах, я придумал следующий код, который запускает .emacs, только когда это не текстовый emacs.

(setq inhibit-splash-screen t)
(unless (null window-system)

Ответы [ 3 ]

4 голосов
/ 08 января 2011

Я также не уверен, как выйти, но ..... Я бы посоветовал другой тип логики для вашего файла инициализации, чем простой файл со всеми различными конфигурациями.

Возьмите, например, ваш ~ / .emacs (или лучше ~ / .emacs.d / init.el) в качестве контроллера и такие файлы, как ~ / .emacs.d / aquamacs.el или ~ / .emacs.d / textmode .el как ваши индивидуальные файлы конфигурации.

That would make your init having something like this :
(defun my-short-hostname() 
  (string-match "[0-9A-Za-z]+" system-name)
  (substring system-name (match-beginning 0) (match-end 0))
  )

;Load different config file in text mode or gui mode.
(if (null window-system)
    (load-file "~/.emacs.d/texmode-emacs.el")
  (load-file "~/.emacs.d/gui.el"))

;Load configuration for this host only, ie ~/.emacs.d/myhostname.el if exist
(if (file-exists-p 
     (downcase (concat "~/.emacs.d/" (my-short-hostname) ".el")))
    (load-file (downcase "~/.emacs.d/" (my-short-hostname) ".el"))))
4 голосов
/ 08 января 2011

Я не знаю, как сделать именно то, что вы хотите.Некоторые обходные пути:

  1. Вы можете остановить оценку вашего .emacs, оценив (error "message"), но это немного неприятно.

  2. Вы можетепереупорядочьте ваши .emacs так, чтобы вокруг всего файла было (unless (CONDITION) ...).

  3. Вы можете запустить emacs -Q FILE, когда находитесь в командной строке.

Почему вы хотите это сделать?Вы обеспокоены временем загрузки .emacs?Если это так, вы можете вместо этого использовать клиент-сервер Emacs.

0 голосов
/ 20 августа 2011

Я предлагаю иметь определенные, разные файлы для условной загрузки из вашей .emacs, один для одной настройки, другой для другой настройки.

В качестве альтернативы, просто оберните код для каждой настройки в progn исделай условное на месте, в самом .emacs.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...