分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
我的工作生活重度依赖Gmail和Emacs,它们的结合,让我欣喜万分。通过Emacs Gnus收发Gmail之后,我不用翻墙了,因为IMAP不是HTTP(S)协议,没有被墙。我能很惬意的在Emacs中收发,检索Gmail邮件。
本文已经重新修改过,测试环境是Emacs 24.3.1 和 Ubuntu 13.10.
如何配置的细节请参考一篇非常重要的文章:
http://www.emacswiki.org/emacs/GnusGmail
配置
现在看一下我的配置文件~/.gnus
(setq user-full-name "Dean Chen") (setq user-mail-address "[email protected]") ;;;;;;;;;;;;;;;;;;;;;;自动显示图片;;;;;;;;;;;;;;;;;;;;(auto-image-file-mode)(setq mm-inline-large-images t)(add-to-list 'mm-attachment-override-types "image/*")(setq gnus-select-method '(nnimap "gmail" (nnimap-address "imap.gmail.com") (nnimap-server-port 993) (nnimap-stream ssl)))(setq message-send-mail-function 'smtpmail-send-it smtpmail-starttls-credentials '(("smtp.gmail.com" 587 nil nil)) smtpmail-auth-credentials '(("smtp.gmail.com" 587 "[email protected]" nil)) smtpmail-default-smtp-server "smtp.gmail.com" smtpmail-smtp-server "smtp.gmail.com" smtpmail-smtp-service 587 gnus-ignored-newsgroups "^to\\.\\|^[0-9. ]+\\( \\|$\\)\\|^[\"]\"[#'()]")
我的~/.authinfo文件:
machine imap.gmail.com login [email protected] password your_pwd port 993machine smtp.gmail.com login [email protected] password your_pwd port 587
好了,现在介绍如何使用。
启动gnus后,会进入Group Buffer看到Gmail里面的目录。
提醒,使用gnus后有个副作用是web版本的gmail里面很多邮件被标记未unread.
Group Buffer的操作
显示Group的例子
100: nnimap+gmail:csdn 100: nnimap+gmail:cml 101: nnimap+gmail:CppCMS 191: nnimap+gmail:INBOX 103: nnimap+gmail:bank 197: nnimap+gmail:[Gmail]/All Mail 104: nnimap+gmail:[Gmail]/Sent Mail 5: nnfolder+archive:sent.2014-04 10: nnfolder+archive:sent.2014-03 9: nnfolder+archive:sent.2014-02* 0: CppCMS 26821: INBOX 27864: [Gmail]/All Mail* 0: bank 608: cml* 0: csdn 1: nndraft:drafts
其实只要看nnimap+gmail: 开头的Groups即可。其他的可以直接忽视。104: 代表里面有104个未读邮件。
进入某个Group
Enter键进入某个Group
C-u Enter键更好,因为会显示已读的邮件。
订阅或者不订阅
U键是不订阅,这些和Gnus常规操作一样,U标记的目录将不会显示。
显示所有Group
A A可以显示所有目录,包括U标记的目录。
刷新Group
只要按下g即可
查找邮件
GG可以用来查找g 检查新email
如果想检查一下有没有新Email,将光标停留在Inbox上,按g键。
设置某个group所有邮件都显示,移动到某个group上,按G p,然后添加下面一段:
((gnus-use-scoring nil) (expiry-wait . 2) (display . all))
按下Ctrl- c Ctrl-c保存。这样所有的email都不会被隐藏了。
标记当前组邮件为已读
c 即可,据说也可以用在Summary Buffer中。
Summary Buffer的操作
标记为已读
d键 标记邮件为已读,前面会出现r. 标记
如果直接按Ret键打开邮件,会出现R. 标记,暂时不明白R.和r.的区别是什么?
设置所有当前Summary Buffer中的email为已读 M C-c 然后每个email前面会出现C标记。注意,Ubuntu下M被用于激活搜索框,所以这个快捷键暂时还用不了。
问题:
这些操作之后,用浏览器访问Gmail,发现邮件仍然是未读状态。
显示已读邮件
C-u M-g
这个非常重要,默认GNUS不显示已读邮件其实非常不方便。
不过这个仍然受到一次打开数目的限制,所以有时候还需要用 / o 命令。
感觉这个地方就是不方便。
打开邮件
Ret键
如果已经在summary plugged缓冲区,g代表打开光标所指的email,作用等同与Enter键。
回复邮件
R键 回复邮件,带原件内容, 注意,内容必须写在下面一行文字的后面,如果在之前写,邮件内容将会编码成无法阅读的内容。
--text follows this line--
r键 回复邮件,不带原件内容
Reply to All 是通过按下两个键完成的:S + W/w
如果W则带原件内容,如果w则不带原件内容。
创建新邮件
用a
放弃正在编写的邮件
C-c C-k
发送邮件
C-c C-c 发送邮件。
退回到Group Plugged
q 可以用来退回到某个文件夹(Group Plugged)。
/ o 用来查看old email, 因为有些不重要的email阅读过后,再次进入目录默认是看不到的。
/ N 用来检查是否有新email
排序
email排序
在summary plugged中,C-c C-s C-d是按照日期排序,最新的email出现在最下方,这是默认排序方式。
C-c C-s Enter C-d是按照日期倒排,最新的email出现在最上方,和gmail的网页版本很像。
C-u space 查看所有email
Enter键进入查询有时候会看不到一些过去已经阅读的Email,所以可以用C-u space 来查看所有Email。
过滤
主要参考官方文档:http://www.gnu.org/software/emacs/manual/html_mono/gnus.html#Limiting
/ + a 然后输入author的名字,比如facebook,可以快速的将非facebook发送的email过滤掉
/ + s 用来过滤subject
/ + w 取消当前过滤
转发邮件
C-c C-f 即可。
也可用# 标记多个email,然后用C-c C-f一次转发。
附件
发送附件,用快捷键C-c C-a, 然后回答几个问题,附件路径,描述信息等。disposition用默认的attachment即可。
接收附件,email正文最后会有一个链接,光标移动到那一行,然后回车,就会提示下载。有时候附件是中文,直接按回车不能保存,需要按o键另存为。
如果发送邮件时要添加附件,按Ctr-c 回车 然后f。
如果Email内容是HTML代码,可以将光标移动到该Email的Summary上,然后按K H,Gnus会将Email保存成HTML文件,然后打开外部浏览器浏览本地的HTML文件。
Emacs 24可以直接显示HTML内容。上面的操作一般不再需要。
推荐阅读
http://blog.binchen.org/?p=403
http://visayafan.com/Coding/Lisp/EmacsGnus.html
享受生活吧。