EmacsMacPort (Emacs.app) 不加载我自己的,MacOS 中的 ~/.emacs

Posted

技术标签:

【中文标题】EmacsMacPort (Emacs.app) 不加载我自己的,MacOS 中的 ~/.emacs【英文标题】:EmacsMacPort (Emacs.app) does not load my own, ~/.emacs in MacOS 【发布时间】:2018-04-19 04:20:07 【问题描述】:

我刚刚通过以下链接在我的 MacOS 中安装了 Emacs Mac Port。

https://github.com/railwaycat/homebrew-emacsmacport

然后我运行以下命令将 Emacs.app 添加到 MacOS 中的 Launchpad。

ln -s /usr/local/opt/emacs-mac/Emacs.app /Applications

但是每次我从 Launchpad 中单击 Emacs 时,它总是以默认的白色背景显示:

但是,当我在 iterm2 中运行 emacs 时,它以黑色背景显示:

为什么 Emacs.app 不像终端 emacs 那样使用我配置的颜色?

【问题讨论】:

【参考方案1】:

这是我的错,因为 .emacs 中的以下几行只是关于如何以不同的颜色显示类型、字符串、注释和函数名。它与背景颜色设置无关。

所以在iterm2中运行emacs时背景颜色为黑色。 Emacs.app 运行时背景颜色为White。它让我感到困惑的是,没有为 Eamcs.app 读取/加载 .emacs。

;; --------------------------------------
;; Colors are applied to the source code.
;; --------------------------------------
(defun my-font-lock-setup ()
  (set-face-foreground font-lock-builtin-face           "magenta")
  (set-face-foreground font-lock-comment-face           "yellow")
  (set-face-foreground font-lock-type-face              "cyan")
  (set-face-foreground font-lock-string-face            "green")
  (set-face-foreground font-lock-keyword-face           "magenta")
  (set-face-foreground font-lock-function-name-face     "magenta")
  (set-face-foreground font-lock-function-name-face     "brightblue")
  (remove-hook 'font-lock-mode-hook 'my-font-lock-setup))

(add-hook 'font-lock-mode-hook 'my-font-lock-setup)

然后在我添加以下行来设置背景颜色和前景色之后,它可以按预期工作。它确认在 Emacs.app(又名 Emacs GUI)出现在我面前之前已经读取了 .emacs。

;; ------------------------------------
;; Colors are applied to Emacs GUI.
;; ------------------------------------
(cond (window-system
       (set-mouse-color "white") ;Because of bug?
       (setq default-frame-alist
             '((background-color . "gray5")
               (foreground-color . "white")
               (cursor-color     . "Orchid")
               (mouse-color      . "green")
               (minibuffer       . t)
               (menu-bar-lines   . 1)))
       (setq initial-frame-alist default-frame-alist)))

【讨论】:

以上是关于EmacsMacPort (Emacs.app) 不加载我自己的,MacOS 中的 ~/.emacs的主要内容,如果未能解决你的问题,请参考以下文章

从命令行将emacsformacosx设置为默认值