|
发表于 2008-10-24 15:11:19
|
显示全部楼层
不知道此帖是否依旧有人关注,很多配置都是抄的这个地方的,十分感谢楼主。
学习了几天想全面转向emacs却出了点问题
1,erc默认72(?)个字符自动换行不知道是什么问题。
2,想用gnus查收gmail邮件和上新闻组,但是无论怎么配置都是显示“Symbol's value as variable is void: gnus-secondary-select-methods”
有人说是emacs-cvs默认已经包含了gnus不需要再安装gnus的包了所以就又把gnus卸载了。
- gnus配置
- require 'nnmairix)
- ; 接收邮件或新闻
- (setq user-mail-address cbkidlll097@gmail.com) ;邮件地址
- (setq gnus-select-method '(nntp "localhost")) ;首要选择方法, 从本地缓冲文件中读取新闻 (leafnode抓取)
- (setq gnus-refer-article-method '(nntp "localhost")) ;抓取文章的方法, 和 `gnus-select-method' 一样
- (setq gnus-secondary-select-methods ;次要选择方法
- '(
- (nnmaildir "Gmail" ;nnmaildir后端, 从本地文件中读邮件 (getmail 抓取)
- (directory "~/MyEmacs/Mail/")) ;读取目录
- ))
- (setq mail-sources ;邮件源设置
- '((maildir :path "~/MyEmacs/Mail/" ;本地邮件存储位置
- :subdirs ("cur" "new" "tmp")))) ;本地邮件子目录划分
- ;; 发送邮件
- (setq send-mail-function 'sendmail-send-it ;设置邮件发送方法
- message-send-mail-function 'sendmail-send-it ;设置消息发送方法
- sendmail-program "/usr/bin/msmtp" ;设置发送程序
- mail-specify-envelope-from t ;发送邮件时指定信封来源
- mail-envelope-from 'header) ;信封来源于 header
- (setq gnus-message-archive-group ;设置消息归档的组
- '((if (message-news-p)
- "nnfolder+archive:nnfolder" ;新闻归档
- "nnmaildir+Gmail:inbox")) ;邮件归档
- )
- ;; 常规设置
- (gnus-agentize) ;开启代理功能, 以支持离线浏览
- (setq gnus-inhibit-startup-message t) ;关闭启动时的画面
- (setq gnus-novice-user nil) ;关闭新手设置, 不进行确认
- (setq gnus-expert-user t) ;不询问用户
- (setq gnus-show-threads t) ;显示邮件线索
- (setq gnus-interactive-exit nil) ;退出时不进行交互式询问
- (setq gnus-use-dribble-file nil) ;不创建恢复文件
- (setq gnus-always-read-dribble-file nil) ;不读取恢复文件
- (setq gnus-asynchronous t) ;异步操作
- (setq gnus-large-newsgroup nil) ;设置大容量的新闻组打开不要确认
- (setq gnus-large-ephemeral-newsgroup nil) ;和上面的变量一样, 只不过对于短暂的新闻组
- (setq gnus-summary-ignore-duplicates t) ;忽略具有相同ID的消息
- (setq nnmail-expiry-wait 7) ;邮件自动删除的期限 (单位: 天)
- ;; 窗口布局
- (gnus-add-configuration
- '(article
- (vertical 1.0
- (summary .35 point)
- (article 1.0))))
- ;; 显示设置
- (setq mm-text-html-renderer 'w3m) ;用W3M显示HTML格式的邮件
- (auto-image-file-mode) ;自动加载图片
- (setq mm-inline-large-images t) ;显示内置图片
- (add-to-list 'mm-attachment-override-types "image/*") ;附件显示图片
- ;; 邮件搜索
- (setq nnmairix-allowfast-default t) ;加快进入搜索结果的组
- ;; 消息风格
- (setq message-from-style 'angles)
- (setq message-syntax-checks '((sender . disabled)))
- ;; 概要显示设置
- (setq gnus-summary-gather-subject-limit 'fuzzy) ;聚集题目用模糊算法
- (setq gnus-summary-line-format "%4P %U%R%z%O %{%5k%} %{%14&user-date;%} %{%-20,20n%} %{%ua%} %B %(%I%-60,60s%)\n")
- (defun gnus-user-format-function-a (header) ;用户的格式函数对应于 `gnus-summary-line-format' 中的 `%ua'
- (let ((myself (concat "<cbkidlll097@gmail>"))
- (references (mail-header-references header))
- (message-id (mail-header-id header)))
- (if (or (and (stringp references)
- (string-match myself references))
- (and (stringp message-id)
- (string-match myself message-id)))
- "X" "│")))
- ;; 时间显示
- (add-hook 'gnus-article-prepare-hook 'gnus-article-date-local) ;将邮件的发出时间转换为本地时间
- (add-hook 'gnus-select-group-hook 'gnus-group-set-timestamp) ;跟踪组的时间轴
- (add-hook 'gnus-group-mode-hook 'gnus-topic-mode) ;新闻组分组
- (setq gnus-user-date-format-alist ;格式化时间信息
- '(((gnus-seconds-today) . "TD %H:%M") ;当天
- (604800 . "W%w %H:%M") ;七天之内
- ((gnus-seconds-month) . "%d %H:%M") ;当月
- ((gnus-seconds-year) . "%m-%d %H:%M") ;今年
- (t . "%y-%m-%d %H:%M"))) ;其他
- ;; 线程的可视化外观
- (setq gnus-summary-same-subject "")
- (setq gnus-sum-thread-tree-indent " ")
- (setq gnus-sum-thread-tree-single-indent "◎ ")
- (setq gnus-sum-thread-tree-root "● ")
- (setq gnus-sum-thread-tree-false-root "☆")
- (setq gnus-sum-thread-tree-vertical "│")
- (setq gnus-sum-thread-tree-leaf-with-other "├─► ")
- (setq gnus-sum-thread-tree-single-leaf "╰─► ")
- ;; 设置邮件报头显示的信息
- (setq gnus-visible-headers
- (mapconcat 'regexp-quote
- '("From:" "Newsgroups:" "Subject:" "Date:"
- "Organization:" "To:" "Cc:" "Followup-To" "Gnus-Warnings:"
- "X-Sent:" "X-URL:" "User-Agent:" "X-Newsreader:"
- "X-Mailer:" "Reply-To:" "X-Spam:" "X-Spam-Status:" "X-Now-Playing"
- "X-Attachments" "X-Diagnostic")
- "\\|"))
- ;; 用 Supercite 显示多种多样的引文形式
- (setq sc-attrib-selection-list nil
- sc-auto-fill-region-p nil
- sc-blank-lines-after-headers 1
- sc-citation-delimiter-regexp "[>]+\\|\\(: \\)+"
- sc-cite-blank-lines-p nil
- sc-confirm-always-p nil
- sc-electric-references-p nil
- sc-fixup-whitespace-p t
- sc-nested-citation-p nil
- sc-preferred-header-style 4
- sc-use-only-preference-p nil)
- ;;有些用web方式发出的邮件里有html,加入下面的设置,只看其中的 plain text 部分
- (eval-after-load "mm-decode"
- '(progn
- (add-to-list 'mm-discouraged-alternatives "text/html")
- (add-to-list 'mm-discouraged-alternatives "text/richtext")))
- (defalias 'mail-header-encode-parameter 'rfc2047-encode-parameter)
- ;; 防止误发邮件, 发邮件前需要确认
- (defadvice message-send (around my-confirm-message-send)
- (if (yes-or-no-p "Really send message? ")
- ad-do-it))
- (ad-activate 'message-send)
- ;; 线程设置
- (setq
- gnus-fetch-old-headers 'some ;抓取老的标题以联系线程
- gnus-use-trees t ;联系老的标题
- gnus-generate-tree-function 'gnus-generate-horizontal-tree ;生成水平树
- gnus-summary-thread-gathering-function 'gnus-gather-threads-by-subject ;聚集函数根据标题聚集
- gnus-tree-minimize-window nil) ;用最小窗口显示
- ;; 排序
- (setq gnus-thread-sort-functions
- '(
- (not gnus-thread-sort-by-date) ;时间的逆序
- (not gnus-thread-sort-by-number))) ;跟踪的数量的逆序
- ;; 自动更新新消息
- (run-with-timer 0 gnus-update-news-repeat 'gnus-update-news) ;在 mode-line 显示新的消息
- (add-hook 'gnus-summary-exit-hook 'gnus-update-news) ;退出 summary 模式时, 自动更行 新消息的数量
- ;; 条纹状 Summary buffer
- (add-hook 'gnus-summary-prepare-hook
- (lambda ()
- (stripe-buffer-on gnus-summary-buffer)))
- (add-hook 'gnus-summary-exit-hook
- (lambda ()
- (stripe-buffer-off gnus-summary-buffer)))
- ;; 最后设置
- (gnus-compile) ;编译一些选项, 加快速度
-
复制代码 |
|