gk9187 blog

システム開発をしています。

evernoteをvimで編集する(evervim)

debian wheezyにてevernotevimでいじるための環境を構築した。そのときのメモ。

必要環境

vimevernoteを操作するプラグインevervimを利用する。これはgithubに公開されている。markdownでがつがつevernoteを書く用。

https://github.com/kakkyz81/evervim

もちろんvimが必要。 ただし、pythonが内包されてコンパイルされている必要がある

これにちょっと今回苦労したorz

あとは特に問題なく。pluginのインストールはneobundleというナウでヤングなvimmerなら使っているっぽいプラグインマネージャを利用した。

あ、あとmarkdownでかくんで、pythonmarkdownプラグインがいる

インストール手順

vimの再コンパイル

vimを起動して:echo has('python')が1を返す場合はこのフェーズは不要。

僕はapt-getでvimを入れてしまっていたので、ソースコードをダウンロードして手元でコンパイル

% sudo apt-get install hgsvn
% hg clone https://code.google.com/p/vim/

ちょっと時間がかかる。ダウンロードしたらコンパイルする

% ./configure --with-features=huge --enable-multibyte --enable-rubyinterp --enable-pythoninterp=yes --enable-perlinterp --enable-gpm --enable-cscope --enable-fontset --with-python-config-dir=/usr/lib/python2.7/config

色々とオプションをつけているが、まぁ大事なのは--enable-pythoninterp=yesと--with-python-config-dirだ。 これでpythonを利用できるvimが出来上がる

% make
% sudo make install

ほいで/usr/local/bin/vimが入っているので確認。

% /usr/local/bin/vim --version | grep python
+cryptv          +linebreak       -python          +viminfo
+cscope          +lispindent      -python3         +vreplace

入ってないorz

まぁ結論をいうと、configure時にpythonのライブラリが入っておらずこけており、pythonを入れるのを諦めてしまっているログが $VIMのSRC/src/auto/config.log

に出ていました。

/usr/bin/ld: cannot find -lpython

みたいなログだったかな。 これはpythonのライブラリが入ってなかったからみたいです。

% sudo apt-get install python2.7-dev libpython2.7

まぁこれに気づくのに2時間くらいかかったのですが。

何か問題が出来たらlogをみる、考える、ぐぐるを習慣づけないとダメですね。

ちゃんともう1度やり直し

% make clean
% make distclean
% ./configure (ry
% make
% sudo make install
% /usr/local/bin/vim --version | grep python
+cryptv          +linebreak       +python          +viminfo
+cscope          +lispindent      -python3         +vreplace
Linking: gcc   -L/usr/local/lib -Wl,--as-needed -o vim    -lSM -lICE -lXt -lX11 -lXdmcp -lSM -lICE  -lm -ltinfo -lnsl   -ldl    -L/usr/lib/python2.7/config -lpython2.7 -lpthread -ldl -lutil -lm -Xlinker -export-dynamic -Wl,-O1 -Wl,-Bsymbolic-functions

入ってます。

pythonmarkdownをインストール

pythonのパッケージマネージャをインストールしてそれでインストール。

% sudo apt-get install python-pip
% sudo easy_install markdown

終わり

evervimのインストール

neobundleのインストール

インストール用のディレクトリを作ります

% mkdir -p ~/.vim/bundle

.vimrcに設定を追加

filetype plugin indent off
if has('vim_starting')
  set runtimepath+=~/.vim/bundle/neobundle.vim
  call neobundle#begin(expand('~/.vim/bundle'))
  NeoBundleFetch 'Shougo/neobundle.vim'
  call neobundle#end()
endif

NeoBundleFetch 'Shougo/neobundle.vim'

NeoBundle 'Shougo/unite.vim'
NeoBundle 'Shougo/neosnippet.vim'

を入れて:NeoBundleInstallです。

特に問題はありませんでした。

これであとは欲しいプラグインは NeoBundle 'githubのアカウント名/プラダクト名'をして、:NeoBundleInstallで インストールできるっぽいです。ナウいですね

evervimインストール

.vimrcに

NeoBundle 'kakkyz81/evervim'

を追記します。

:NeoBundleInstallです。

これでevervim自体は入ります

evervim初期設定

helpをとりこむ

vim

:helptags ~/.vim/bundle/evervim/doc/

を実行します。

evernoteと接続

evernoteとの接続が必要になりますよね。

evernoteでのログイン用のトークンが必要なので取得します。

https://www.evernote.com/api/DeveloperToken.actionで取得します。 .vimrcに let g:evervim_devtoken='' の中に入力します。

そして:EvervimSetupでsuccessfulとか出たらOKです。

おすすめの設定

.vimrcに以下のショートカットを入れておくとちょっとはかどります

nnoremap <Leader>l :EvervimNotebookList<CR>
nnoremap <Leader>s :EvervimSearchByQuery<Space>
nnoremap <Leader>c :EvervimCreateNote<CR>
nnoremap <Leader>t :EvervimListTags<CR>

ドルマークlでノートのリスト、ドルマークsでノート検索、ドルマークcで新規ノート作成、ドルマークtでタグ一覧です。

使い方

あとは本家やヘルプに載っているので。

所感

markdownでガツガツかけるのがいいです。

evernoteは結構使うので、vimかきつつ頭に思い浮かんがことは\cでさっと起動してタイトルに書いて、tagにinboxをつけてあとでinboxタグを見て整理したりとか。脳内整理にも使えますね。

正直、本家ソフトよりvimを使っている人であればこっちのほうが断然捗ると思います。