notmuch-python-vim は Notmuch と連携して、メールの読み書きを手助けする
Notmuch には元々送受信機能がないので、送信には sendmail 等、受信には fetchmail 等のプログラムが別途必要
同種のプラグインとしては、notmuch-vim が有るが、自分の使いたい機能がなかったので作成
メール数が多い検索条件だとスレッド一覧の表示に時間がかかる
- Ubuntu 24.10
- Linux kernel 6.11.0
- VIM - Vi IMproved 9.1
- CPU: 12th Gen Intel© Core™ i7-1270P×16
- Memory: 32 GB
の環境で、約 31000 通にヒットする検索条件のスレッド一覧の表示に 40 秒ほど
個人的には今の所、普段は 3 ヶ月以内のメールのみ一覧するように検索条件を指定している
タグの操作で複数指定をできるようにしたため、通常 Vim では | (バー) で区切ると複数個のコマンド指定ができるが、それができない
- NeoVim では動作しない
- Ver. 9.0 以上
-
vim --version | grep +python3
他には +folding 等も必要だが、調べきれていない
Notmuch をセットアップし、
notmuch newでデータベースを作成しておく必要が有る
Notmuch が動作条件なので、対応しているメール・ボックスの種類は Maildir, MH のいずれかになる
加えて Python Ver.3 の notmuch2, html2text パッケージが必要
Ubuntu 等の Debian 系なら
sudo apt install -y python3-notmuch2 python3-html2text他では
python3 -m pip install notmuch2 html2textメール送信には、別途 sendmail 等の MTA とその設定が必要
使用しているパッケージ・マネージャに従えば良い
Plug 'iranoan/notmuch-py-vim'Plug 'iranoan/notmuch-py-vim'NeoBundle 'iranoan/notmuch-py-vim'call dein#add('iranoan/notmuch-py-vim')git clone https://github.com/iranoan/notmuch-py-vim ~/.vim/pack/iranoan/start/notmuch-py-vim遅延読み込みをさせるなら
git clone https://github.com/iranoan/notmuch-py-vim ~/.vim/pack/iranoan/opt/notmuch-py-vim~/.vim/vimrc などの設定ファイルにに次のような記載を加える
augroup loadNotmuchPy
autocmd!
autocmd CmdUndefined Notmuch packadd notmuch-py-vim
augroup END次のように起動する
vim +'Notmuch start'Vim 起動後なら
:Notmuch startデフォルトでは
:Notmuch startで次のレイアウトで起動する
| F-WIN | T-WIN |
| S-WIN |
<F1> でデフォルト・キーマップを表示
上の F-WIN, T-WIN, S-WIN の意味と操作法ははそれぞれ次のとおり
F-WIN
- 擬似的なメール・フォルダのフォルダー・ツリー
- o で T-WIN にメール一覧を表示
:bwipeoutすると他の T-WIN, S-WIN や未編集の送信バッファも閉じられる
T-WIN
- スレッド・ツリー
- デフォルトでは全体の 1/4 程度の高さ
- S-WIN のウィンドウが有れば、カーソル位置のメールを S-WIN に表示する
- o でスレッド開閉
- ステータス・バーにタグなどの情報を表示
- zn を無効にしている
S-WIN
-
まず先頭に設定にしたがってヘッダを表示する
-
それに続いて、text/plain パートも有る HTML メールなら
HTML: index.html
が表示される
-
さらに添付ファイルが有る時などに
Attach: file_name.zip
等の追加情報が表示される
-
どちらも
- o で開く
- 削除されていれば、HTML:→Del-HTML:, Attach:→Del-Attach: と表示
-
これらのヘッダの後に本文が続き、text/plain と text/html パートの両方が含まれている時は、text/plain の後の
HTML part
に続いてプレイン・テキストに変換した text/html パートが折り畳まれた状態で表示される
-
text/html しか無いメールの場合、折り畳まれずに表示される
c 新規メール
r 返信メール
R 転送メール
<Space> で未読メールを読み進める
<Tab> でウィンドウを F-WIN → T-WIN → S-WIN とサイクリックに切り替え
<S-Tab> でウィンドウを F-WIN → S-WIN → T-WIN とサイクリックに切り替え
送信メールに
From:
To:
Cc:
Bcc:
Subject:
Reply-To:
Attach:
のような内容において、Attach ヘッダはバーチャル・ヘッダで、添付ファイルをパスで指定する
Attach ヘッダを追加すれば、添付ファイルを複数付けられる
本文部分にカーソルが移動すると
- From 等ヘッダ
- 署名
が入力される
空でない Fcc: ヘッダが有れば送信後にメールをそこに保存する
<Leader>s でバッファをメール送信
