繁体   English   中英

如何为Windows和Linux计算机设置常见的emacs环境?

[英]how to setup common emacs environment for windows and linux computers?

我使用emacs进行文本编辑和脚本开发。 我使用windows和ubuntu emacs 23.1分发。

现在我希望我的linux和windows环境都能复制相同的环境。

  1. 我将保存我的emacs环境https://bitbucket.org/krish/emacs/ ,因此文件同步不会有问题。

  2. 我对这两种环境没有任何不同的分辨率设置

  3. 我在Windows和Linux中使用aspell需要特定的路径和不同的安装程序

  4. 我使用perl,python,ruby模式以及其他html,css,js-2和nxml

是否有任何特定的方式/建议来管理Windows和Linux之间的常见emacs环境? 特别是如何管理程序路径?

没有真正直截了当的方式。 您必须将大多数(如果不是全部)平台特定的例程隔离到不同的文件中,并在检查平台后加载它们。

Steve Yegge提供了一些关于他如何管理他的.emacs文件以及实际代码本身的信息 他的一个观点是他如何保持跨平台的可攻击性。 值得一读。

我有一个非常类似的设置(Emacs 22.1,22.2,23.1在各种Linux版本上有和没有X和Windows有和没有Cygwin)。 我的设置包括ELPA,auctex,emacsw32,CEDET,JDEE,nxml和各种其他elisp软件包。 我不使用系统附带的任何内容,而是在subversion中保留这些包的副本。

大多数设置只适用于所有环境。 关于路径,我认为大多数想要调用的东西,比如aspell,也可以从命令行在Emacs之外调用,所以值得将它们放在$ PATH中,从而避免在Emacs中指定完整路径。

对于其他事情,我做.emacs:

; Load system-specific library and setup system-specific things that 
; must be setup before main setup 
(cond ((eq system-type 'windows-nt) (load-library "ntemacs-cygwin"))
      ((eq system-type 'gnu/linux) (load-library "linux"))
      (t (load-library "default")))

(system-specific-setup)

; Set up things as usually, no more system-type queries.

linux.el中的位置:

(defun system-specific-setup()

  ; Default font
  (add-to-list
   'default-frame-alist
   '(font . "-Misc-Fixed-Medium-R-Normal--14-130-75-75-C-70-ISO8859-1"))
  (setq my-frame-width 95)
  (setq my-frame-height 56)
  ; Not much else
)

在ntemacs-cygwin.el中:

(defun system-specific-setup()
  ;; EmacsW32
  (setq emacsw32-root (concat private-elisp-lib "EmacsW32"))
  (add-to-load-path emacsw32-root)

  ;; Work around XSymbol initialization bug
  ;; ("C:\\ImageMagick\\convert" instead of system $PATH? Seriously?)
  (setq x-symbol-image-convert-program "convert")

  ;; etcetera...

)

基本上,这是在一个系统上进行设置,在另一个系统上尝试它们并将任何需要与系统特定设置不同的因素分解出来的问题。

Steve Yegge在Noufal答案中的文章非常好。

您可以查看我的emacs配置 ,其中不同机器的操作被拆分为单独的文件

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM