Gnus:摆脱〜/ Mail和〜/ News文件夹


7

Gnus(Emacs的邮件客户端)创建目录~/Mail/~/News。我不想弄乱我的主文件夹,我怎么能改变这个目录,比方说,~/.emacs.d/mail/~/.emacs.d/news/

Answers:


9

首先我执行apropos-value ~/Mail/。它向我扔了许多变量,它们的值包含这个字符串。在我的Debian i安装包上,emacs24-el所以我可以在代码中追踪这些变量。我跑describe-variable了变量nnfolder-directory,值是~/Mail/。在转到代码并发现它初始化如下:

(defvoo nnfolder-directory (expand-file-name message-directory))

nndraft-directory包含值的变量也是如此~/News/,它实际上来自变量gnus-directory。由于某种原因,目录~/Mail/archive/仍然是创建的,我认为nnfolder-directory在我message-directory在init文件中设置之前已经初始化了。

简历:要更改您的邮件和新闻目录,请将其放入init文件中

(setq message-directory "~/.emacs.d/mail/")
(setq gnus-directory "~/.emacs.d/news/")
(setq nnfolder-directory "~/.emacs.d/mail/archive")

草稿目录和发送目录怎么样?
白炽灯2015年

感谢您的提示apropos-value- 我不知道有人能做到这一点!
unhammer 2016年

3

我已经跟踪了sindikat观察到的问题(由于某种原因,目录~/Mail/archive/仍然被创建)。起初我以为gnus初始化代码中确实存在一个错误,我在这里报告过:

http://debbugs.gnu.org/cgi/bugreport.cgi?bug=18284

但后来我意识到message-directory设置被我的newsrc文件中的先前定义覆盖了。因此,您必须编辑newsrc并删除有问题的定义,以便删除默认设置的每个跟踪。


0

虽然该解决方案适用于大多数变量,但我无法设置草稿目录,nndraft-directory因为它在调用时被覆盖gnus(这是唯一的例外)。这主要是因为nndraft被认为是后端,因此从nnoo-state-alist列表中配置。可悲的是,nnoo-state-alist在加载时配置并获取初始nndraft-directory值。

快速而肮脏的修复方法是更改​​列表值:

(setq nndraft-directory "~/.emacs.d/mail/drafts/")
(setcdr (assoc 'nndraft-directory
               (nnoo-variables 'nndraft))
        nndraft-directory)
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.