更改Emacs光标颜色/与颜色主题的交互

时间:2011-07-13 20:24:28

标签: emacs colors cursor

由于this bug in Cocoa Emacs使用方框光标遮挡了光标下方的字符,并且使用曝光的条形光标往往使我无法分辨它在文本海中的位置。所以我想让光标成为红色吧。我认为这会起作用,在我的.emacs中:

(when window-system
  (require 'color-theme-solarized)
  (global-set-key (kbd "C-c l") 'color-theme-solarized))
(case window-system
  ('ns (progn
        (defadvice color-theme-solarized (after cursor-more-visible)
          "change the cursor color so it stands out more"
          (set-cursor-color "red"))
        (ad-activate 'color-theme-solarized)
        (color-theme-solarized 'dark)
        [...]
        ))
  [...])

但是color-theme-solarized的程序化调用实际上并没有改变光标颜色。如果我以交互方式调用color-theme-solarized(或在带有C-xC-e的* scratch *缓冲区中),光标颜色会发生更改 - 所以建议正在采取,排序。

添加(setq default-frame-alist '((cursor-color . "red")))(按照建议的here)似乎没有帮助。只是为了踢,我尝试将(color-theme-solarized 'dark)更改为(call-interactively color-theme-solarized),但没有成功。

如何让光标颜色在启动时自动设置为红色?

1 个答案:

答案 0 :(得分:4)

default-frame-alist值用于创建的NEW帧。它们不会影响当前帧。如果要在.emacs文件中指定初始帧的值,可以设置initial-frame-alist。要仅更改当前帧中的光标颜色,请使用:

(set-cursor-color "red")