ブラウザのtextareaに苦しむ人は多く、みんな手が無意識にESCを叩いてウボァってなったりするものだと思います。あらゆるものを自分の手に馴染んだエディタで編集したい、という欲望は人類共通です。

ThunderbirdにはExternal Editorという素晴らしいアドオンがあって、メールを好きなエディタで編集する事ができるため仕事のメール処理が格段に楽になります。

Firefoxにも同じようなpluginあるのかなーと思って探したらありました。

It's All Text! :: Add-ons for Firefox

It's All Text!をインストールした後、テキストエリアにフォーカスすると、

こんな感じで「編集」というボタンが出てくるので、こいつをクリックするとお望みの外部エディタでテキストエリアを編集出来ます。

編集中の一時的なtextファイルは(Macの場合)、

~/Library/Application Support/Firefox/Profiles/obulurwt.default/itsalltext

に保存されます。

ちなみに、僕の設定はこんな感じです。

【エディタ: 】というところに外部エディタのPATHを記述するのですが、Macの場合、Windowsと違って単純にパスを指定するだけでは使えません。開発者もこの問題に悩んでいたようですが、コメント欄の指摘で解決している模様。

I’m so stupid. Thankfully, Robert Daeley explained exactly what I didn’t understand about Mac OS X. I need to use /usr/bin/open on Mac OS X.

It’s All Text! v0.6+ | The Doctor What

要するに、Macの場合はパスを【/usr/bin/open】とすれば、.txtに関連づけられているアプリケーションで開いてくれるようです。特定の拡張子を開くアプリケーションを指定する方法はこのへんを参考にしてみて下さい。→ Mac OS X デフォルトのアプリケーションを変更する

これであらゆるテキストエリアを外部エディタで開ける!

TwitterにブラウザからPOSTするときも

↓外部エディタが起動。そこにテキストを入れる。

↓指定した秒数ごとに更新される。

最後はファイルを閉じてPOSTすれば良い。クライアント使うって?そんなこと言うなよ。

Gmailを外部エディタで編集する

Thunderbirdを使ってるのは仕事上やむなくであって、普段使いはブラウザでGmail。この時のメール編集もやっぱり好きなエディタでやりたい。

ところが、Gmailの本文はtextareaではないので、そのままではIt's All Text!が使えない。Firebugで覗いてみるとiframeで埋め込まれたHTMLであるらしい(下図)。

解決するには、Plain Textで編集するようにすればいい。

これでOK。

メーラー使ってるって?そんなこと言うなよ。

EverNoteを外部エディタで編集する

EverNoteのweb坂も、リッチテキストなので編集出来ない。

ちょっと変則技を使う。Evernote Mobile Login...つまりモバイルサイトからログイン(URLは http://www.evernote.com/m/

この通り。モバイル機能しか無いので、使い勝手悪いけど。

これもクライアントからしか使わない?泣いてもいいですか。

Vimperatorの標準機能

...と、このへんまで設定して気付いたんだけど、実はVimperatorには、:set editorでお好みのエディタへのPATHを指定すれば、Ctrl+Iでテキストエリアを外部エディタで編集出来る機能が付いている。 IT's All Text! の方が指定秒数ごとに変更が自動反映されるのでちょっと便利だが、違いといえばその程度。 なにそれすごい。今までの話はすべてVimperatorの手のひらの上だったのである。な、なんだっ(ry

成功した設定を示せば


:set editor='[ABSOLUTE_PATH_TO_MacVim.app] -f'

こうなる。[ABSOLUTE_PATH_TO_MacVim.app]にはMacVim.appの場所(絶対パス)を入れて下さい。僕の場合はエイリアスとか使って/Users/hash/unix/bin/mvimとなってる。恒常的に使うには.vimperatorrcに書きましょう。

なお、開いたときのファイルは

~/Library/Caches/TemporaryItems/vimperator-www.evernote.com-2.tmp

という感じで保存されている。

ただ、僕の場合はちょっとVimperator外部エディタの設定に手間取った(なにしろデフォルト設定ではtextareaでCtrl+Iを押すと必ず落ちるというミラクル)。

若干細かい話になるが、同じところでハマっているひと(いるのか?)のために、試行錯誤の記録を書いてみる。冗長になるので必要な人以外が読むのはこのへんまででいいと思う。

まず、Vimperatorで外部エディタを指定するのはeditorオプション。:set editor=...として設定する。以下、試行錯誤したけど「失敗した」例を列挙します。


:set editor=gvim -f
:set editor=gvim\ -f
:set editor=/usr/bin/open
:set editor=gvim
:set editor=/Applications/MacVim.app/Contents/MacOS/MacVim
:set editor='bash -lc "gvim -f \$*" gvim '
:set editor=mvim
:set editor="mvim -f"
:set editor='mvim -f'

※ちなみにgvimとは僕が勝手に設定したGUI MacVimのエイリアス。alias gvim='open -a MacVim.app'

※mvimというのはMacVim.appのインストール時に付いて来るシェルスクリプト。全貌をGistに挙げておいた 。これは単にMacVim.app内に含まれるバイナリVimをGUIで呼び出しているだけっぽい。僕はこの自分のホーム以下のオレオレbinフォルダに置いているけど、各自の環境でどこに存在するかはterminalで


$ which mvim 

とするとわかるかもしれない。なければMacVim.app/の中身に入って探すとか。

解決策を提示していたブログ によれば、


:set editor='bash -lc "gvim -f \$*" gvim '

とすればいいとのことだが、このままやってみたところだめだったので、↑をヒントにいろいろ試行錯誤した次第。

いじょ。

というわけで、このブログもMacVimで書いている。やっぱ手に馴染んだ道具が一番ですね。

Twitter,Gmail,EverNoteにメーラーやら専用クライアントを利用している人は...うーん。 MacならKeyRemap4MacBook とか WinならAutoHotkey - Free Mouse and Keyboard Macro Program with Hotkeys and AutoText でなんとか誤摩化して下さい><