我的.emacs文件中旧的,可靠的(set-cursor-color“#aa88dd”)与Aquamacs失败,除非在Aquamacs启动后运行。这种类型的故障是Emacs在发布期间做一些秘密的典型故障,但我无法弄清楚是什么。我修改并保存了Aquamacs设置的光标(光标面:背景:),它适用于会话,并保存设置,但没有为下一个会话正确初始化。即便如此,我还有一个明亮的红色光标。
工作Emacs:GNU Emacs 23.2.1(i686-apple-darwin,NS apple-appkit-1038.29)
失败的Aquamacs:GNU Emacs 23.3.50.1(i386-apple-darwin9.8.0,NS apple-appkit-949.54)
1)工作区和修复程序表示赞赏。目前我正在使用23.2.1。我不觉得有必要升级,但迟早我不得不这样做。
2)搜索互联网什么都没发现。我怀疑问题是一个与其他问题相关的红鲱鱼,其中Aquamacs无法确定某些设置并选择红色作为光标颜色。有没有办法让Emacs将每个加载的配置文件的名称打印到消息中?
3)相关的大图片问题:通常有一种方法可以强迫新版本的Emacs像老版本一样吗?它将解决我当前的问题,以及新版本偶尔会发生的剧变。
以下是Aquamacs customizations.el,它似乎已正确保存了光标背景。我没有编辑这个文件。将(cursor ...)语句添加到我的.emacs custom-set-variable中没有任何效果。
(custom-set-variables
;; custom-set-variables was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(cua-mode nil nil (cua-base))
'(cua-normal-cursor-color "#aa88dd")
'(cursor-type (quote box))
'(ess-S-assign "_")
'(ido-everywhere t)
'(ido-show-dot-for-dired t)
'(line-move-visual nil)
'(term-bind-key-alist (quote (("C-c C-x b" . switch-to-buffer) ("C-c M-x" . execute-extended-command) ("C-c C-c" . term-interrupt-subjob) ("M-`" . other-frame) ("C-m" . term-send-raw))))
'(term-unbind-key-list (quote ("C-c"))))
(custom-set-faces
;; custom-set-faces was added by Custom.
;; If you edit it by hand, you could mess it up, so be careful.
;; Your init file should contain only one such instance.
;; If there is more than one, they won't work right.
'(default ((t (:inherit nil :stipple nil :background "White" :foreground "black" :inverse-video nil :box nil :strike-through nil :overline nil :underline nil :slant normal :weight normal :height 210 :width normal :foundry "apple" :family "Inconsolata"))))
'(cua-normal-cursor-color "#aa88dd")
'(cursor ((t (:background "#AA88DD" :foreground "black" :box nil)))))
答案 0 :(得分:2)
我并不完全迷恋Aquamacs,但emacsforosx有一个非常烦人的(对我来说)属性,窗口位置不会在会话中保存....它总是在我的主显示屏的左上角打开,而不是在哪里我找到了它。并且没有办法解决它。
我不记得我发现/了解到这是设置光标颜色的方法,但请参阅此常见问题:
http://www.emacswiki.org/emacs/AquamacsFAQ#toc16
打开缓冲区并按照您喜欢的方式设置。然后选择
选项 - >外观 - >采用面部和帧参数作为帧默认值
这会在您default-frame-alist
的{{1}}部分中添加custom-set-variables
定义。
如果您以后想要不同的光标颜色,则可以尝试尝试。
答案 1 :(得分:0)
如果您怀疑您的Emacs版本在启动期间正在执行某项操作,我们会覆盖您的偏好设置,您可以尝试在初始化时设置首选项,方法是在after-init-hook
中添加一个函数:
(add-hook 'after-init-hook (lambda () (set-cursor-color "#aa88dd")) 'append)
这可能会导致您的自定义评估得最晚,以覆盖默认值。 (编辑:使用“append”参数,此函数将被添加到钩子列表的末尾,希望覆盖Aquamacs放置的任何其他东西。)
答案 2 :(得分:0)
尝试在.emacs
文件(message "Hello -- this message came from the bottom of your .emacs file.")
的底部添加一条消息,并在customizations.el
文件(message "Hello -- this message came from the bottom of your customizations.el file.")
底部添加另一条消息。如果每个配置文件中的设置存在冲突,那么最后加载的将确定光标颜色设置。如果其中任何一个文件中的光标颜色只有一个设置,那么您需要在Aquamacs的源文件中进行单词搜索,以找出光标颜色的设置位置。例如,以下是Github上最新版Aquamacs24分支的源文件中set-cursor-color
的单词搜索结果:https://github.com/davidswelt/aquamacs-emacs
Aquamacs打包应用程序中的源文件可能会以* .gz格式压缩。您可能需要对未经压缩的源文件执选择所需的分支后,会出现 zip 下载按钮。
Searching 9317 files for "set-cursor-color"
/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/aquamacs/oneonone/oneonone.el:
1453 "Set cursor type depending on whether an input method is used or not."
1454 (when 1on1-change-cursor-on-input-method-flag
1455: (set-cursor-color
1456 (if current-input-method
1457 1on1-default-frame-cursor-color-input-method
/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/emulation/cua-base.el:
1141 (stringp color)
1142 (not (equal color (frame-parameter nil 'cursor-color))))
1143: (set-cursor-color color))
1144 (if (and type
1145 (symbolp type)
/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/emulation/viper-util.el:
156 ;; This was equally true before the advent of viper-frame-value.
157 ;; Now it could be changed by passing frame to v-f-v.
158: (defun viper-set-cursor-color-according-to-state (&optional frame)
159 (cond ((eq viper-current-state 'replace-state)
160 (viper-change-cursor-color
/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/emulation/viper.el:
946 ))
947
948: (defadvice set-cursor-color (after viper-set-cursor-color-ad activate)
949 "Change cursor color in VI state."
950 (modify-frame-parameters
/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/frame.el:
1208 (face-set-after-frame-default (selected-frame))))
1209
1210: (defun set-cursor-color (color-name)
1211 "Set the text cursor color of the selected frame to COLOR-NAME.
1212 When called interactively, prompt for the name of the color to use.
/Users/HOME/Desktop/aquamacs-emacs-aquamacs24/lisp/term/pc-win.el:
349 (fset 'set-default-font 'ignore)
350 (fset 'set-mouse-color 'ignore) ; We cannot, I think.
351: (fset 'set-cursor-color 'ignore) ; Hardware determined by char under.
352 (fset 'set-border-color 'ignore) ; Not useful.
353