Skip to content

iranoan/notmuch-py-vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

notmuch-python-vim

概要

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 では | (バー) で区切ると複数個のコマンド指定ができるが、それができない

要件

Vim

  • NeoVim では動作しない
  • Ver. 9.0 以上
  • vim --version | grep +python3

他には +folding 等も必要だが、調べきれていない

Notmuch

Notmuch をセットアップし、

notmuch new

でデータベースを作成しておく必要が有る

Notmuch が動作条件なので、対応しているメール・ボックスの種類は Maildir, MH のいずれかになる

Python Ver.3.x

加えて Python Ver.3 の notmuch2, html2text パッケージが必要

Ubuntu 等の Debian 系なら

sudo apt install -y python3-notmuch2 python3-html2text

他では

python3 -m pip install notmuch2 html2text

MTA

メール送信には、別途 sendmail 等の MTA とその設定が必要

インストール

使用しているパッケージ・マネージャに従えば良い

Plug 'iranoan/notmuch-py-vim'
Plug 'iranoan/notmuch-py-vim'
NeoBundle 'iranoan/notmuch-py-vim'
call dein#add('iranoan/notmuch-py-vim')

Vim packadd

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

  • 擬似的なメール・フォルダのフォルダー・ツリー
  • oT-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-WINT-WINS-WIN とサイクリックに切り替え

<S-Tab> でウィンドウを F-WINS-WINT-WIN とサイクリックに切り替え

送信メール

送信メールに

From:
To:
Cc:
Bcc:
Subject:
Reply-To:
Attach:

のような内容において、Attach ヘッダはバーチャル・ヘッダで、添付ファイルをパスで指定する

Attach ヘッダを追加すれば、添付ファイルを複数付けられる

本文部分にカーソルが移動すると

  • From 等ヘッダ
  • 署名

が入力される

空でない Fcc: ヘッダが有れば送信後にメールをそこに保存する

<Leader>s でバッファをメール送信

About

notmuch-python-vim は Notmuch (https://notmuchmail.org/) と連携して、メールの読み書きを手助けする

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published