Emacs / Vimユーザの僕が惚れ込んだiOS用エディタMyEditor
2016/03/16
価値ある情報をユーザー視点で発信するブログ
2016/03/16
もくじ
ひとりぶろぐのmoyashi (@hitoriblog) です。
僕は普段、Emacs、Vimなどのテキストエディタ使っています。
僕がEmacsやVimを好きなのは、テキスト編集するための機能を自分で追加できるからです。
それと同じ理由で、iOS用ではMyEditorが気に入っています。
カテゴリ: ビジネス, 仕事効率化
現在の価格: ¥350(サイズ: 0.4 MB)
販売元: Takeyoshi Nakayama – Takeyoshi Nakayama
リリース日: 2012/11/11
iPhone/iPadの両方に対応
現在のバージョンの評価: 無し(0件の評価)
全てのバージョンの評価: (2件の評価)
EmacsはEmacs Lispで、VimはVim Scriptで機能を追加できます。
MyEditorはJavaScriptで機能を追加できるのです。
正確には、MyEditorはiOS用のJavaScript開発実行環境MyScriptsとの連携を前提に設計されたもので、MyEditorからMyScriptsを呼び出していろいろなことができるようになっています。
MyScripts 2.5(¥350)
カテゴリ: 仕事効率化, ユーティリティ
販売元: Takeyoshi Nakayama – Takeyoshi Nakayama(サイズ: 2.3 MB)
全てのバージョンの評価: (15件の評価)
iPhone/iPadの両方に対応
MyScriptsはiOSのアプリケーション間連携の機能(URL Scheme、クリップボード、Open In)にすべて対応しているので、テキスト処理だけでなく、もっといろいろなことができます。クロスドメイン制約の無いXHRも使えます。(続きは[Read More]から)
MyEditorからMyScriptsはopenURLで呼び出します。このときに、MyScriptsに対して自動的にJSONでパラメータを渡します。
MyScripts側では、次のようにしてJSONとして渡されたパラメータをパース。
var options = JSON.parse(OPTION);
パラメータのうちわけは以下の通りです。
MyEditorから呼び出されたMyScripts側で、MyEditorから渡されたパラメータで呼び出したMyEditor側の様子をある程度把握し、それに応じて処理を分岐できるため、MyEditorと親和性の高いスクリプトを書くことができるようになっています。
MyEditor用に書いたMyScriptsスクリプトでは、主にテキスト処理をした後、最後にMyEditorに折り返すためMyEditorを起動するためにopenURLするというのが定石となります(実際にはdocument.locationにMyEditorのURLをセットする)。
MyEditor用に書いたMyScriptsスクリプトの具体例です。
箇条書きをhtmlのリスト(UL、OL)に加工するスクリプトが以下です。
MyEditor側のテキスト選択の状態をMyScripts側で把握して、それに応じて処理を分岐しています。
MyEditorは、バックグラウンドに回ったときにクリップボードの変化の監視を開始。
クリップボードにテキストがコピーされたときにそれを履歴に溜め込んで、テキスト編集時に利用できます。
クリップボード履歴はMyScripts連携時に渡されるパラメータにも含まれますので、スクリプトからも利用が可能です。
配列として参照できるので、以下のような感じで利用ができます。
このスクリプトは、MyEditorがバックグラウンドで実行されている状態でTweetbotでツイートリンクを次々とコピー。
MyEditorのクリップボード履歴にツイートリンクを溜め込んだ後実行するものです。
クリップボード履歴に含まれるツイートリンクを、ブログに埋め込む際に使うショートコードにまとめて変換してしまいます。
ツイートリンクというのは、以下のようなもの。(展開されないようにhttpsの頭のhを抜いています)
ttps://twitter.com/hitoriblog/status/277078050884161536
ショートコードに加工するとこうなります。(展開されないようにtweetを全角で書いています)
[tweet https://twitter.com/hitoriblog/status/277078050884161536]
クリップボードの履歴を配列として取得でき、JavaScriptで加工できるというのは、想像するだに便利だと思える一方で、恐らくMyEditor+MyScriptsを除いてほかに例が無いのではないでしょうか。実際、しびれるほど便利ですよ。
MyScripts 2.5(¥350)
カテゴリ: 仕事効率化, ユーティリティ
販売元: Takeyoshi Nakayama – Takeyoshi Nakayama(サイズ: 2.3 MB)
全てのバージョンの評価: (15件の評価)
iPhone/iPadの両方に対応
こんなスクリプトはiOS機ではとても書く気にならない、そう思う人は多かろうと思います。
しかし、MyScriptsのエディタ機能もまたよく出来ていて、静的な辞書、スクリプト内の単語を拾った学習結果を参照し、タイピングの途中で補完候補を出してくれるので、関数名などを全部タイプする必要は無く、補完、補完でどんどんスクリプトを書いていくことができます。
TextExpanderにも対応しているので、あらかじめ用意したスニペットを展開することもできます。
オートインデントに対応しているので、入れ子の制御構文を書くときに、スペースを連打する必要はありません。
カーリーブレース、アスタリスクなどソフトウェアキーボードからは入力しづらい文字は、キーボードアクセサリからすぐ入力できるようになっています。
今回紹介したスクリプトぐらいなら、片手でもわりとサッサと書けてしまいます。
MyEditorに搭載された便利機能は、これ以外にもたくさんあります。
URL経由で呼び出せるたくさんの機能。TextExpanderによるスニペット展開、iCloud対応によるiOS機間の同期機能などなど。
それをすべて紹介することはここではしませんが、今回のエントリでフォーカスしたMyScripts連携によって機能の作り込みが可能であるという部分を見ていただきさえすれば、エディタ好きのハートにはズキュンと来るのではないかと思います。
moyashiはMyEditorをお勧めします。恐らく、これからもド変態な進化をしていくことは間違いありません。
MyEditor 1.3(¥350)
カテゴリ: ビジネス, 仕事効率化
販売元: Takeyoshi Nakayama – Takeyoshi Nakayama(サイズ: 0.4 MB)
全てのバージョンの評価: (2件の評価)
iPhone/iPadの両方に対応