Sup (正體中文)

From ArchWiki
Jump to: navigation, search

Sup 是一套爲了擁有大量郵件使用者所開發,嶄新且強大的郵件客戶端程式。您可以將它想成 Mutt 和 Gmail 的混合體,擁有非常快速地操作和搜尋,標籤,自動通訊錄管理,支援大量帳號,以及更多功能。

安裝

AUR 安裝 sup-gitAUR。 不過開發團隊建議您用以下方式安裝:

$ gem install sup

好讓您直接從開發團隊那兒取得最新版本。

設定

Sup 附帶一款名爲 sup-config 的簡便設定工具。要使用它,請在終端機內執行它然後完成下面列出的幾項步驟:

  1. 輸入您的全名。
  2. 輸入您的主要電子郵件信箱,以及任何額外的電子郵件信箱。
  3. 輸入您簽名檔的位置,如果您擁有的話。
  4. 輸入您要用來撰寫新郵件的編輯器,以及任何您該傳入的參數。
  5. 新增您郵件的來源,包括:
    1. mbox 檔案
    2. maildir 資料夾

支援遠端來源 (POP3, IMAP, IMAPS, 和 mbox + ssh) 的功能已經在 0.12 版釋出時移除。

Sup 目前專注於 MUA (mail user agent) 之功能且不自行處理下載郵件的工作。您可以使用像是 offlineimap, fetchmail, 和 rsync 等工具來將電子郵件傳送到本機系統的 mbox 或 maildir 資料夾。

sup wiki 內的示範 簡介了如何使用 offlineimap 設定 gmail+imap 來源。Mutt#POP3[broken link: invalid section] 子章節介紹一些額外的郵件傳送方法。

在新增好電子郵件來源後,sup-config 會執行 sup-sync 指令來匯入郵件到您的信箱內。

使用

執行 sup 指令來開啓 Sup 郵件客戶端程式。該程式應該會顯示由 sup-config 匯入的訊息。

對新使用者來說最該記得的按鍵就是 ? 按鍵。在任何時間點它都會顯示所有的鍵盤指令,提示新使用者該如何導覽程式。

使用箭頭鍵或是 jk 鍵巡覽討論串 (Shift+jShift+k 的功能如同 Page Up 和 Page Down 鍵)。按下 Tab 鍵,則能在有新訊息的討論串中快速穿梭。Sup 預設並不會讀入所有討論串;按下 Shift+m 將讀取更多討論串 (更多訊息將被自動讀取直到視窗被填滿)。

選擇欲檢視的討論串然後按下 Enter 鍵即可檢視它。在檢視討論串時,如果想要展開或摺疊某一訊息,請選擇該訊息然後按下 Enter 鍵。按下 Shift+n 將只展開新訊息 (同預設畫面) 或 Shift+e 切換所有訊息的狀態。按下 o 將顯示或隱藏部分訊息內容 (像是簽名檔)。

按下 np 鍵巡覽討論串內的訊息。按下 h 鍵顯示訊息的標頭。

按下 b 鍵循環切換緩衝,或者按下 ; 鍵檢視已開啓緩衝的清單。按下 x 鍵抹殺某個緩衝。

按下 a 鍵封存討論串。這會將該討論串從 inbox 內隱藏直到其他人回覆它,到時候它就會重新出現。按下 & 鍵抹殺討論串。這等同於 Gmail 中的 "靜音" 功能,即使有人回覆該討論串它依然會被隱藏。該討論串將永遠不會出現在 inbox 內,不過依然能在搜尋結果找到它。

按下 * 鍵替討論串標記星號。按下 Shift+s 鍵將討論串標記爲垃圾訊息。Sup 並沒有任何內建的垃圾訊息分類器;要做到這個功能,可以考慮像是 spamassassin 之類的程式。

