使用" system-name"设置目录在Elisp

时间:2017-10-19 01:00:01

标签: emacs

事实上,我在与Elisp打交道时并不流利。无论如何:我使用相同的Emacs配置文件,但是像往常一样,当我在家里或办公室里有一些小的差异时,我不知道是否可以使用像这样的代码来定义我的工作目录这个:

(setq my-dir (if (string= system-name "hp-pavilion23")
                 (progn (message "/home/manuel/entwicklung/lisp/"))
               (progn (message "/home/mmontoya/projects/chipotle/"))))

(setq default-directory my-dir)

1 个答案:

答案 0 :(得分:4)

  

我不知道是否可以定义我的工作目标...

是的,你可以。您只需要以简单的方式进行操作,因为 Lisp 旨在简单

(if (string= system-name "hp-pavilion23")
    (setq my-dir "/home/manuel/entwicklung/lisp/")
  (setq my-dir "/home/mmontoya/projects/chipotle/"))

(setq default-directory my-dir)

然而,为什么甚至打扰额外的my-dir?只需将default-directory设置在您想要的位置即可。

;; Somewhere in your ~/.emacs
(if (string= system-name "hp-pavilion23")
    ;; Set default-directory here.
    (setq default-directory "/home/manuel/entwicklung/lisp/")
  (setq default-directory "/home/mmontoya/projects/chipotle/"))

请注意,default-directory是Emacs自动提供的变量。因此,请确保更改不会损害任何其他行为。