上的elisp
问题描述:
设置使用“系统名称”目录的确,我的elisp打交道时我不流利。总之:我用的是相同的Emacs的配置文件,但像往常一样,也有小的差异,当我在家里或在办公室的时候,我不知道是否可以定义与这样的代码,我的工作目录:上的elisp
(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)
答
我不知道是否有可能定义我的工作目录...
是的,可以。你只需要一个简单的路要走,因为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自动提供的一个变量。所以请确保更改不会损害任何其他行为。
1.'progn's这里什么都不做。 2.'message'返回'nil'(并且用'progn'包装它)。所以第一个'setq'将变量'my-dir'设置为'nil'。 4.第二个'setq'然后将'default-directory'设置为'nil'。你试图完成什么? – Drew
让我猜。你想'默认directory'到是'〜/曼努埃尔/发展协会/ lisp'或'〜/ mmontoya /项目/取决于你'系统name' chipotle'? –