按下 t 鍵標記討論串。按下 l 鍵替討論串內的訊息加上標籤。按下 Shift+l 鍵搜尋標籤。輸入欲搜尋的標籤後按下 Enter 鍵或是直接按下 Enter 鍵來列出所有標籤。按下 \ 鍵將執行全文字搜尋。

按下 Shift+c 鍵來檢視聯絡人清單。要對清單中的人寄送電子郵件,選擇他或她的姓名然後按下 Enter 鍵。

備份和復原

備份電子郵件非常重要。爲了保證您不會弄丟任何東西,第一要先備份來源,像是 mbox 檔案和 maildir 目錄,然後執行:

$ sup-dump > 檔案名稱

這將會備份所有訊息狀態到文字檔案內。要從文字檔案內復原您的訊息狀態,只要執行:

$ sup-sync [<來源>+] --restored --restore 檔案名稱

謹記,上面的指令只會備份和復原訊息狀態。訊息本身需要另行備份。

按鍵綁定列表

inbox-mode 下的按鍵綁定

a:封存討論串 (從 inbox 中移除)
A:封存討論串 (從 inbox 中移除) 且標記爲已讀

thread-index-mode 下的按鍵綁定

   M:再讀取 20 份討論串
  !!:讀取所有討論串 (可能會列出很多討論串)
  ^G:取消目前的搜尋
   @:刷新畫面    
   *:標記星號/取消星號整個討論串內的訊息
   N:切換討論串內所有訊息的未讀/已讀狀態
   l:編輯或新增討論串的標籤
   e:編輯訊息 (僅可對草稿使用)
   S:標記/取消標記討論串爲垃圾郵件
   d:刪除/取消刪除討論串
   &:抹殺討論串 (再也不會出現在 inbox)
   $:馬上儲存變更
 tab:跳到下一個新討論串
   r:回覆討論串內最新的訊息
   f:轉寄討論串內最新的訊息
   t:標記/取消標記所選的討論串
   T:標記/取消標記所有的討論串
   g:標記符合的討論串
+, =:套用下一個操作到所有已標記的討論串
   #:強制所有已標記的討論串合併成一個討論串
   u:重做上一個操作

thread-view-mode 下的按鍵綁定

      h:切換詳細標頭
      H:顯示完整訊息標頭
      V:顯示完整訊息 (原生格式)
<enter>:開啓/摺疊或啓動項目
      E:開啓/摺疊所有訊息
      e:編輯草稿
      y:寄出草稿
      l:替討論串編輯或新增標籤
      o:開啓/摺疊訊息中所有的引用
      n:跳到下一個開啓的訊息
      p:跳到前一個開啓的訊息
      z:對齊目前訊息在緩衝中的位置
      *:替訊息標記星號/取消標記星號
      N:切換訊息的未讀/已讀狀態
      r:恢復一個訊息
      f:轉寄訊息或附件
      i:編輯某人的別名/暱稱
      D:將訊息視爲新郵件來編輯
      s:儲存訊息/附件到磁碟
      S:從特定人士搜尋訊息
      m:編寫訊息給某人
      (:訂閱/取消訂閱郵件清單
      ):訂閱/取消訂閱郵件清單
      |:將訊息或附件重導給 shell 指令
     .a:封存該討論串然後抹殺緩衝
     .d:刪除該討論串然後抹殺緩衝
     .s:標記該討論串爲垃圾訊息然後抹殺緩衝
     .N:標記該討論串爲未讀然後抹殺緩衝
     ,a:封存該討論串,抹殺緩衝,然後檢視下一個
     ,d:刪除該討論串,抹殺緩衝,然後檢視下一個
     ,s:標記該討論串爲垃圾訊息,抹殺緩衝,然後檢視下一個
     ,N:標記該討論串爲未讀,抹殺緩衝,然後檢視下一個
     ,n:抹殺緩衝,然後檢視下一個
     ]a:封存該討論串,抹殺緩衝,然後檢視前一個
     ]d:刪除該討論串,抹殺緩衝,然後檢視前一個
     ]s:標記該討論串爲垃圾訊息,抹殺緩衝,然後檢視前一個
     ]N:標記該討論串爲未讀,抹殺緩衝,然後檢視前一個
     ]n:抹殺緩衝,然後檢視前一個

