5

Я только что установил Aquamacs на мой Mac.

У меня дома есть файл .emacs, который содержит все мои настройки. Среди них у меня есть:

(custom-set-faces
 '(default ((t (:stipple nil :background "black" :foreground "grey70" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 140 :width normal :foundry "apple" :family "Monaco"))))
 '(font-lock-builtin-face ((t (:foreground "grey50"))))
 '(font-lock-comment-face ((t (:foreground "darkgreen"))))
 '(font-lock-constant-face ((t (:foreground "grey50"))))
 '(font-lock-doc-face ((t (:foreground "grey50"))))
 '(font-lock-doc-string-face ((t (:foreground "yellow2"))))
 '(font-lock-function-name-face ((t (:foreground "SteelBlue"))))
 '(font-lock-keyword-face ((t (:foreground "red"))))
 '(font-lock-preprocessor-face ((t (:foreground "SteelBlue"))))
 '(font-lock-reference-face ((t (:foreground "LightSkyBlue"))))
 '(font-lock-string-face ((t (:foreground "yellow2"))))
 '(font-lock-type-face ((t (:foreground "violet"))))
 '(font-lock-variable-name-face ((t (:foreground "orange"))))
 '(font-lock-warning-face ((t (:foreground "grey50"))))
 '(isearch ((t (:background "yellow4" :foreground "black"))))
 '(mode-line ((t (:background "grey90" :foreground "black"))))
 '(text-mode-default ((t nil)))
 '(zmacs-region ((t (:background "grey70" :foreground "black")))))

Этот блок, кажется, не применяется автоматически.

Если я выбираю строки из .emacs и вручную оцениваю их, все работает нормально. Я предполагаю, что эти параметры отменены в каком-то другом месте.

Как я могу отладить это? Где я должен установить мои пользовательские лица?

ОБНОВИТЬ:

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

 ~/.emacs  (deprecated -- meaning 'should not be used
 for new installations, but will continue to be supported' -- in Aquamacs on OS X)
 customizations saved by request or automatically by Aquamacs in customizations.el
 /Library/Preferences/Emacs/Preferences.el
 /Library/Preferences/Aquamacs Emacs/Preferences.el
 ~/Library/Preferences/Emacs/Preferences.el
 ~/Library/Preferences/Aquamacs Emacs/Preferences.el

Моя ~/Library/Preferences/Aquamacs Emacs/Preferences.el выглядит (по умолчанию):

 (load "~/.emacs")

Так что это не имеет смысла для меня ...

5 ответов5

3

Отлично. Это то, что я сделал в конце. В основном я "импортировал" грани в настройки Aquamacs, выполнив:

  • Запустил Aquamacs как обычно
  • Даже если лицо определено в .emacs, оно игнорируется Aquamacs
  • Открыл .emacs в буфере
  • Вручную выбрал раздел лица и оценил
  • Параметры -> Внешний вид -> Авто лица -> Авто лица (ВКЛЮЧЕНО)
  • Параметры -> Внешний вид -> Авто лица -> Применить лицо какого-либо режима -> Текст
  • Параметры -> Внешний вид -> Авто лица -> Принять параметры лица и рамки в качестве лица по умолчанию
  • Параметры -> Сохранить параметры
  • Удалить лица из .emacs

Все работает нормально после перезапуска Aquamacs. Стон.

Спасибо всем, кто здесь.

3

У меня была такая же проблема с настройкой цвета точки. Затем я нашел файл customizations.el, изменил строку, установив там цвет точки, и все заработало нормально. Я не знаю, будет ли ваш файл на том же месте, но мой был найден здесь:

/ Пользователи / viviannevilar / Библиотека / Предпочтения / Aquamacs Emacs / customizations.el

2

В программе « Ник ненавидит»: Aquamacs "Emacs", Ник обнаружил, что настраиваемые лица работают в Emacs, но не в Aquamacs.

Как и Ник, вы могли бы также попробовать свой пользовательский код с набором лиц в окне взаимодействия с Лиспом, проявляя осторожность в отношении его проблемы ^ J (что выше моего уровня знаний в Лиспе).

Если вы используете имя шрифта, вы можете проверить, что Aquamacs понимает его, используя emacs -fn fontname . В случае ошибки пользовательский набор лиц просто терпит неудачу, и затем Emacs продолжает использовать шрифт, который он использовал бы в противном случае.

2

Полная последовательность запуска Emacs описана в разделе « Сводка запуска» в руководстве по Emacs Lisp. Это руководство не описывает специфичные для Aquamacs расширения.

В комментарии вы упоминаете, что ваши настройки из term-setup-hook' still doesn't work. So what overrides them is either in window-setup-hook ', либо в специфическом для Aquamacs шаге.

Aquamacs имеет некоторые специфические настройки для граней, которые могут переопределять ваши настройки, выполняемые через стандартный механизм Emacs. Их можно отключить , включив (aquamacs-autoface-mode 0) в свой .emacs или через меню «Параметры / Внешний вид / Авто лица / Авто лица».

В вики Emacs есть некоторая информация о том, как заставить Aquamacs вести себя как другие Emacsen.

1

Информацию о файле .emacs и устранении неполадок см. В этой статье emacswiki.org.

Смотрите также эту статью, файл инициализации ~/.emacs, для возможных конфликтов.

Из Почему этот код [настройки терминала или оконной системы] не работает в моем файле `.emacs ', но он прекрасно работает после запуска Emacs :

Во время запуска Emacs инициализируется в соответствии с заданным порядком кода / файла. Если часть кода, выполняемого в вашем файле `.emacs ', нужно отложить до тех пор, пока не будет выполнен исходный код установки терминала или оконной системы, но это не так, тогда вы столкнетесь с этой проблемой (этот порядок выполнения кода / файла не применяется) после запуска).

Чтобы отложить выполнение кода Emacs Lisp до завершения установки терминала или оконной системы, обработайте код как лямбда-список и задайте значение переменной term-setup-hook или window-setup-hook для этой лямбда-функции. Например,

(add-hook 'term-setup-hook
          (lambda ()
           (when (string-match "\\`vt220" (or (getenv "TERM") ""))
             ;; Make vt220's "Do" key behave like M-x:
             (global-set-key [do] 'execute-extended-command))))

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .