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