contact-list-mode 下的按鍵綁定

   M:再讀取 10 個聯絡人
   D:放棄通訊錄然後重新讀取
a, i:編輯聯絡人的代稱或是姓名
   t:標記/取消標機該行
   +:套用下一個操作到所有已標記的項目
   S:從特定人士開始搜尋訊息

line-cursor-mode 下的按鍵綁定

<down arrow>, j:將遊標向下移動一行
  <up arrow>, k:將遊標向上移動一行
        <enter>:選擇該項目

scroll-mode 下的按鍵綁定

                        J, ^E:向下一行
                        K, ^Y:向上一行
              <left arrow>, h:向左一排
                <right arrow>:向右一排
     <page down>, <space>, ^F:向下一頁
<page up>, p, <backspace>, ^B:向上一頁
                           ^D:向下半頁
                           ^U:向上半頁
                 <home>, ^, 1:跳到頁首
                     <end>, 0:跳到頁尾
                            [:跳到左邊
                            /:在目前的緩衝內搜尋
                            n:跳到下個緩衝內搜尋到的項目

全域按鍵綁定

   q:離開 Sup,但是需要確認
   Q:直接離開 Sup
   ?:顯示幫助
   b:切換到下一個緩衝
   B:切換到前一個緩衝
   x:抹殺目前的緩衝
   ;:列出所有緩衝
   C:列出通訊錄
  ^L:重繪畫面
\, F:搜尋所有訊息
   U:顯示所有未讀訊息
   L:列出標籤
   P:輪查有無新訊息
m, c:撰寫新訊息
  ^G:什麼也不做
   R:編輯最近的訊息草稿

疑難排解

因爲 Illegal instruction (core dumped) 而當掉

sup 使用一套名爲 Xapian 的搜尋引擎,且它被編譯爲使用 SSE2 指令集。如果您的 CPU 不支援 SSE2 指令集,您將碰上錯誤訊息:

   Illegal instruction (core dumped)

要解決這問題,您必須在編譯 Xapian 時加入 --disable-sse 選項。

1. 查看 ruby-xapian-rubyAURPKGBUILD 您可以得知它從 https://rubygems.org/gems/xapian-ruby 下載了一份 gem。下載那份 gem。

2. 執行這些指令

   gem unpack xapian-ruby.gem
   gem unpack --spec xapian-ruby.gem
   mv xapian-ruby.gemspec xapian-ruby/
   cd xapian-ruby

3. 您需要編輯 Rakefile。您的目標是修改兩行有執行設定參數的指令。您所要做的就是將 --disable-sse 加到這些設定指令後面:

   system! "./configure --prefix=#{prefix} --exec-prefix=#{prefix} --disable-sse"
   system! "./configure --prefix=#{prefix} --exec-prefix=#{prefix} --with-ruby --disable-sse"

然後儲存所做的修改。

4. 執行

   gem build xapian-ruby.gemspec
   gem install --local xapian-ruby.gem

這樣應該能解決舊歀 CPU 不能執行 Xapian 的問題。附帶一提,如果您第一次執行 sup-config 且正確地完成所有設定,卻依然得到下列錯誤訊息

   This Sup version expects a v4 index, but you have an existing v0 index. Please run sup-dump to save your labels, move /home/user/.sup/xapian out of the way, and run sup-sync --restore. (RuntimeError)
   Rats, that failed. You may have to do it manually.

那麼您可能也碰上了該問題,嘗試執行其他如 supsup-dump 等執行檔,看看有無顯示 Illegal instruction (core dumped) 的錯誤訊息。

另請參閱