使用 Vim 傳送郵件和檢查日曆
在 2020 年用開源實現更高生產力的二十種方式的第十六篇文章中,直接通過文字編輯器管理你的電子郵件和日曆。
去年,我在 19 天裡給你介紹了 19 個新(對你而言)的生產力工具。今年,我換了一種方式:使用你在使用或者還沒使用的工具,構建一個使你可以在新一年更加高效的環境。
用 Vim 做(幾乎)所有事情,第一部分
我經常使用兩個文字編輯器 —— Vim 和 Emacs。為什麼兩者都用呢?它們有不同的使用場景,在本系列的後續幾篇文章中,我將討論其中的一些用例。
好吧,為什麼要在 Vim 中執行所有操作?因為如果有一個應用程式是我可以訪問的每臺計算機上都有的,那就是 Vim。如果你像我一樣,可能已經在 Vim 中打發了很多時光。那麼,為什麼不將其用於所有事情呢?
但是,在此之前,你需要做一些事情。首先是確保你的 Vim 具有 Ruby 支援。你可以使用 vim --version | grep ruby
。如果結果不是 +ruby
,則需要解決這個問題。這可能有點麻煩,你應該檢視發行版的文件以獲取正確的軟體包。在 MacOS 上,用的是官方的 MacVim(不是 Brew 發行的),在大多數 Linux 發行版中,用的是 vim-nox 或 vim-gtk,而不是 vim-gtk3。
我使用 Pathogen 自動載入外掛和捆綁軟體。如果你使用 Vundle 或其他 Vim 軟體包管理器,則需要調整以下命令才能使用它。
在 Vim 中管理你的郵件
使 Vim 在你的生產力計劃中發揮更大作用的一個很好的起點是使用它通過 Notmuch 傳送和接收電子郵件,和使用 abook 訪問你的聯絡人列表。你需要為此安裝一些東西。下面的所有示例程式碼都執行在 Ubuntu 上,因此如果你使用其他發行版,則需要對此進行調整。通過以下步驟進行設定:
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
到目前為止,一切都很順利。現在啟動 Vim 並執行 :NotMuch
。由於是用較舊版本的郵件庫 notmuch-vim
編寫的,可能會出現一些警告,但總的來說,Vim 現在將成為功能齊全的 Notmuch 郵件客戶端。
如果要搜尋特定標籤,請輸入 \t
,輸入標籤名稱,然後按回車。這將拉出一個帶有該標籤的所有訊息的列表。\s
組合鍵會彈出 Search:
提示符,可以對 Notmuch 資料庫進行全面搜尋。使用箭頭鍵瀏覽訊息列表,按Enter鍵顯示所選專案,然後輸入 \q
退出當前檢視。
要撰寫郵件,請使用 \c
按鍵。你將看到一條空白訊息。這是 abook.vim
外掛發揮作用的位置。按下 Esc
並輸入 :AbookQuery <SomeName>
,其中 <SomeName>
是你要查詢的名稱或電子郵件地址的一部分。你將在 abook 資料庫中找到與你的搜尋匹配的條目列表。通過鍵入你想要的地址的編號,將其新增到電子郵件的地址行中。完成電子郵件的鍵入和編輯,按 Esc
退出編輯模式,然後輸入 ,s
傳送。
如果要在 :NotMuch
啟動時更改預設資料夾檢視,則可以將變數 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 外掛的文件中涵蓋了更多設定,包括設定標籤鍵和使用其它的郵件程式。
在 Vim 中查詢日曆
遺憾的是,似乎沒有使用 vCalendar 或 iCalendar 格式的 Vim 日曆程式。有個 Calendar.vim,做得很好。設定 Vim 通過以下方式訪問你的日曆:
cd ~/.vim/bundle
git clone git@github.com:itchyny/calendar.vim.git
現在,你可以通過輸入 :Calendar
在 Vim 中檢視日曆。你可以使用 <
和 >
鍵在年、月、周、日和時鐘檢視之間切換。如果要從一個特定的檢視開始,請使用 -view=
標誌告訴它你希望看到哪個檢視。你也可以在任何檢視中定位日期。例如,如果我想檢視 2020 年 7 月 4 日這一週的情況,請輸入 :Calendar -view week 7 4 2020
。它的幫助資訊非常好,可以使用 ?
鍵參看。
Calendar.vim 還支援 Google Calendar(我需要),但是在 2019 年 12 月,Google 禁用了它的訪問許可權。作者已在 GitHub 上的這個提案中釋出了一種變通方法。
這樣你就在 Vim 中有了這些:你的郵件、地址簿和日曆。但是這些還沒有完成; 下一篇你將在 Vim 上做更多的事情!
Vim 為作家提供了很多好處,無論他們是否具有技術意識。
需要保持時間表正確嗎?瞭解如何使用這些免費的開源軟體來做到這一點。
via: https://opensource.com/article/20/1/vim-email-calendar
作者:Kevin Sonney 選題:lujun9972 譯者:wxy 校對:wxy
訂閱“Linux 中國”官方小程式來檢視
相關文章
- 使用phpmailer傳送郵件PHPAI
- 使用 smtplib 傳送郵件
- SpringBoot整合Mail傳送郵件&傳送模板郵件Spring BootAI
- 使用阿里雲傳送郵件阿里
- 如何使用Excel傳送郵件?Excel
- 郵件和簡訊傳送
- 郵件傳送
- 傳送郵件
- 配置mail使用SMTP傳送郵件AI
- 使用Apache commons email傳送郵件ApacheAI
- .NET Core使用FluentEmail傳送郵件AI
- springboot如何使用outlook傳送郵件Spring Boot
- java郵件傳送Java
- python傳送郵件Python
- Django——郵件傳送Django
- gmail傳送郵件AI
- phpcms傳送郵件PHP
- 郵件的傳送
- Laravel 傳送郵件Laravel
- thinkjs 傳送郵件JS
- SpringBoot傳送郵件Spring Boot
- SpringBoot郵件傳送Spring Boot
- Laravel傳送郵件Laravel
- PHP傳送郵件PHP
- nodejs 傳送郵件NodeJS
- 在Python如何使用SMTP傳送郵件Python
- 使用Volo.Abp.MailKit傳送郵件AI
- Spring Boot中使用JavaMailSender傳送郵件Spring BootJavaAI
- Power Automate使用Shared Mailbox傳送郵件AI
- Java Mail 郵件傳送(二):簡單封裝的郵件傳送JavaAI封裝
- Laravel 郵件無法傳送原因的查詢Laravel
- golang傳送郵件(qq郵箱)Golang
- Android 快速傳送郵件Android
- SpringBoot傳送郵件(二)Spring Boot
- SpringBoot傳送郵件(三)Spring Boot
- 定時傳送郵件
- Python SMTP傳送郵件Python
- 郵件傳送API整理API