String 删除elisp中的括号

String 删除elisp中的括号,string,elisp,String,Elisp,我想将重复字符串提取到变量 ;; following code works, but I want to replace "~/+NOTES/ztd/" by a variable (setq org-capture-templates '( ("c" "Capture" entry (file+headline "~/+NOTES/ztd/murmur.org" "Capture") "* %u %? " :prepend t) )) 然而,天真的尝试是行不通的。

我想将重复字符串提取到变量

;; following code works, but I want to replace "~/+NOTES/ztd/" by a variable

(setq org-capture-templates '(
    ("c" "Capture" entry (file+headline "~/+NOTES/ztd/murmur.org" "Capture")
         "* %u %? " :prepend t)
))
然而,天真的尝试是行不通的。它不会立即导致错误,但其工作原理与我的预期不同

;;; code fails.. need to be fixed

(defvar org-gtd-directory "~/+NOTES/ztd/")
(setq org-capture-templates '(
    ("c" "Capture" entry (file+headline (concat org-gtd-directory "murmur.org") "Capture")
         "* %u %? " :prepend t)
))
问题: 我认为
(concat org gtd directory“murrur.org”)
应该是
“~/+NOTES/ztd/murrur.org”
,但事实并非如此。我错过了哪一部分?

妨碍了评估。 改用:

(defvar组织gtd目录“~/+NOTES/ztd/”)
(setq)组织捕获模板`(
(“c”“捕获”条目(文件+标题,(concat org gtd目录“murrur.org”)“捕获”)
“*%u%?”:前置t)
))