[2010-11-16 00:45:35]
>>>[emacs]
>>>[evernote]
cf.http://code.google.com/p/emacs-evernote-mode/wiki/README_Japanese
友達がEvernoteとか言ってたから,Emacsにはないんだよねー.APIでも見てみるか→サンプルみたいなのが紹介されてる→emacs-evernote-modeあるやん
というわけです.ようやくうまく動いたので,紹介します.
emacs-evernote-mode - Functions for editing Evernote notes directly from Emacs - Google Project Hostingの右にあるFeatured downloads:からダウンロード.
現時点ではevernote-mode-0_10.zipが最新って...30分前にバージョン上がってる!
一旦中断.再開しまして,インストールに手間取っている間に検索ができるようになったみたいです.
作者が日本人の方で,日本語ドキュメントもしっかりしてます.README
インストール
このREADMEページの最後にインストール方法が載ってます.
zipを解凍して,
% ~/Downloads/evernote-mode-0_10/ruby % sudo ruby setup.rb % cp ../evernote-mode.el ~/.emacs.d/path/to/your/load-path
もしかするとrubyの設定によってはここでうまくいかないのかな?自分はMacPortsのrubyでうまいこといきました.
% which ruby /opt/local/bin/ruby % ruby -v ruby 1.8.7 (2010-08-16 patchlevel 302) [i686-darwin10]
そんで,init.elに設定を追加します.
(require 'evernote-mode) (global-set-key "\C-cec" 'evernote-create-note) (global-set-key "\C-ceo" 'evernote-open-note) (global-set-key "\C-ces" 'evernote-search-notes) (global-set-key "\C-ceS" 'evernote-do-saved-search) (global-set-key "\C-cew" 'evernote-write-note)
そんで,M-x eval-bufferすれば上の設定が読み込まれるので,C-ceoでノートを開いたり,新しくノートを書いたり,好きにやっちゃってください.ドキュメントに食わしすぎるくらいの説明があるので,ここでは省きます.
はまったら
私はここではまりました.
Unknown error.
最終的にターミナルでのパスとEmacsのcall-processが見ているパス(変数exec-path)が違うことが原因でした.
(apply 'call-process "which" nil t nil '("ruby"))
これをeval(C-xC-e)すると/usr/bin/rubyとか言うんですね./opt/local/bin/rubyが正しいの.
で,exec-pathを設定する時に,重複しないように登録するようになってたから,/opt/local/binがパスの上位に来てなかったんですね.
というわけでこんな感じの設定をinit.elに加えました.これはevernote-modeの設定とは直接関係ないので,前後関係は特に関係ないです
;; http://sakito.jp/emacs/emacsshell.html#path ;; より下に記述した物が PATH の先頭に追加されます (dolist (dir (list "/usr/X11/bin" "/usr/local/bin" "/sbin" "/usr/sbin" "/bin" "/usr/bin" "/usr/local/mysql/bin" "/Developer/Tools" "/usr/local/sbin" "/opt/local/sbin" "/opt/local/bin" ;; これが/usr/binよりも下に書いてあればよい "/usr/local/bin" (expand-file-name "~/bin") (expand-file-name "~/bin/gnuplot") )) ;; PATH と exec-path に同じ物を追加します (when ;; (and (file-exists-p dir) ;; (not (member dir exec-path))) (setenv "PATH" (concat dir ":" (getenv "PATH"))) (setq exec-path (append (list dir) exec-path))))
sakitoさんのEmacs 上で快適に Bash や Zsh を利用する設定 : 紹介マニアこの設定を参考に自分用にターミナルのecho $PATHからそのまま持ってきました.
そのままだと重複しないようになってたので,とりあえず(not (member dir exec-path))の部分をコメントアウトして,重複しててもexec-pathに追加するようにしました.
これで使えるようになりました.
使ってみる
- C-c e o(evernote-open-note)を実行するとEvernoteのサーバーとやり取りして,ユーザー名とパスワードを聞いてきます(最初だけ)
- 次に絞り込むタグを聞いてきます.何も入れずにEnterを押すと全てのタグをとってきます
- ミニバッファで絞り込んだノートを選択すればそのノートをバッファに開けます.(anythingいれてるから,anythingで絞り込んで選択できた)
- EvernoteのノートはXMLで書かれてるんで,XMLを直接編集するか,TEXTモードに切り替えて(C-c e e)テキストだけ編集することもできます
- XMLの文法的にミスってたら教えてくれるみたいです.試してませんが
こんな感じです.