使用Vim發(fā)送郵件和檢查日歷
在 2020 年用開源實(shí)現(xiàn)更高生產(chǎn)力的二十種方式的第十六篇文章中,直接通過(guò)文本編輯器管理你的電子郵件和日歷。
去年,我在 19 天里給你介紹了 19 個(gè)新(對(duì)你而言)的生產(chǎn)力工具。今年,我換了一種方式:使用你在使用或者還沒使用的工具,構(gòu)建一個(gè)使你可以在新一年更加高效的環(huán)境。
用 Vim 做(幾乎)所有事情,第一部分
我經(jīng)常使用兩個(gè)文本編輯器 —— Vim 和 Emacs。為什么兩者都用呢?它們有不同的使用場(chǎng)景,在本系列的后續(xù)幾篇文章中,我將討論其中的一些用例。
好吧,為什么要在 Vim 中執(zhí)行所有操作?因?yàn)槿绻幸粋€(gè)應(yīng)用程序是我可以訪問(wèn)的每臺(tái)計(jì)算機(jī)上都有的,那就是 Vim。如果你像我一樣,可能已經(jīng)在 Vim 中打發(fā)了很多時(shí)光。那么,為什么不將其用于所有事情呢?
但是,在此之前,你需要做一些事情。首先是確保你的 Vim 具有 Ruby 支持。你可以使用 vim --version | grep ruby
。如果結(jié)果不是 +ruby
,則需要解決這個(gè)問(wèn)題。這可能有點(diǎn)麻煩,你應(yīng)該查看發(fā)行版的文檔以獲取正確的軟件包。在 MacOS 上,用的是官方的 MacVim(不是 Brew 發(fā)行的),在大多數(shù) Linux 發(fā)行版中,用的是 vim-nox 或 vim-gtk,而不是 vim-gtk3。
我使用 Pathogen 自動(dòng)加載插件和捆綁軟件。如果你使用 Vundle 或其他 Vim 軟件包管理器,則需要調(diào)整以下命令才能使用它。
在 Vim 中管理你的郵件
使 Vim 在你的生產(chǎn)力計(jì)劃中發(fā)揮更大作用的一個(gè)很好的起點(diǎn)是使用它通過(guò) Notmuch 發(fā)送和接收電子郵件,和使用 abook 訪問(wèn)你的聯(lián)系人列表。你需要為此安裝一些東西。下面的所有示例代碼都運(yùn)行在 Ubuntu 上,因此如果你使用其他發(fā)行版,則需要對(duì)此進(jìn)行調(diào)整。通過(guò)以下步驟進(jìn)行設(shè)置:
sudo apt install notmuch-vim ruby-mail
curl -o ~/.vim/plugin/abook --create-dirs https://raw.githubusercontent.com/dcbaker/vim-abook/master/plugin/abook.vim
到目前為止,一切都很順利。現(xiàn)在啟動(dòng) Vim 并執(zhí)行 :NotMuch
。由于是用較舊版本的郵件庫(kù) notmuch-vim
編寫的,可能會(huì)出現(xiàn)一些警告,但總的來(lái)說(shuō),Vim 現(xiàn)在將成為功能齊全的 Notmuch 郵件客戶端。
Reading Mail in Vim
如果要搜索特定標(biāo)簽,請(qǐng)輸入 \t
,輸入標(biāo)簽名稱,然后按回車。這將拉出一個(gè)帶有該標(biāo)簽的所有消息的列表。\s
組合鍵會(huì)彈出 Search:
提示符,可以對(duì) Notmuch 數(shù)據(jù)庫(kù)進(jìn)行全面搜索。使用箭頭鍵瀏覽消息列表,按回車鍵顯示所選項(xiàng)目,然后輸入 \q
退出當(dāng)前視圖。
要撰寫郵件,請(qǐng)使用 \c
按鍵。你將看到一條空白消息。這是 abook.vim
插件發(fā)揮作用的位置。按下 Esc
并輸入 :AbookQuery <SomeName>
,其中 <SomeName>
是你要查找的名稱或電子郵件地址的一部分。你將在 abook 數(shù)據(jù)庫(kù)中找到與你的搜索匹配的條目列表。通過(guò)鍵入你想要的地址的編號(hào),將其添加到電子郵件的地址行中。完成電子郵件的鍵入和編輯,按 Esc
退出編輯模式,然后輸入 ,s
發(fā)送。
如果要在 :NotMuch
啟動(dòng)時(shí)更改默認(rèn)文件夾視圖,則可以將變量 g:notmuch_folders
添加到你的 .vimrc
文件中:
let g:notmuch_folders = [
\ [ 'new', 'tag:inbox and tag:unread' ],
\ [ 'inbox', 'tag:inbox' ],
\ [ 'unread', 'tag:unread' ],
\ [ 'News', 'tag:@sanenews' ],
\ [ 'Later', 'tag:@sanelater' ],
\ [ 'Patreon', 'tag:@patreon' ],
\ [ 'LivestockConservancy', 'tag:livestock-conservancy' ],
\ ]
Notmuch 插件的文檔中涵蓋了更多設(shè)置,包括設(shè)置標(biāo)簽鍵和使用其它的郵件程序。
在 Vim 中查詢?nèi)諝v
遺憾的是,似乎沒有使用 vCalendar 或 iCalendar 格式的 Vim 日歷程序。有個(gè) Calendar.vim,做得很好。設(shè)置 Vim 通過(guò)以下方式訪問(wèn)你的日歷:
cd ~/.vim/bundle
git clone git@github.com:itchyny/calendar.vim.git
現(xiàn)在,你可以通過(guò)輸入 :Calendar
在 Vim 中查看日歷。你可以使用 <
和 >
鍵在年、月、周、日和時(shí)鐘視圖之間切換。如果要從一個(gè)特定的視圖開始,請(qǐng)使用 -view=
標(biāo)志告訴它你希望看到哪個(gè)視圖。你也可以在任何視圖中定位日期。例如,如果我想查看 2020 年 7 月 4 日這一周的情況,請(qǐng)輸入 :Calendar -view week 7 4 2020
。它的幫助信息非常好,可以使用 ?
鍵參看。
Calendar.vim 還支持 Google Calendar(我需要),但是在 2019 年 12 月,Google 禁用了它的訪問(wèn)權(quán)限。作者已在 GitHub 上的這個(gè)提案中發(fā)布了一種變通方法。
這樣你就在 Vim 中有了這些:你的郵件、地址簿和日歷。但是這些還沒有完成; 下一篇你將在 Vim 上做更多的事情!
Vim 為作家提供了很多好處,無(wú)論他們是否具有技術(shù)意識(shí)。
需要保持時(shí)間表正確嗎?了解如何使用這些免費(fèi)的開源軟件來(lái)做到這一點(diǎn)。