TextExpander

改めて、iPhoneでのTextExpanderとユーザ辞書登録の比較

iOS8でTextExpanderがキーボードになった


ver. 3.0 - ¥500( ユーティリティ )
SmileOnMyMac, LLC

以前にも書きましたが、iOS8に合わせてリリースされたTextExpander3から、iPhone版のTextExpanderは従来のアプリ間連携を利用したスニペット展開ツールから、サードパーティ製ソフトウェアキーボードに大転換を遂げました。

これはすなわち、従来のTextExpander Touchの最大の弱点であった、特定のアプリでしか使えないという問題が解消されたことを意味します。

この条件において、iPhoneでのTextExpanderと(各種のソフトウェアキーボード/日本語入力システムにおける)ユーザ辞書登録を比較し、その長所と短所を考えてみたいと思います。

TextExpander

TextExpanderの最大の長所は、変換前のテキストを自分で決められるという点にあります。

このことは二つの優位点をもたらしています。すなわち、変換前テキストを極限まで短くできることと、候補からの選択をスキップできることです。

特に、候補からの選択という段階がないことによって、劇的に速く、そして迷いなくテキスト入力を行うことができます。

また、選択したテキストやクリップボードの内容を加工したり、定型文の指定した位置にカーソルを移動することは、TextExpanderならではの便利な機能です。

ユーザ辞書登録

一方、ユーザ辞書登録の長所は極めて簡単です。すなわち、日本語キーボードでの利用が可能であること。

TextExpander3はあくまで英語キーボードであり、日本語文章の入力の際は、適宜切り替えて利用しなければなりません。

また、iOS7以前と比べて高精度の予測変換が期待できることは、TextExpanderの優位性に大きく迫るものです。

従来のAppleキーボード(というか日本語入力)の予測変換はゴミ同然でしたが、iOS8からはずいぶんマシになりました。(その分重いですが。)もちろん、今後投入が予想されるサードパーティ製キーボードにおいても、PCやAndroid同様の高度な予測変換が期待できます。

また、おそらく将来においては不可能になるでしょうが、従来のTextExpander対応アプリがサポートを続ける限りにおいて、日本語キーボードとTextExpander2の併用が可能であることも忘れてはなりません。

基本辞書登録+TextExpander3が最適解?

日本語圏のユーザがTextExpander3を中心に据えてテキスト入力を行うことは、あまり現実的ではなさそうです。

二度手間ではありますが、単語等は素直にユーザ辞書登録したほうが結局ハッピーではないでしょうか。

個人的にはiOS8になってからことえりとの同期が復活したというのもあり、デフォルトユーザ辞書の利用に抵抗が薄くなっています。

こんなアプリもありますし。


ver. 2.0 - 無料( ユーティリティ )
Makoto Setoh

神です。

iOS8で革命を起こす3つのアプリの現状について

iOS8で革命を起こす3つのアプリとは?

iOS8がついにリリースされましたね。今回も様々な変更点がありますが、中でも注目に値するのは、サードパーティ製アプリへの大幅な権限解放です。

これにより、iOSとAppleに占有されていた領域で、サードパーティ製アプリが影響力を発揮する余地が生まれました。かつてのがんじがらめ状態を思うと隔世の感があります。

なお、Appleにおけるシンプルと解放という対照的な価値観については、故ジョブズとウォズニアックというダブルスティーヴの対立点としてつとに知られるところです。

この二人のApple創業に至る青春時代を描いたコミック、『スティーブ』が連載中ですが、ウォズかわいい、もとい、二人の指向の違いがなかなか面白いです。

まあウォズ萌えはともかくとして、iOS8での権限解放によって注目されるアプリは以下の3つでしょう。それぞれの現状を、まとめて紹介したいと思います。

なお、私のiPhoneは顔面崩壊中のiPhone5であり、TouchIDもないしアップデートはこの記事を書き終わってからやります。

1Password


ver. 5.0 - 無料( 仕事効率化 )
AgileBits Inc.

1PasswordはMac/Windows統合のパスワード管理アプリです。パスワードの保存、自動生成、マスターパスワードによる自動入力等の機能を備え、パスワードのみならずクレジットカード情報等の管理も可能です。

これも、従来はデスクトップPC版と異なり、あらゆるフィールドに自動入力することはできなかったのですが、今回のアップデートに伴い、Safariと対応するサードパーティ製アプリで自動入力が可能になります。

さらに、TouchID搭載デバイスにおいては、マスターパスワードの入力をTouchIDで代替できるため、親指一本で全てのパスワードおよび個人情報を入力可能です。

無料化されてて一瞬ファビョりましたが、フリーミアムだった模様。既存ユーザはProアカウントを利用可能なのがうれしいところ。

TextExpander


ver. 3.0 - ¥500( ユーティリティ )
SmileOnMyMac, LLC

Macと統合されたスニペット挿入アプリです。アップデートに伴い「TextExpander Touch」から改名しました。

