请大家帮忙看看下面的这个代码对吗?运行出错了,说是找不到文件 (setq exec-path '((concat (Emacs “Files/misc/Aspell/bin/”))))
(setq exec-path '(“~/Aspell/bin/"))是对的
注: 这两个目录都是有文件的,估计是语法问题。
请大家帮忙看看下面的这个代码对吗?运行出错了,说是找不到文件 (setq exec-path '((concat (Emacs “Files/misc/Aspell/bin/”))))
(setq exec-path '(“~/Aspell/bin/"))是对的
注: 这两个目录都是有文件的,估计是语法问题。
你想要设置的路径是什么?
另外,'
之后的表达式里的函数调用是不会被执行的,应该换成 list
或 `
(backquote)
'((concat "~/Emacs/" "Files/misc/Aspell/bin/"))
=> ((concat "~/Emacs/" "Files/misc/Aspell/bin/"))
(list (concat "~/Emacs/" "Files/misc/Aspell/bin/"))
=> ("~/Emacs/Files/misc/Aspell/bin/")
`(,(concat "~/Emacs/" "Files/misc/Aspell/bin/"))
=> ("~/Emacs/Files/misc/Aspell/bin/")
设置成list就可以了,谢谢! Emacs 是我设置的一个变量,要用到concat (setq exec-path (list (concat Emacs “Files/misc/Aspell/bin/”)))
如果要是必须用到'
呢?
比如设置banner的时候:
dotspacemacs-startup-banner '“e:/Emacs/Files/misc/logo.png”
我设置的变量Emacs 就是指e:/Emacs/
,这不是我的Home目录,所以不能直接用~/
现在我想用Emacs变量,不想用上面的绝对路径。
'
是让后面的对象当作一个常量,避免执行,字符串本身就是常量,再 '
就多此一举了。
'"e:/Emacs/Files/misc/logo.png"
=> "e:/Emacs/Files/misc/logo.png"
"e:/Emacs/Files/misc/logo.png"
=> "e:/Emacs/Files/misc/logo.png"
(setq dotspacemacs-startup-banner (concat Emacs "Files/misc/logo.png"))
明白了,非常感谢。