困った時の自分用メモ

読んだ本を考察してメモったり、自分でいじった物の感想をメモったりする場。週1更新を目指します。

VIMの話-postmail.vimを使えるように頑張る1-

筆者は仕事をする時にVIMを使う。
厳密にいうと、KaoriyaさんのGVIMに便利そうなプラグインを適当に足していき、VIMを拠点に様々な操作を行うというスタイルを取っている。

以前から、日報提出のメール内容はVIMで編集してはいたのだが、いっそのことVIM上からメールを送信できればいいなと思っていた。
昔一度トライしたことがあり

postmail.vim : メール送信用vimエディタプラグイン — 名無しのvim使い

こちらを参考に試したのだが、:Mailコマンドがエラーで動かず即断念した。

ただ、別のプラグインを使えるようにする過程で、VIMスクリプトの中身を見てトレースする機会があり、今なら動かせるのではないかと思い、再度挑戦した。

 

結論からいうと、エラーが出ている場所はここだった
postmail.vim
function! g:PostMail(...) rangeの
for l:i in split(globpath(&runtimepath, 'plugin/postmail.conf'), '\n')

ここに、「globpath(&runtimepath, 'plugin/postmail.conf')」のパスにpostmail.confが存在していなくて失敗していたようだった。

runtimepathは、vim上で:set runtimepathとか打てば、通っているパス一覧が表示されるので、そのどこかにpostmail.confを置いてやればよかった。

後は、手順に則り、postmail.confを編集してやれば、メールを「送信できること」は確認できた。

 

そう、送信するだけならな!

 

詰まった点
・全角文字が入力されていると、エラーになる
・改行コードがおかしく表示される
・TO宛先に複数指定が出来るか不明、また、CC指定が可能かもわからない

 

全角文字指定に関しては、postmail.confに予め全角文字を含めてしまうと、おかしくなってしまうので、デフォで全角文字設定をするのは避けた方が良さそう。

 

改行コードに関しては、どうやらCRにすると上手くいくようなのだが、WindowsでCRを使うは微妙な気がするし、そもそもVIMでの設定はdos(CRLF)になっているしている。
これは、pythonスクリプトの中身確認して、文字コードをCRに書き換える処理を加えられるらならそうしたほうがよさそうだ。

 

TO宛先に関しても、こちらはまだ完全にノープランだが、恐らくPythonスクリプト側でその辺の設定が出来る箇所があると思うので、やはりPythonスクリプト側に探りを入れていく予定だ。

 

まぁ、ひとまず可読可能な物をメールで送信することは出来たので、もう少し調べれば使い物になるのではないかなと思う。