従来のTextExpanderは利用できる場面が極めて限定されており、特別にTextExpanderをサポートしたアプリでしか利用できませんでした。それがiOS8以降、Macと同様に、全てのアプリで利用可能になります。

ただし、利用条件については注意が必要です。

まず、基本的にMacと同様の挙動、すなわち標準のFEPから文字入力を受け取って自動処理を行うのは、旧バージョンのTextExpander Touch 2の方です。TextExpander3はキーボード(言い換えればIMEそのもの)であり、要するに日本語キーボードでは利用できません

しかも、旧バージョンとは別アプリ扱いなので再購入が必要な上に、Mac版と同期できるのは一方のみであるため、単純に上位互換とは言い切れません。

TextExpander Touch 2には、ペーストアクションを活かしたペーストショートカットとしての利用法もあるため、TextExpanderサポートアプリを主に利用している場合は乗り換えも考えものでしょう。

Simeji???


ver. 1.0 - 無料( ユーティリティ )
Baidu Japan Inc.

Androidでは、以前からIMEを追加し、利用することができましたが、iOSではデフォルトのクソみたいな変換機能しか利用できませんでした。

この手のソフトウェアで代表的なものを挙げるなら、Google日本語入力、ATOK、そしてSimejiでしょう。このうち、SimejiはすでにApp Storeで提供されています。

Androidユーザには自明のことでしょうが、AndroidにおけるIMEはソフトウェアキーボードとして提供されており、これはiOS8でも同様です。つまり、TextExpanderと同様、任意のキーボードと日本語変換システムを組み合わせることはできません。

言い換えれば、ソフトウェアキーボード/日本語入力システム/ユーザ辞書が統合されているということになります。

個人的には、日本語入力システムそれ自体もそうですが、辞書ファイルのiPhoneへの同期がより簡単にできることを期待しています。Mavericksでことえりを経由してiPhoneに辞書ファイルを追加するのは、正直に言ってものすごく大変なので。

Sublime Text(Mac)で、パネルへの日本語入力をTextExpanderで行う(追記:Alfred Workflow版)

Sublime Text(Mac)、検索パネル等で日本語入力する際の問題

Mac OS X版のSublime Textでは、検索パネル等で日本語変換確定のためにエンターキーを押すと、それが検索開始等のコマンドになって、意図しない動作が起こる上に、変換前の文字が消えてしまうという問題があります。

このうち、一部の(最初から設けられている)パネルについては、キーバインド変更でコマンドをエンターキー以外に割り振ることで、この問題を回避することができます。

しかし、特に追加したパッケージによって表示されるパネルにおいては、キーバインドの指定ができないものが多くあります。このような場合、パネルに日本語を入力するには、エンターキーを用いずに変換確定するなどの工夫が必要になってきます。

TextExpanderを利用して、簡単に日本語を入力する

ここで、簡単な解決策として、まとめて記述したテキストをペーストすることが考えられます。しかし、いちいち別のエディタを開いたり、Automatorで作ったりするのも面倒なので、TextExpanderでどうにかすることにします。

TextExpanderにはフィルイン(fillin/公式の怪しい和訳だとファイルイン)という機能があり、スニペットを展開する際に、ユーザーにテキストの入力を求めることができます。これを利用すると、「安全な」テキスト入力フィールドを簡単に呼び出すことができます。この中で変換確定しても、余計なコマンドがトリガーすることがないためです。

この場合、純粋にフィルインだけのスニペットにしたいので、内容は以下のようになります。

%filltext:name=入力フィールド:width=60%

こうすると、Sublime Textのパネルで対応するAbbreviationを入力することで、以下画像のようなテキスト入力フィールドが表示され、安全にテキストを記述することができます。

TextExpanderによるテキスト入力フィールド

これはこれでめどいですけどね。

追記:Alfred Workflow

よく考えたら、Alfred Workflowのほうが楽な気がしてならない。

スクリーンショット

1
2
3
4
5
6
7
on alfred_script(q)
set the clipboard to q
delay 0.2
tell application "System Events"
keystroke "v" using {command down}
end tell
end alfred_script

キーワードに続く入力をクリップボードに格納し、キー操作「⌘V」を送るAppleScriptです。

TextExpanderのフィルインフィールドはなんか見た目が汚いし出てくるのが遅いので、こっちのほうが快適に利用できます。

DashではなくTextExpanderを選ぶ理由

TextExpanderは高い

TextExpanderは、省略形(Abbreviation)を入力することで、テキストやコードの断片(Snippet)を展開することができるMacアプリです。テキストやコードの入力にあたって非常に強力ですが、無料で利用できる対抗馬として、Dashがあります。

Dashは、主に様々なプログラミング言語の文法を参照するためのアプリですが、スニペットを登録し、展開する機能も持っています。以前は課金要求がウザいとか色々問題もあったようですが、現在では全く不自由なく、無料で利用できるようです。

