使用Emacs進行社交并跟蹤你的待辦事項列表
在 2020 年用開源實現(xiàn)更高生產(chǎn)力的二十種方式的第十九篇文章中,訪問 Twitter、Reddit、 交談、電子郵件 、RSS 和你的待辦事項列表。
去年,我在 19 天里給你介紹了 19 個新(對你而言)的生產(chǎn)力工具。今年,我換了一種方式:使用你在使用或者還沒使用的工具,構建一個使你可以在新一年更加高效的環(huán)境。
使用 Emacs 做(幾乎)所有的事情,第 2 部分
昨天,我談到了如何在 Emacs 中讀取電子郵件、訪問電子郵件地址和顯示日歷。Emacs 功能繁多,你還可以將它用于 Twitter、交談、待辦事項列表等等!
在 Emacs 中處理所有事情
要完成所有這些,你需要安裝一些 Emacs 包。和昨天一樣,用 Meta+x package-manager
打開 Emacs 包管理器(Meta 鍵在大多數(shù)鍵盤上是 Alt
,在 MacOS 上是 Option
)。然后通過 i
選擇以下帶有的軟件包,然后輸入 x
進行安裝:
nnreddit
todotxt
twittering-mode
安裝之后,按下 Ctrl+x ctrl+f
打開 ~/.emacs.d/init.el
,并在 (custom-set-variables
行前加上:
;; Todo.txt
(require 'todotxt)
(setq todotxt-file (expand-file-name "~/.todo/todo.txt"))
(require 'twittering-mode)
(setq twittering-use-master-password t)
(setq twittering-icon-mode t)
;; Python3 for nnreddit
(setq elpy-rpc-python-command "python3")
按下 Ctrl+x Ctrl+s
保存文件,使用 Ctrl+x Ctrl+c
退出 Emacs,然后重啟 Emacs。
使用 twittering-mode 在 Emacs 中發(fā)推
Emacs 中的 Twitter
Twittering-mode 是 Twitter 最好的 Emacs 接口之一。它幾乎支持 Twitter 的所有功能,并且鍵盤快捷鍵也易于使用。
首先,輸入 Meta+x twit
來啟動 twittering-mode。它會提供一個 URL 并提示你啟動瀏覽器來訪問它,你登錄該 URL 后就能獲得授權令牌。將令牌復制并粘貼到 Emacs 中,你的 Twitter 時間線就會加載了。你可以使用箭頭鍵滾動,使用 Tab
從一個項目移動到另一個項目,并按回車訪問光標所在的 URL。如果光標在用戶名上,按回車將在 web 瀏覽器中打開時間軸。如果你在一條推文的文本上,按回車將回復該推文。你可以用 u
創(chuàng)建一個新的推文,用 Ctrl+c+Enter
轉發(fā)一些內(nèi)容,然后用 d
發(fā)送一條即時消息——它打開的對話框中有關于如何發(fā)送、取消和縮短 URL 的說明。
按 V
會打開一個提示讓你跳轉到其他時間線。輸入 :mentions
打開你的提及。輸入 :home
打開你的主時間線,輸入用戶名將進入該用戶的時間線。最后,按 q
會退出 twittering-mode 并關閉窗口。
twitter-mode 還有更多功能,我鼓勵你閱讀它 GitHub 頁面上的完整功能列表。
在 Emacs 上使用 Todotxt.el 追蹤你的待辦事項
Emacs 中的 todo.txt
Todotxt.el 是一個很棒的 todo.txt 待辦列表管理器接口。它的快捷鍵幾乎無所不包。
輸入 Meta+x todotxt
啟動它將加載 todotxt-file
變量中指定的 todo.txt
文件(本文的第一部分中設置了該文件)。在 todo.txt
的緩沖區(qū)(窗口),你可以按 a
添加新任務并和按 c
標記它已被完成。你還可以使用 r
設置優(yōu)先級,并使用 t
添加項目和上下文。完成事項后只需要按下 A
即可將任務移如 done.txt
。你可以使用 /
過濾列表,也可以使用 l
刷新完整列表。同樣,你可以按 q
退出。
在 Emacs 中使用 ERC 進行交談
使用 ERC 與人交談
Vim 的缺點之一是很難用它與人交談。另一方面,Emacs 則將 ERC 客戶端內(nèi)置到默認發(fā)行版中。使用 Meta+x ERC
啟動 ERC,系統(tǒng)將提示你輸入服務器、用戶名和密碼。你可以使用幾天前介紹設置 BitlBee 時使用的相同信息:服務器為 localhost
,端口為 6667
,相同用戶名,無需密碼。
ERC 使用起來與其他 IRC 客戶端一樣。每個頻道單獨一個緩沖區(qū)(窗口),你可以使用 Ctrl+x ctrl+b
進行頻道間切換,這也可以在 Emacs 中的其他緩沖區(qū)之間進行切換。/quit
命令將退出 ERC。
使用 Gnus 閱讀電子郵件,Reddit 和 RSS
Mail,Reddit,and RSS feeds with Gnus
我相信昨天在我提及在 Emacs 中閱讀郵件時,許多 Emacs 的老用戶會問,“怎么沒有 Gnus 呢?”
這個疑問很合理。Gnus 是一個內(nèi)置在 Emacs 中的郵件和新聞閱讀器,盡管它這個郵件閱讀器不支持以 Notmuch 作為搜索引擎。但是,如果你將其配置來閱讀 Reddit 和 RSS feed(稍后你將這樣做),那么同時使用它來閱讀郵件是個聰明的選擇。
Gnus 是為閱讀 Usenet 新聞而創(chuàng)建的,并從此發(fā)展而來。因此,它的很多外觀和感覺(以及術語)看起來很像 Usenet 的新聞閱讀器。
Gnus 以 ~/.gnus
作為自己的配置文件。(該配置也可以包含在 ~/.emacs.d/init.el
中)。使用 Ctrl+x Ctrl+f
打開 ~/.gnus
,并添加以下內(nèi)容:
;; Required packages
(require 'nnir)
(require 'nnrss)
;; Primary Mailbox
(setq gnus-select-method
'(nnmaildir "Local"
(directory "~/Maildir")
(nnir-search-engine notmuch)
))
(add-to-list 'gnus-secondary-select-methods
'(nnreddit ""))
用 Ctrl+x Ctrl+s
保存文件。這分配置告訴 Gnus 從 ~/Maildir
這個本地郵箱中讀取郵件作為主源(參見 gnus-select-method
變量),并使用 nnreddit 插件添加輔源(gnus-secondary-select-methods
變量)。你還可以定義多個輔助源,包括 Usenet 新聞(nntp)、IMAP (nnimap)、mbox(nnmbox)和虛擬集合(nnvirtual)。你可以在 Gnus 手冊 中了解更多有關所有選項的信息。
保存文件后,使用 Meta+x Gnus
啟動 Gnus。第一次運行將在 Python 虛擬環(huán)境中安裝 Reddit 終端查看器,Gnus 通過它獲取 Reddit 上的文章。然后它會啟動瀏覽器來登錄 Reddit。之后,它會掃描并加載你訂閱的 Reddit 群組。你會看到一個有新郵件的郵件夾列表和一個有新內(nèi)容的看板列表。在任一列表上按回車將加載該組中的消息列表。你可以使用箭頭鍵導航并按回車加載和讀取消息。在查看消息列表時,按 q
將返回到前一個視圖,從主窗口按 q
將退出 Gnus。在閱讀 Reddit 群組時,a
會創(chuàng)建一條新消息;在郵件組中,m
創(chuàng)建一個新的電子郵件;并且在任何一個視圖中按 r
回復郵件。
你還可以向 Gnus 接口中添加 RSS 流,并像閱讀郵件和新聞組一樣閱讀它們。要添加 RSS 流,輸入 G+R
并填寫 RSS 流的 URL。會有提示讓你輸入 RSS 的標題和描述,這些信息可以從流中提取出來并填充進去。現(xiàn)在輸入 g
來檢查新消息(這將檢查所有組中的新消息)。閱讀 RSS 流 就像閱讀 Reddit 群組和郵件一樣,它們使用相同的快捷鍵。
Gnus 中有很多功能,還有大量的鍵組合。Gnus 參考卡為每個視圖列出了所有這些鍵組合(以非常小的字體顯示在 5 頁紙上)。
使用 nyan-mode 查看位置
最后,你可能會一些截屏底部注意到 Nyan cat。這是 nyan-mode,它指示了你在緩沖區(qū)中的位置,因此當你接近文檔或緩沖區(qū)的底部時,它會變長。你可以使用包管理器安裝它,并在 ~/.emacs.d/init.el
中使用以下代碼進行設置:
;; Nyan Cat
(setq nyan-wavy-trail t)
(setq nyan-bar-length 20)
(nyan-mode)
Emacs 的基本功能
這只是 Emacs 所有功能的皮毛。Emacs 非常強大,是我用來提高工作效率的必要工具之一,無論我是在追蹤待辦事項、閱讀和回復郵件、編輯文本,還是與朋友和同事交流我都用它。這需要一點時間來適應,但是一旦你習慣了,它就會成為你桌面上最有用的工具之一。