<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    java Source

      BlogJava :: 首頁(yè) :: 聯(lián)系 :: 聚合  :: 管理
      14 Posts :: 24 Stories :: 8 Comments :: 0 Trackbacks

    設(shè)置新聞服務(wù)器

    啟動(dòng) gnus 非常簡(jiǎn)單,在你的 Emacs 里執(zhí)行 M-x gnus 命令就可以了,如果你想在另一個(gè) frame 里啟動(dòng) gnus,那就執(zhí)行 M-x gnus-other-frame 。但是,現(xiàn)在先別啟動(dòng),因?yàn)槲覀兿鹊眠M(jìn)行一些配置。 gnus 啟動(dòng)的時(shí)候會(huì)去讀你寫在 ~/.gnus.el 里的內(nèi)容,就像 Emacs 啟動(dòng)時(shí)要讀 ~/.emacs 一樣。當(dāng)然你也可以把對(duì) gnus 的配置寫在 ~/.emacs 里,但是最好還是使用 gnus 自己的配置文件。

    首先,我們要設(shè)置新聞服務(wù)器,也就是 nntp 服務(wù)器, nntp 是 Network News Transfer Protocal 的縮寫,國(guó)內(nèi)提供 nntp 服務(wù)的主機(jī)不多,教育網(wǎng)內(nèi)能訪問的nntp 服務(wù)器,我只找到了一個(gè): news.cn99.com,好了,現(xiàn)在就在 ~/.gnus.el 里加上這一句:

    (setq gnus-select-method '(nntp "news.cn99.com"))
     ;; or news.yaako.com
     

    設(shè)置郵件服務(wù)器

    現(xiàn) 在,我們進(jìn)行接收郵件的設(shè)置。玩*nix 的老鳥都知道,*nix 的哲學(xué)是每個(gè)程序"Only do one thing, and do it well." 因此就有了 sendmail, fetchmail, mailreader 等等一大票程序來干收發(fā)郵件這個(gè)活兒。嚴(yán)格地說 Emacs(gnus) 的分工是做 mailreader,也就是說我們用 emacs 來寫信,然后由另一個(gè)程序,比如sendmail 來把信發(fā)出去;收信的過程也是類似的,由一個(gè)程序(比如 fetchmail) 負(fù)責(zé)把信取回來,放在一個(gè) spool 里面,然后我們用 Emacs 來讀信。你先別跑,我不是讓你去配置 sendmail 這樣的大怪物,我們平常發(fā)發(fā)信、收收信這點(diǎn)小活兒,用不著勞 sendmail 老人家的大駕。

    我們用的最多的郵件收發(fā)方式是這樣的,有個(gè) POP3 服務(wù)器,收信時(shí)我們到那里去取;有個(gè) SMTP 服務(wù)器,發(fā)信時(shí)我們把信送到那里去。這點(diǎn)小活兒,現(xiàn)在 emacs 自己就可以搞定了。現(xiàn)在我們看看怎么設(shè)置:

    首先我們?cè)O(shè)置 POP3 服務(wù)器:

    (setq mail-sources
          '((pop :server "pop.163.com"   ;; 在這里設(shè)置 pop3 服務(wù)器
                 :user "brep"            ;; 用戶名
                 :port "pop3"
                 :password "mypasswd"))) ;; 密碼
     

    然后我們還要告訴 gnus 如何存放接收來的郵件, gnus 把這個(gè)叫做 backend,最常用的方式是 nnfolder,另外還有 nnmbox, nnml 等其它幾種方式,我們選擇其中一種就可以了:

    (setq gnus-secondary-select-methods '((nnfolder "")))

    然 后我們?cè)O(shè)置 SMTP 服務(wù)器,采用 smtp 方式發(fā)送郵件需要一個(gè)小程序 smtpmail.el, 這個(gè)程序現(xiàn)在已被納入了官方的 Emacs,如果你用的是最新的 CVS Emacs,比如 Emacs22, Emacs23 等,就已經(jīng)包含了這個(gè)程序。你可以檢查一下 emacs 的安裝目錄中 lisp/mail/ 目錄下有沒有這個(gè)文件,如果沒有的話,就只好自己下載、安裝了。現(xiàn)在我們看看如何設(shè)置:

    (setq user-full-name "Brep") ;; 外發(fā)的郵件采用這個(gè)名字
    (setq user-mail-address "brep@example.com") ;;外發(fā)的郵件采用這個(gè)地址
    (setq smtpmail-auth-credentials
        '(("smtp.163.com"  ;; SMTP 服務(wù)器
           25
           "brep"          ;; 用戶名
           "mypasswd")))   ;; 密碼
    (setq smtpmail-default-smtp-server "smtp.163.com")
    (setq smtpmail-smtp-server "smtp.163.com")
    (setq message-send-mail-function 'smtpmail-send-it)

    中文設(shè)置

    中文!中文!永遠(yuǎn)都是頭痛的事兒。把下面這些加在 .gnus.el 里面吧:

    (set-language-environment 'Chinese-GB)
    (setq gnus-default-charset 'chinese-iso-8bit
       gnus-group-name-charset-group-alist '((".*" . chinese-iso-8bit))
       gnus-summary-show-article-charset-alist
           '((1 . chinese-iso-8bit)
             (2 . gbk)
             (3 . big5)
             (4 . utf-8))
       gnus-newsgroup-ignored-charsets
           '(unknown-8bit x-unknown iso-8859-1))

    另外,有些用 web 方式發(fā)出的郵件里有 html,加入下面的設(shè)置,只看其中的plain text 部分:

    (eval-after-load "mm-decode"
      '(progn
         (add-to-list 'mm-discouraged-alternatives "text/html")
         (add-to-list 'mm-discouraged-alternatives "text/richtext")))

    訂閱新聞組

    現(xiàn)在我們可以選擇幾個(gè)自己喜歡的新聞組,作為默認(rèn)的新聞組:

    (setq gnus-default-subscribed-newsgroups
      '("gnu.emacs.help"     ;; 這里不錯(cuò)噢,有關(guān) emacs 使用的問題都在這里討論
        "cn.comp.os.linux")) ;; 這里也有一個(gè) emacs 小團(tuán)伙,
                             ;; 有空去湊個(gè)熱鬧吧,中文的喲
     

    啟動(dòng) gnus

    現(xiàn)在到了關(guān)鍵時(shí)刻,成敗在此一舉:

      M-x gnus

    嘿嘿,傻眼了吧, Emacs 沒反應(yīng)了!!! 沒關(guān)系,表?yè)?dān)心,這是正常現(xiàn)象, gnus 是個(gè)單線程程序, nntp 服務(wù)器又慢的要命(你要是在公網(wǎng),說不定能好點(diǎn)兒),多等一會(huì)兒就好了,一般也就兩三分鐘,運(yùn)氣不好的話還要長(zhǎng)些,什么?你等不及了,要編輯文件?那就只 好麻煩您老再開一個(gè) Emacs 吧!

    Group buffer

    如果一切正常, gnus 啟動(dòng)完成的時(shí)候,我們就會(huì)看到 group buffer,這里列出了我們訂閱的新聞組,類似這樣:

    49: gnu.emacs.help
    6: cn.comp.os.linux
    8: nndoc+gnus-help:gnus-help
    0: nndraft:queue
    0: nndraft:drafts

    新聞組前面的數(shù)字,表示這個(gè)組里還有多少帖子沒讀過。現(xiàn)在,只要把光標(biāo)移動(dòng)到要讀的新聞組上面,敲下回車鍵就可以讀帖子了。

    不要 kill 掉這個(gè) buffer 喲,我們經(jīng)常需要回到這個(gè) buffer 。如果你讀完了新聞、信件,想退出 gnus,只要在這個(gè) buffer 里按下 q 鍵就可以了。

    Summary buffer

    當(dāng)我們閱讀某個(gè)新聞組的時(shí)候,就會(huì)進(jìn)入 summary buffer,其中列出了作者和帖子的標(biāo)題,如果是跟帖,會(huì)縮進(jìn)表示,象下面這樣:

    [ 51: 空殼殼 ] 已調(diào)試好的 Emacs 下載(WIN 版本)
    [ 283: 空殼殼 ] 這個(gè)包的.emacs 配置文件
    [ 5: Brep ]
    < 4: watercloud > Re: 已調(diào)試好的 Emacs 下載(WIN 版本)
    [ 9: It's me FKtPp ;) ]
    [ 2: 空殼殼 ]
    [ 7: It's me FKtPp ;) ]

    如果要讀貼子,只要按下空格鍵就行了。按下 q 鍵將返回到 Group buffer.

    發(fā)帖、回帖

    在 newsgroup 里發(fā)帖子叫 post article, 發(fā)貼子很簡(jiǎn)單,只要我們按下 a 這一個(gè)鍵就可以了,寫完后 C-c C-c 發(fā)出,如果寫了一半兒想取消,則鍵入 C-c C-k 。

    在 newsgroup 回帖子叫 follow up,按下 f 鍵就行了,但是這樣回帖并不引用原作者的文章,如果你想引用原作者的文章,那就用 F 鍵。

    如果你想和文章的作者私下聊聊,那就用 r 或者 R 鍵,給原作者回信叫做reply to, 這時(shí)只有原作者一個(gè)人能收到信,與 follow up 不同, follow up 的時(shí)候,凡是訂閱了新聞組的人都能讀到信。

    我的信箱哪里去了?

    按照手冊(cè)中的說法,我們通過 POP3 接收到的信件會(huì)被送到一個(gè)叫做 mail.misc 的組里, gnus 會(huì)自己建立這個(gè)組,但是我找了好幾天也沒找到。怎么辦?沒關(guān)系,我們自己建一個(gè):

    在 Group buffer 里,鍵入 G m,系統(tǒng)提示我們輸入組名: mail.misc,然后提示我們輸入 server 名,此時(shí)我們輸入: nnfolder,注意,服務(wù)器名要與你選擇的 backend 一致。

    建 立完成之后,我們可以在 Group buffer 里鍵入 ^,此時(shí)我們將進(jìn)入 Server buffer, 在這里我們將看到自己選擇的服務(wù)器,比如: news.cn99.com 。其中, nnfolder 服務(wù)器里應(yīng)該有我們新建的 mail.misc 組。我們?cè)诜?wù)器名上輸入回車,這樣就能看到這個(gè)服務(wù)器中的組,在想要訂閱的組上面按下'u'鍵即可訂閱這個(gè)組,取消訂閱同樣也是用這個(gè)鍵。

    發(fā)信

    用 gnus 發(fā)信極其簡(jiǎn)單,隨時(shí)都可以,按 m 一鍵搞定, gnus 會(huì)新建一個(gè)buffer 讓我們寫信

    To: 在這里添上收件人的 email
    Subject: 在這里寫上標(biāo)題
    From: Brep <brep@example.com>
    --text follows this line-- 千萬(wàn)不要?jiǎng)h除這一行

    寫完信后 C-c C-c 發(fā)出, 不想要了就 C-c C-k 。

    大功告成了嗎?

     現(xiàn)在我們已經(jīng)完成基本任務(wù)了,但是大功告成了嗎?
    沒有!苦難才剛剛開始......

    我看到一篇很好的帖子,怎么才能保存下來?
    我想備份自己發(fā)出的所有信件,怎么辦?
    我想刪除信箱里的信件,怎么辦?
    我的聯(lián)系人很多,我想建個(gè)地址簿,怎么辦?
    我想把不同的人發(fā)來的信,分別放在不同的信箱里,怎么辦?

    給帖子加標(biāo)記

    你可能已 經(jīng)注意到了,當(dāng)你讀過一個(gè)帖子之后, Gnus 會(huì)自動(dòng)在帖子的最左邊加上一個(gè) R ,這就是標(biāo)記。這些標(biāo)記有些是我們自己加上的,有些是 Gnus 自動(dòng)加上的。標(biāo)記不止 R 一個(gè),還有很多符號(hào)被 Gnus 用來當(dāng)作標(biāo)記符號(hào)。這些標(biāo)記表明了帖子的狀態(tài),比如 R 表示這個(gè)帖子你已經(jīng)讀過了。

    現(xiàn) 在我們來看看常見的標(biāo)記是什么意思。標(biāo)記分為兩大類,一類是“已讀(read)”標(biāo)記,一般用字母表示,比如 R, r, O, E 等等;另一類是“未讀(unread)”標(biāo)記,一般用特殊符號(hào)表示,比如 !, ?, *等等。標(biāo)記的數(shù)量比較多,但我們只要了解常見的幾個(gè)標(biāo)記是什么意思就行了。

    Gnus 之所以要把帖子分為“已讀”和“未讀”兩類,是因?yàn)閷?duì)這兩類帖子,Gnus 采取的處理方式不同。如果一個(gè)帖子別標(biāo)記為“已讀”,那么當(dāng)你離開這個(gè)group(用 q 命令)以后,下次再進(jìn)入的時(shí)候,你就不會(huì)再見到它了(除非你要求gnus 把老帖翻出來給你看),只有那些被標(biāo)記為“未讀”的帖子和新帖才會(huì)顯示給你看。

    已讀標(biāo)記

    R
    這個(gè)符號(hào)表示這篇帖子你的確已經(jīng)讀過了,每次你讀完一篇帖子之后, Gnus 就會(huì)自動(dòng)加上這個(gè)標(biāo)記。
    r
    這個(gè)標(biāo)記表示是你自己手動(dòng)把帖子標(biāo)記為已讀的,但實(shí)際上你可能并沒讀過。你可以用d 命令加這個(gè)標(biāo)記。
    O
    表示這是個(gè)老帖,上次進(jìn)來的時(shí)候你已經(jīng)讀過了。那么怎么才能看到老貼呢,用 / o 命令,就可以把所有老貼翻出來看。

    未讀標(biāo)記

    !
    保 留(ticked)標(biāo)記,帶有這個(gè)標(biāo)記的帖子將一直保持可見,如果你對(duì)某個(gè)貼子感興趣,想留著以后讀,可以加上這個(gè)標(biāo)記,用 ! 命令就行了。但是請(qǐng)注意,并不是說這種帖子就永久保留下來了,如果這個(gè)帖子被從管理員從 nntp 服務(wù)器上刪除了,那么你就再也看不到它了。 nntp 服務(wù)器按照相應(yīng)的設(shè)置,定期刪除過期( expired )的老貼。
    ?
    休眠(dormant)標(biāo)記,這個(gè)標(biāo)記比較有意思,所謂一個(gè)帖子進(jìn)入“休眠狀態(tài)”,指的是除非有人跟帖,否則你以后不會(huì)見到這個(gè)帖子,也就是說,平常這個(gè)帖子和已讀沒有差別,但是一旦有人跟帖,它就會(huì)跳出來,用 ? 命令可以加上這個(gè)標(biāo)記。
    空格
    如果一個(gè)帖子前面什么符號(hào)也沒有,就表示這是一個(gè)“未讀”的帖子。

    清除所有標(biāo)記

    用 M c 或者 Meta-u 清除所有標(biāo)記,也就是說標(biāo)記為“未讀(unread)”。

    保存有價(jià)值的帖子

    要想永久保存有價(jià)值的帖子,也就是說把帖子拷貝到自己的機(jī)器上保存起來,那么可以打開 gnus 的 cache 功能,在 .gnus.el 中加入:

    (setq gnus-use-cache 'passive)

    以后看到有價(jià)值的帖子,只要按下 * 鍵,這篇帖子就會(huì)被拷貝到本地的 cache 中保存起來,這樣即使服務(wù)器那邊刪除了這篇帖子,也沒關(guān)系了。如果你又不想要了,用 Meta-* 就可以把帖子從緩存中刪掉。

    如果你想查看自己保存在緩存里的帖子,只要在 summary buffer 中用 'Y c' 命令即可。

    郵件分類

    可能你每天都要收到大量的郵件,有的是親朋好友寄來的,有的是你訂閱的maillist 寄來的。如果這些郵件都放在 mail.misc 這一個(gè)組里,那么很快這里就會(huì)擁擠不堪了,說不定有些重要的信件會(huì)被漏看。

    在 Gnus 里,我們可以對(duì)收到的郵件進(jìn)行分類,比如把所有來自 tsinghua.edu.cn 的信都放在 mail.tsinghua 這個(gè)組里。我們可以這樣做:

    首 先我們建一個(gè) mail.tsinghua 組,在 Group buffer 里鍵入 G m , 然后輸入 "mail.tsinghua", 接著系統(tǒng)會(huì)讓我們選擇 Method,此時(shí)輸入"nnfolder",這樣 mail.tsinghua 這個(gè)組就建立好了。

    然后我們?cè)O(shè)置 nnmail-split-methods 變量,在 .gnus.el 中加入:

    (setq nnmail-split-methods
           '(("mail.tsinghua" "^From:.*tsinghua.edu.cn")
             ("mail.misc" "")))

    這 樣以后凡是來自 tsinghua.edu.cn 的信件都會(huì)被放到 mail.tsinghua 這個(gè)組里去。這個(gè)變量的值是一個(gè)由 list 組成的 list,每個(gè) list 由兩個(gè)部分組成,前面的是組名,比如"mail.tsinghua", 后面的是個(gè)正則表達(dá)式, Gnus 會(huì)按這個(gè)正則表達(dá)式的要求到郵件里去搜索,然后把找到的郵件放在指定的組里面。

    這是一種簡(jiǎn)單的分類方式,如果你覺得不過癮,可以試試 nnmail-split-fancy,那是一種更靈活的分類方式。

    需要注意的一點(diǎn)是,我們剛才用的術(shù)語(yǔ)都是“組(group)”,而沒有說“郵件夾”。實(shí)際上,在 Gnus 里面組就是郵件夾,郵件夾就是組,我們說過, Gnus 采用同樣的方式處理信件和新聞,因此它并不對(duì)組和郵件夾進(jìn)行區(qū)分。

    既然是 group,那么你就可以取消訂閱,假如你把女朋友的來信都放在mail.lovers 組里面,隨后不小心 unsubscribe 了這個(gè)組,那么你就讀不到她們的來信了,要是你的女朋友跟你分了手,千萬(wàn)別怪 Gnus,就像 Gnus 的手冊(cè)里說的:

    Gnus gives you all the opportunity you could possibly want for shooting yourself in the foot.

    保存自己發(fā)送的郵件

    基本上所有的郵件客戶端都有一個(gè)“已發(fā)送郵件”或是“ sent ”的郵件夾,你自己寫的信發(fā)送出去的同時(shí),都會(huì)在這里都有一個(gè)備份,因?yàn)槲覀冇袝r(shí)候需要看看自己發(fā)出去的信件。

    在 Gnus 里做到這一點(diǎn)很容易,而且它還可以自動(dòng)把你發(fā)出去的郵件分分類,比如把發(fā)出去的信放在一個(gè)組里,把你在 newsgroup 里 post 的帖子放在另一個(gè)組里。

    現(xiàn)在我們看看怎么做到這一點(diǎn),比如我們想把自己發(fā)的信備份到 mail.sent.mail 組里,把自己 post 的帖子備份到在 mail.sent.news 組里,那么首先我們建立這兩個(gè)組:

    在 group buffer 里鍵入 G m ,然后輸入組名"mail.sent.mail", 接著是輸入 "nnfolder", 這個(gè)組就建好了,然后用同樣的方式建立"mail.sent.news"組。

    最后在.gnus.el 里加入:

    (setq gnus-message-archive-group
          '((if (message-news-p)
                "nnfolder:mail.sent.news"
              "nnfolder:mail.sent.mail")))
    搞定了。

    刪除郵件

    當(dāng)你想刪除一個(gè)郵件的時(shí)候,你先得搞清楚它是個(gè) news 還是個(gè) mail, 因?yàn)槟闶菦]有權(quán)力刪除新聞組里的文章的,就象你上 BBS 的時(shí)候一樣,就算你看到一篇不爽的帖子,你也刪不了它,除非你是版主。

    在 這里我還要多一句嘴, newsgroup 管理的不像 bbs 那樣嚴(yán)格, bbs 的每個(gè)版都有若干版主進(jìn)行管理,刪除無關(guān)的文章,封禁不按規(guī)矩發(fā)帖的人等等,象 joke 這種大板,有8個(gè)版主嚴(yán)陣以待,隨時(shí)準(zhǔn)備刪貼封人。 newsgroup 是沒有版主管理的,一般只有 nntp 服務(wù)器的管理員才有刪帖的權(quán)力,但是一個(gè) nntp 服務(wù)器上有成千上萬(wàn)的 group,管理員才沒時(shí)間管刪帖這種事兒呢,他們一般是制定一些規(guī)則,讓系統(tǒng)自動(dòng)刪除一些過期的帖子。因此,如果你在 newsgroup 上發(fā)了個(gè)垃圾帖子,它就有可能在那里呆上好幾年。

    正因?yàn)槿绱耍覀冊(cè)? newsgroup 上發(fā)帖子一定要慎重,不要發(fā)垃圾郵件什么的。更嚴(yán)重的是,如果你發(fā)了這種郵件,那么訂閱這個(gè)組的人就會(huì)認(rèn)為你很不禮貌,不懂規(guī)矩,他們可能就會(huì)在自己的 Gnus 里增加一條規(guī)則,從此以后凡是你發(fā)表的帖子,他們都不下載、不看。

    好了,言歸 正傳,我們談?wù)勗趺磩h除郵件。有兩種方法可以刪除郵件,一種是使用郵件專用命令` B DEL', 也就是現(xiàn)鍵入'B',然后再按'Delete'鍵,這時(shí)系統(tǒng)會(huì)詢問你是否真的要?jiǎng)h除什么的,回答 yes 就可以了。但是這種方法太暴力了,在Gnus 里有一種更好的方法刪除郵件,那就是給郵件加上“保質(zhì)期”,也就是說,讓Gnus 替你干刪除郵件這個(gè)活兒,它會(huì)忠實(shí)地按照你的要求,刪除“過了保質(zhì)期”的郵件。

    怎樣給郵件加上“保質(zhì)期”呢,很簡(jiǎn)單,在郵件組的 summary buffer 里,用 E 鍵就可以給光標(biāo)所在的郵件貼上 expirable 的標(biāo)簽,此時(shí)帖子前面會(huì)出現(xiàn)一個(gè)字母 E 作為標(biāo)記,然后你就不用管了,到了期限, gnus 就會(huì)自動(dòng)刪除它們。

    你也可以用 E 命令,給新聞組里的帖子加上 expirable 的標(biāo)簽,但是這毫無意義,因?yàn)椴徽撌悄氵€是 Gnus 都無權(quán)刪除新聞組里的帖子。

    Gnus 默認(rèn)的保質(zhì)期是7天,如果你覺得時(shí)間不合適,可以自己設(shè)置,更改變量

     nnmail-expiry-wait 的值就行了,在 .gnus.el 里加入:
    (setq nnmail-expiry-wait 3)
    這樣就把保質(zhì)期設(shè)成3天了。

    你還可以給不同的組設(shè)置不同的保質(zhì)期,象下面這樣:

    (setq nnmail-expiry-wait-function
      (lambda (group)
        (cond ((string= group "mail.tsinghua")
                31)
              ((string= group "mail.misc")
                3)
              ((string= group "mail.lovers")
                'never)
              (t
                6))))

    這 樣就把 mail.tsinghua 這個(gè)組的保質(zhì)期設(shè)為31天, mail.misc 組設(shè)為3天等等。除了數(shù)字,還有另外兩個(gè)符號(hào)可以用,一個(gè)是 immediate ,表示立即刪除標(biāo)為過期的郵件;另一個(gè)是 never ,表示永不刪除過期的郵件,“如果你一定要加個(gè)期限, Gnus 希望是一萬(wàn)年。”

    地址簿

    如果你的聯(lián)系人比較多,沒辦法全部記住這些人的 email 地址,想建個(gè)地址簿,該怎么辦呢?

    有兩個(gè)種方法可以完成這個(gè)任務(wù),一種是簡(jiǎn)單的,但是不太靈活;另一種麻煩點(diǎn)兒,但是功能很強(qiáng)。

    先說簡(jiǎn)單的,實(shí)際上這是一種很古老的方法了,那就是采用 mail alias (地址別名),你只要把聯(lián)系人的郵件地址和別名都寫在 ~/.mailrc 文件里就行了,語(yǔ)法很簡(jiǎn)單,每個(gè)聯(lián)系人占一行,像下面這樣:

    alias brep "Brep <brep@newsmth.org>"
    alias heyyy "和伊有約 <heyyy@who.knows.where>"
    alias EOF "EOF <EOF@god.knows>"
    alias ilovecpp "ilovecpp <ilovecpp@please.tellme.ifyouknow>"

    發(fā)信的時(shí)候,在 To: 后面輸入別名,比如 heyyy,然后按空格鍵, Gnus 會(huì)自動(dòng)把全名替你插進(jìn)去。

    然后我們?cè)僬f復(fù)雜點(diǎn)兒的,其實(shí)也不復(fù)雜,只是麻煩點(diǎn)兒,要自己去下載一個(gè)軟件包,到這里:

      http://bbdb.sourceforge.net/ 

    去下載一個(gè)叫做 bbdb 的軟件包,全名是 "Insidious Big Brother Database"。不知怎么搞的,現(xiàn)在一提數(shù)據(jù)庫(kù)我就開始反胃,不過這個(gè) bbdb 只是個(gè) Emacs 擴(kuò)展,全都是用 elisp 寫成的,并不是那種巨無霸似的操作繁瑣的數(shù)據(jù)庫(kù)管理系統(tǒng)。bbdb 很小,壓縮包只有300多 k 。 bbdb 只是建立了一個(gè)~/.bbdb 文件,然后把你的聯(lián)系人每個(gè)一行地寫在里面罷了,這是個(gè)純文本文件,不過最好不要自己編輯這個(gè)文件,可以用 bbdb 的命令往里添加聯(lián)系人。

    下載回來以后解開,然后 make 一下,象這樣:

    $ tar xzf bbdb-2.35.tar.gz
    $ cd bbdb-2.35
    $ ./configure --with-emacs=emacs --with-gnus-dir=/usr/share/emacs/23.0.0/lisp/gnus/
    $ make gnus

    然后把 bbdb-2.35 目錄下的 lisp 子目錄整個(gè)扔到 site-lisp 下面就行了:

    $ cp -r lisp/ /usr/share/emacs/23.0.0/site-lisp/

    還有文檔,如果你要看的話也要自己裝:

    $ cd texinfo/ && make
    $ cp bbdb.info /usr/share/info
    $ cd /usr/share/info
    $ install-info bbdb.info

    如果你覺得太麻煩了,也可以解開壓縮包后,直接把 lisp/ 子目錄整個(gè)扔到 site-lisp 下面, bbdb 的手冊(cè)中說可以這樣,不過我沒試過。

    好了,把下面這些寫在 .gnus.el 里面:

    (require 'bbdb)
    (bbdb-initialize 'gnus 'message)

    ;; bbdb 自己檢查你填寫的電話是否符合北美標(biāo)準(zhǔn),
    ;; 如果你不是生活在北美,應(yīng)該取消這種檢查
    (setq bbdb-north-american-phone-numbers-p nil)

    ;; 把你的 email 地址告訴 bbdb
    (setq bbdb-user-mail-names
          (regexp-opt '("brep@example.com"
                        "brep@newsmth.org")))
    ;; 補(bǔ)全 email 地址的時(shí)候循環(huán)往復(fù)
    (setq bbdb-complete-name-allow-cycling t)
    ;; No popup-buffers
    (setq bbdb-use-pop-up nil)

    然后重新啟動(dòng) Gnus, 或者是在 Group buffer 中用 r 鍵,讓 Gnus 重新讀入~/.gnus.el

    bbdb 使用起來很簡(jiǎn)單,第一次用的時(shí)候,要用"M-x bbdb-create"命令創(chuàng)建聯(lián)系人,此時(shí) bbdb 會(huì)問你一些相關(guān)的問題,比如聯(lián)系人的 Name, company, Network Address(這里要添 email 地址)等等,你如實(shí)回答就是了。然后 bbdb 會(huì)創(chuàng)建一個(gè)~/.bbdb 文件,并把你的聯(lián)系人加進(jìn)去。

    以后你可以隨時(shí)用"M-x bbdb-create"命令添加聯(lián)系人,也可以用 `M-x bbdb RET RET' 命令讓 bbdb 把所有聯(lián)系人顯示給你看。

    不過, bbdb 最方便的地方在于你寫信的時(shí)候,只要在 To: 面用 TAB 鍵, bbdb 就會(huì)把聯(lián)系人替你填好,如果不對(duì),就繼續(xù)按 TAB 鍵, bbdb 會(huì)填下一個(gè),循環(huán)往復(fù)。

    還有一個(gè)方便的地方,如果你在 Summary buffer 中的某個(gè)郵件或帖子上按 : 建, bbdb 將自動(dòng)把發(fā)信人替你加到地址簿里,方便吧!

    結(jié)束語(yǔ)

    說了這么多,也只是把Gnus最基本的功能介紹了一下,實(shí)際上,Gnus還有很多高級(jí)的功能可以發(fā)掘。那就去讀 Gnus 的 manual 吧,我覺得 Gnus 的手冊(cè)寫的真不錯(cuò),語(yǔ)言詼諧幽默,讀起來趣味盎然。

    當(dāng)你用了一段時(shí)間 Gnus 以后,你就很難再離開它了,那時(shí)候你就會(huì)理解下面這句話:

    No Gnus is bad news.

    posted on 2005-11-15 14:42 JustinLei 閱讀(1022) 評(píng)論(0)  編輯  收藏 所屬分類: Linux
    主站蜘蛛池模板: 无码免费午夜福利片在线| a在线视频免费观看| 亚洲精品无码少妇30P| 亚洲国产成人久久综合| 真正全免费视频a毛片| 小说区亚洲自拍另类| 国产免费无码一区二区| 日韩不卡免费视频| 亚洲日本韩国在线| 亚洲av日韩av无码黑人| 亚洲精品伊人久久久久| 精品无码专区亚洲| 免费国产高清视频| 亚洲AV日韩AV高潮无码专区| 国内精品免费久久影院| 天堂在线免费观看中文版| 国产偷国产偷亚洲高清日韩| 亚洲第一中文字幕| 国产91免费在线观看| 亚洲国产黄在线观看| 亚洲1234区乱码| 中文字幕免费在线观看动作大片| 无码国产精品一区二区免费I6| 亚洲熟妇无码一区二区三区| 日本卡1卡2卡三卡免费| 免费在线不卡视频| 二区久久国产乱子伦免费精品| 无码乱人伦一区二区亚洲一| 国产成人精品免费视频动漫 | 久久精品私人影院免费看| 亚洲精品高清视频| 日韩在线视频线视频免费网站| 亚洲一区二区三区免费视频| 亚洲色大18成人网站WWW在线播放 亚洲色大成WWW亚洲女子 | 特级aaaaaaaaa毛片免费视频| 9久9久女女免费精品视频在线观看| 亚洲国产精品日韩av不卡在线 | 亚洲第一二三四区| 国内永久免费crm系统z在线 | 国产亚洲美女精品久久久久狼| 色欲aⅴ亚洲情无码AV|