それに対して、TextExpanderは3500円と、決して安くないアプリです。しかし、TextExpanderでしかできない(または楽にできる)こともかなりありますので、簡単にまとめます。

多様なスニペット作成方法

TextExpanderでは、管理ウインドウから手動で入力する以外にも、様々な方法でスニペットを作成できます。

  • 選択テキストから
  • クリップボードから

さらに、これらのコマンドの実行方法も多様で、以下のようなものがあります。

  • メニューバーアイコンから
  • ショートカットキー
  • Mac OS Xサービス

例えば、「選択範囲でスニピット作成」コマンドにショートカットキーを割り振ることで、文章作成中にもどんどん登録していくことができます。

多様な展開方法

基本的な展開方法はAbbreviation入力ですが、実はここのオプションが多数あります。

  • メニューバーアイコンから選択
  • Abbreviationsのサジェスト
  • 検索

また、これらの展開方法が用意されているため、Abbreviationsなしでの登録も有効です。使用頻度の低い長文テンプレートのようなスニペットについては、省略形を覚えることなく利用できるわけです。

テキスト以外を登録

  • 文字でないキー入力(Enter/Return/Tab/Escape/カーソル移動)
  • リッチテキスト、画像
  • AppleScript

特に、AppleScriptによる拡張は非常に重要です。これは、各アプリのメニューバーアイテムや、アクティブでないアプリまでも、TextExpanderから制御できることを意味します。

iOS版との連携

iOS版にあたるTextExpander Touchは、スニペットデータをDropbox経由でTextExpanderと同期することができます。

iOSとMacでは文字入力方法が全く違うので、Abbreviationを別々にしたい場合も多いでしょうが、同じ内容のスニペットを登録しても問題ありませんし、大量のスニペットを登録する場合はMacからやったほうが楽です。

完全に別々に管理したい場合、同期しないこともできますし、現在のスニペットをコピーしてから同期を解除することも可能です。

なお、スニペットデータの実体はXMLドキュメントなので、直接編集することもできます。

買ってしまえば楽になる

本当にDashではなくTextExpanderが必要な人は、実はそう多くないのではないかと思います。しかし、TextExpanderが(日本語対応の設定さえすれば)非常に使いやすいことは事実です。これらの機能が気になる方は、ぜひスパッと購入をば。

Postach.ioフロントマター入力用スニペット

承前。

Postach.ioのDropbox投稿に必須のフロントマターを、簡単に入力できるようにした。

総じて、タイトルは書き終わってから入れたほうが楽だと思われ。

TextExpanderの場合

title: %filltext:name=タイトル%
date: %Y-%m-%d %H:%M
tags: 

タイトルをフィルイン。まあなくてもいい。
日時を自動挿入。

AutoHotKeyの場合(2014/07/27修正)

日時を自動挿入する。

Sublime Textの場合

<snippet>
<content>
title: 
date: $1
tags: 

$2
</content>
<tabTrigger>::</tabTrigger>
<!-- <scope></scope> -->
<description>Postach.ioフロントマターのテンプレート</description>
</snippet>

日時を展開する方法が見当たらないので、手動で入力した後、タブキーで$2位置に飛べるように。

TextExpanderのAppleScript実行機能でメニューバー項目を実行

(はてなブログからの移行記事です。正常に表示されていない場合、ご連絡いただけると助かります。)

実は値引きのとき買ってたTextExpander。

nvALTで他のアプリに渡すのがけっこうめどい

nvALTは編集中のノートを他のエディタアプリに渡す機能があるのですが、ショートカットキーはデフォルトのアプリにしか割り振られていません。

一応「システム環境設定>キーボード>ショートカット」で他のアプリにも割り振りできるのですが(「アプリケーション>nvALT>Byword.app」とかで)、あんまり増やすのもいかがなものか。

でも、よく考えたらAppleScriptでできるし、ということはTextExpanderでもできるのでやってみました。

TextExpanderのスニペット

1
2
3
4
5
6
tell application "nvALT" to activate
tell application "System Events"
tell process "nvALT"
click menu item "Byword.app" of menu 1 of menu item "Edit With" of menu 1 of menu bar item "Note" of menu bar 1
end tell
end tell

Contentでアップルスクリプトを選択します。

これで、ノートにAbbreviationを入力すれば、AppleScriptが実行されて他のアプリに渡してくれます。テキスト入力フィールドのあるアプリでないと実用に足りないと思われますが、やたらとショートカットキーを増やすより楽です。

ここで、TextExpanderにおいて、スニペットのインクリメンタルサーチが可能であることが意味を持ってきます。事前に登録する手間はありますが、間接的にメニューバー項目のインクリメンタルサーチが可能になるというわけです。

メニューバー項目をインクリメンタルサーチして実行するアプリが見つからなかったともいう。

(追記)

Alfred Workflowでできました。