2

私は各タイプのemacs設定をload-cygwin.el、load-cedet.elなどの単一のファイルに入れ、subverionを使用していつでもどこでもそれらを共有します。

load-cygwin.elの場合、これはWindowsプラットフォームでのみ必要ですが、Linuxプラットフォームでこれらの構成を同期するたびに、それらを削除する必要があります。

初期化中にemacsがload-cygwin.elファイルをロードできないのはなぜですか?ファイルを飛び出すためにいくつかの条件が必要ですか?

ありがとう。

4

3 に答える 3

2

それに対処するためのさまざまな方法があります。片道(私が使っている)

ホスト名に基づいて各システムの名前を割り当てます。(チェックウィンドウシステム/ emacs vesrion / OSなどを定義することもできます。)

 ;;;;;;;;;;;;;;  define systems ;;;;;;;;;;;;;;;;

 (defvar on-laptop          ; on my laptop, mostly I can run everything
   (string-match "rag" (system-name)))

 (defvar on-lab-computer                 ; main lab desktop
   (string-match "okho" (system-name)))

 (defvar on-lab-server        ; lab cluster
   (string-match "amu" (system-name)))


 ;;;;;;;;;;;;;;; Usage ;;;;;;;;;;;;;;;;;;;;;;;;;
 (when on-laptop
 ;;; music / emms config
   (load "emms-config.el"))


 ; load work related stuff
 (when on-lab-computer
   ;; load work related

    )


 (when (not on-lab-server)
   ;;; some setup that are unnecessary on cluster, but useful on remaining systems

   )
于 2012-04-16T07:52:52.600 に答える
0

OS に依存する設定については、system-type変数を確認してください。

(and (memq system-type '(cygwin windows-nt))
     (load "load-cygwin"))

条件付き要件を処理する別の方法は、locate-library関数を使用してファイルが存在するかどうかを確認することです。load-cygwin.el(これは、Linux マシンに が存在しないことを前提としています。)

(and (locate-library "load-cygwin")
     (load "load-cygwin"))

この種の条件付き要件のもう 1 つの便利な変数は ですwindow-system

于 2012-04-17T10:03:45.827 に答える