我想逐渐从 GNU Emacs 切换到 Xemacs。有什么技巧可以让两者发挥得很好吗?
目前,我看到以下问题:
xemacs 改变 .emacs
两者不喜欢对方的 .elc 文件。
谢谢!
最佳答案
有趣的是,大多数似乎都在朝着另一个方向发展,因为我相信 XEmacs 相当休眠(基于 xemacs-announce 列表的事件)。简单的包可以共存,但很多人已经放弃让他们的包在 XEmacs 和 Emacs 中工作。
但是,为了回答您的问题,为了让您的 .emacs 在两者中都能正常工作,我将开始编写一些例程来在两者之间进行函数转换。例如,有一次我需要它来让我的 .emacs 在 XEmacs 中工作:
(if (not (fboundp 'tags-table-files))
(defun tags-table-files ()
(tag-table-files tags-file-name)))
其他事情是在 Emacs 变体上触发的,我将其存储在变量 GNU 中:
(setq GNU (not (string-match "XEmacs\\|Lucid" (emacs-version))))
(if GNU
(do-emacs-thing)
(do-xemacs-thing))
我一直在编译 .emacs 文件并执行以下操作:
(setq compiled-dot-emacs-name (format ".emacs-%d%s" emacs-major-version
(if GNU "" "X")))
关于编译包,我可能会将所有 .el 文件存储在一个目录中(比如 emacs-lisp),但有一个 xemacs 变体(xemacs-lisp),带有指向 .el 文件的符号链接(symbolic link)。然后您只需从相应的 Emacs 变体中对每个目录进行字节编译,并确保您的加载路径指向正确的路径。
Emacs wiki 上有一个关于 Emacs versus XEmacs 的页面,这可能是找出其他技巧让他们同居的一个很好的起点。具体来说,有一个 customizing both 页面。
关于emacs - 让 GNU emacs 和 xemacs 共存的好做法是什么,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/955439/