【问题标题】:org mode setup problem when trying to use capture尝试使用捕获时的组织模式设置问题
【发布时间】:2010-09-01 22:35:33
【问题描述】:

我试图按照组织手册第 74 页中的说明使用捕获。 这是 org 模式的 .emacs 文件。

(require 'org-install)
(add-to-list 'auto-mode-alist '("\\.org$" . org-mode))
(define-key global-map "\C-cl" 'org-store-link)
(define-key global-map "\C-ca" 'org-agenda)
(setq org-log-done t)

(setq org-default-notes-file (concat org-directory "~/notes.org")) <-- error
(define-key global-map "\C-cc" 'org-capture)

但是我得到了这个错误。可能有什么问题?

Symbol's value as variable is void: org-directory

添加

在戴夫的回答之后,我修改了代码,它似乎工作正常。但是我发现的另一个问题是 C-c c 给了我这个错误。

Symbol's function definition is void : org-capture

【问题讨论】:

  • M-x org-version 的输出是什么?
  • @Dave : M-x org-version 给了我[不匹配]​​。

标签: emacs org-mode


【解决方案1】:

首先,确保您使用的是 org-mode 6.36 或更高版本。 (早期版本使用 remember.el,但设置不同。)

您正在使用未定义的符号org-directory。 尝试使用:

(setq org-default-notes-file (expand-file-name "~/notes.org"))

跟进: 加载最近的 org-mode 包:

(add-to-list 'load-path "/my/home/emacs.d/org-7.01h/lisp")
(require 'org-install)
(require 'org) ;; maybe this line is redundant

请注意,打包后的 org-mode lisp 文件位于 lisp 子目录中。

【讨论】:

  • 如何查看org模式的版本?我只是在我的 Mac 上下载 Aqumacs。
  • @proseek,来自 Aquamacs 源的这个 (github.com/davidswelt/aquamacs-emacs/blob/master/lisp/org/…) 显示 Aquamacs 组织模式版本是 6.33x。您必须下载/安装更新的 org-mode 版本才能获得 org-capture。
  • 我按照手册中的说明安装了最新的org模式(将安装的目录添加到exec-path),但似乎运行的是旧版本的org-mode。
  • @proseek,执行路径?你的意思是加载路径?我添加到答案中的 .emacs 行在我的 Aquamacs 中加载了最新的 org-mode。
  • Debian Squeeze 默认为 org-mode 6.33,因此从 org-mode 网站下载更新的 .deb 文件为我解决了这个问题。
【解决方案2】:

我知道这个问题已经得到解答,但我想给那些没有成功的人留下一个更彻底的答案。我刚刚完成了这些动作,我将在下面列出每个步骤。

  1. http://orgmode.org/ 并下载 tar.gz(下载时为稳定版 7.9.2(2012 年 9 月)
  2. untar (tar -zxvf nameofile.tar.gz 或者直接双击文件)
  3. 编辑 local.mk 文件以将文件放在您想要的位置。我的用户目录中有一个名为 Scripts 的文件夹,我在其中根据脚本语言保持有序。我决定把我的 emacs 东西也放在那里。在脚本文件夹中是一个名为“emacs”的文件夹。作为前缀,我使用了“脚本”,但我可以将前缀设置为“/Users/Username/Scripts/emacs”。我只需要确保其他目录以“$(prefix)/emacs”开头——提示:检查 infodir。
    # Name of your emacs binary
    EMACS = emacs
    


    # 在哪里找到本地软件 前缀 = /用户/用户名/脚本
    # 本地 lisp 文件的去向。 lispdir= $(前缀)/emacs/lisp/org
    # 本地数据文件的去向。 datadir = $(前缀)/emacs/etc/org
    # 信息文件的去向。 infodir = $(前缀)/emacs/info

  4. 编辑您的 .emacs 文件并在其中粘贴两个新路径(如果还没有的话)。第一个是 lisp 文件夹,用于存放您可能拥有的任何 .el 文件,第二个是因为我将 org 文件包含在 org 文件夹中,该文件夹是 lisp 的子文件夹。不幸的是,“加载路径”不够智能,无法检测子文件夹,因此您必须明确设置每个文件夹。

    • (setq load-path (cons "~/Scripts/emacs/lisp" load-path))
    • (setq load-path (cons "~/Scripts/emacs/lisp/org" load-path))
  5. 在 Aquamacs 或 Emacs 中使用 M-x org-version(元键 + x 并键入“org-version”)检查版本

提示:

  • 纳米~/.emacs
  • open -a Textedit ~/.emacs

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多