はよ
- あんまり保存とかも意識しないでメモとりたい
- 整理せず雑に書きたいので検索強いほうがいい
- なるべく vim (or emacs) でやりたい
- markdown で書きたい
- この条件追加すると howm, org-mode とかはいったんおいとくことになる
- Dropbox なり Evernote なり Simplenote なりで勝手に同期してほしい
⇒ いまのところ Vim でいいかんじの環境つくれなかったので、SublimeText の sublime-evernote を使ってみてる
探す
Evervim というのあるぽい
-
github.com/kakkyz81/evervim
- VimからEvernoteを編集するプラグインevervimを作成しました。 « wp.krks.net
- EvernoteをVimで編集するEvervimというプラグイン « wp.krks.net
-
+python
で vim をコンパイルする必要がある
Geeknote というのあるぽい
-
Geeknote - Evernote console client for Linux, FreeBSD, OS X
- github.com/VitaliyRodnenko/geeknote
- github.com/neilagabriel/vim-geeknote
- python で書かれた Evernote クライアントで、テキスト編集部分を任意のエディタで編集することができる
なにがちがう
前者の evervim はエディタ(Vim)に Evernote にポストする機能を付加するもので、+python で vim をコンパイルする必要がある。自分が Emacs を使っているならばこのようなアプローチでもかまわないと思う可能性があるが、自分としては、エディタにはテキスト編集以外の機能を盛り込みたくないので今回はパスした。タイトルとかタグとか全部含めてエディタの中で書けるのは良いなと思った。
後者の geeknote は、python で書かれた Evernote クライアントで、テキスト編集部分を任意のエディタで編集することができる。いままではこれを使っていたが、新規ノートを作るときにエディタが使えず微妙に不便だった。ドキュメントをちゃんと読んでいなくて見つけられなかったのかもしれない。ぱっとみの印象では、インタラクティブにコマンドを実行するというより、バッチスタイルで使うのに便利なインタフェースに見えた。
Geeknote 試す
Installation neilagabriel/vim-geeknote
If you have not done so already, install Geeknote and login to make sure it is functional. You must login before attempting to use the plugin.
とのことなので、 まずは geeknote の CLI ツールを入れとく必要ある。
homebrew 探したけどなかった
brew とかで楽にはいらないかなと思って search してみたけど、なかった。
$ brew search geeknote
No formula found for "geeknote".
Searching pull requests...
Closed pull requests:
Geeknote: Evernote Command Line Client (https://github.com/Homebrew/homebrew/pull/14202)
homebrew への PR はあったようだけど、弾かれている。
ふつうにインストールする
これ参考にしてインストールする。
$ cd ~/
$ git clone git://github.com/VitaliyRodnenko/geeknote.git
$ python setup.py install // pyenv 使ってるので sudo なし
$ geeknote
Version: 0.1
Geeknote - a command line client for Evernote.
Use geeknote --help to read documentation.
And visit www.geeknote.me to check for updates.
$ geeknote login
Login: ******
Password:
Two-Factor Authentication Code: ******
$ geeknote login
したら、二要素認証のコードを求められた。
Evernote で二要素認証設定してたっけなと思ったらしてなかったので、これを機に設定しといた。
Google Authenticator が使える。
vim-geeknote 入れる
.vimrc
にこれ追記。
+ NeoBundle 'neilagabriel/vim-geeknote' " Evernote
+ " vim-geeknote {{{
+ " quick toggle
+ noremap <F8> :Geeknote<cr>
+ let g:GeeknoteFormat = "plain"
+ let g:GeeknoteScratchDirectory = $HOME . '/tmp'
+ autocmd FileType geeknote setlocal nonumber
+ " }}}
let g:GeeknoteFormat = "plain"
の設定でかつ日本語を本文に含めるとエラーでる。
let g:GeeknoteFormat = "markdown"
にするとでない。
"~/tmp/__Geeknote__L_KIDN" 5L, 43C written
'ascii' codec can't encode characters in position 130-132: ordinal not in range(128)
Error detected while processing function Vim_GeeknoteSaveNote:
line 5:
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "/Users/qurage/dotfiles/vim/bundle/vim-geeknote/plugin/vim_geeknote.py", line 156, in GeeknoteSaveNote
GeeknoteHandleNoteSaveFailure(note, e)
File "/Users/qurage/dotfiles/vim/bundle/vim-geeknote/plugin/vim_geeknote.py", line 92, in GeeknoteHandleNoteSaveFailure
vim.command('echoerr "%s"' % msg)
vim.error: Vim(echoerr):+------------------- WARNING -------------------+
| |
| Failed to save note (see error above) |
| |
| Save buffer to a file to avoid losing content |
| |
+------------------- WARNING -------------------+
python のエンコード確認して utf8 にしてみる
$ python -c 'import sys; print sys.getdefaultencoding()'
$ vim ~/.pyenv/versions/2.7.9/lib/python2.7/site-packages/sitecustomize.py
+ import sys
+ sys.setdefaultencoding("utf-8")
$ python -c 'import sys; print sys.getdefaultencoding()'
utf-8
やったけど vim でノートに日本語を書くとやっぱエラーでる。
"~/tmp/__Geeknote__9vkiV5" 8L, 46C written
EDAM processing error: Invalid Thrift type code: 45
Error detected while processing function Vim_GeeknoteSaveNote:
line 5:
Traceback (most recent call last):
File "<string>", line 3, in <module>
File "/Users/qurage/dotfiles/vim/bundle/vim-geeknote/plugin/vim_geeknote.py", line 156, in GeeknoteSaveNote
GeeknoteHandleNoteSaveFailure(note, e)
File "/Users/qurage/dotfiles/vim/bundle/vim-geeknote/plugin/vim_geeknote.py", line 92, in GeeknoteHandleNoteSaveFailure
vim.command('echoerr "%s"' % msg)
vim.error: Vim(echoerr):+------------------- WARNING -------------------+
| |
| Failed to save note (see error above) |
| |
| Save buffer to a file to avoid losing content |
| |
+------------------- WARNING -------------------+
結局メモ用には Sublime Text を試すことにした
vim-geeknote のほうは日本語環境で一部エラーが出るので、 sublime text のプラグイン試した。
こっちのほうがリストの取得とかは(体感では)速い。
Evernote に パース前の md をプレインテキストで保存したかったんだけど、それはできなさそう。
ひとまずこっち使ってみるけどあんまりエディタあれこれ移動するのもなーというかんじがある。
他にもいくらでも方法ある
:JunkFile
コマンドを作って利用するという手もある
テンポラリなファイルつくってぼこぼこ Dropbox とかに保存するならこういうのもべんりそう。
grep 以上の検索機能求めなければこれで良さそう。
markdown の preview に previm を使う手もある
プレビューには marked2 使ってるけど、これなくても vim だとやっぱなんでもある。