Emacs-evernote-modeをMacにインストールしたときのメモ

Emacs-evernote-modeをMacにインストールしたときのメモ

いつも使っているEvernoteとは別にコード専用のアカウントがほしいなと考えていました。無料版のアプリはアカウントの切り替えが面倒ですし、ブラウザのEvernoteはコピペのインデントが消えるので論外。

仮想デスクトップのEvernoteというのもいいですが、Emacsで動作するEvernote-modeが前から気になっていたので今回導入してみました。

予想外に良く出来ています。検索もさすがのEvernote。

以下は仮想デスクトップ MacOSX Lion 10.7.4 を使って初期状態から構築したメモです。

Evernote-modeではruby1.9.3以降はエラーになるようなので、rbenvを使ってruby1.9.2-p320を取得します。

rubyのインストール

Xcodeのcommand-line-toolsをインストール
(Xcode自体はなくてもOK、ダウンロードにはAppleアカウントが必要、現時点最新版はCommand Line Tools (OS X Lion) for Xcode - August 2012)

GCC-10.7-v2をインストール

Homebrewをインストール


ruby <(curl -fsSkL raw.github.com/mxcl/homebrew/go)

gdbmとgpg(パスワード管理のため)をインストール


brew install gdbm gpg

rubyのバージョン管理ツールをインストール。brew経由ではエラーが返され不安なので、gitから取ってきました。


cd
git clone git://github.com/sstephenson/rbenv.git ~/.rbenv
mkdir .rbenv/plugins
cd .rbenv/plugins
git clone git://github.com/sstephenson/ruby-build.git
git clone git://github.com/jamis/rbenv-gemset.git

zshを使っているので ~/.zshenvに記述


export PATH=$HOME/.rbenv/bin:$PATH
eval "$(rbenv init -)"

シェルを再起動

インストール可能なバージョン一覧を調べる。


rbenv install -l

1.9.3より下のバージョンをインストール。(1.9.3の場合はevernote-mode使用時に"Wrong type argument: listp, -e:1:"とでる)


rbenv install 1.9.2-p320
rbenv global  1.9.2-p320
rbenv rehash

シェルを再起動

バージョン、コマンド位置の確認

バージョンは1.9.2-p320。位置は~/.rbenv/shimsになっているはず。


ruby -v
which ruby

ここから evernote-mode

evernote-mode-0_41.zipを入手し、解凍してemacsのパスが届く場所に置きます。(~/.emacs.d/elisp/など)

init.elまたはemacs.dに記述


;; Emacsにコマンドの位置を認識させて使えるようにする
(dolist (dir (list
              "/sbin"
              "/bin"
              "/usr/sbin"
              "/usr/bin"
              "/usr/local/bin"
              ;; rubyの場所を直接指定
              (expand-file-name "~/.rbenv/versions/1.9.2-p320/bin")
              ;; もしくは
              ;; (expand-file-name "~/.rbenv/shims")
              ))
  (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))))

使用するバージョンのruby(ここでは1.9.2-p320)のパスを直接指定してsetupします。


cd ~/.emacs.d/elisp/evernote-mode-0_41/ruby
sudo ~/.rbenv/versions/1.9.2-p320/bin/ruby setup.rb

init.elまたはemacs.dに記述


;; Evernote mode
;; パスを通す
(add-to-list 'load-path
             (expand-file-name "~/.emacs.d/elisp/evernote-mode-0_41"))
(require 'evernote-mode)
;; 新規ノート作成。タグ、タイトルなどを入力
(global-set-key (kbd "C-c e c") 'evernote-create-note)
;; タグを選択してノートを開く
(global-set-key (kbd "C-c e o") 'evernote-open-note)
;; 検索ワードを入力して、Note:と表示されたらTabで一覧が表示される
(global-set-key (kbd "C-c e s") 'evernote-search-notes)
;; evernote-create-searchで保存された検索ワードで検索
(global-set-key (kbd "C-c e S") 'evernote-do-saved-search)
;; 現在のバッファをEvernoteに記録
(global-set-key (kbd "C-c e w") 'evernote-write-note)
;; 選択範囲をEvernoteに記録
(global-set-key (kbd "C-c e p") 'evernote-post-region)
;; Evernote閲覧用ブラウザを起動
(global-set-key (kbd "C-c e b") 'evernote-browser)
;; 既存のノートに編集を加える
(global-set-key (kbd "C-c e e") 'evernote-change-edit-mode)

;; ユーザー名入力を省略できる。自身のアカウント名を設定
(setq evernote-username "your_evernote_account")
;; 毎回長いパスワードは面倒なので、最初にインストールしたgpgで管理
(setq evernote-password-cache t)
;; gpgファイルの保存先と名前を変更
(setq enh-password-cache-file "~/.emacs.d/evernote-mode.gpg")

evernote-usernameにご自身のアカウント名を入れるのを忘れないでください。

Emacsを再起動。あとは試しに"C-c e c"と打ってパスワードを訪ねられたら成功です。その後[Cancel][OK]選択画面がでるので[OK]を押し、gpg用のパスワードを設定します。以降はgpgパスワードのみ問われるようになります。

詳しい使い方はこちら Emacs evernote mode

参考

rbenvを使ってrubyをインストールする - 一行入魂

evernote-modeの導入 - 12FF5B8 Wiki