[JB]iPhoneでの作業効率が劇的改善!クリップボード履歴/スニペット専用キーボードPasteboardKey
2016/05/12
価値ある情報をユーザー視点で発信するブログ
2016/05/12
もくじ

ひとりぶろぐのmoyashi (@hitoriblog) です。
MacではLaunchBarなどのクリップボード履歴が取れるアプリを必ず使いますが、iOSでは使っていませんでした。
iOSにもそれ系のアプリ、Pastebotなどがありますが、バックグラウンド動作10分間の時間制限があるので使いづらいものにならざるを得ないのです。
Pastebot — コピー&ペースト強化ソフト 1.4.2(¥350)
カテゴリ: 仕事効率化, ユーティリティ
販売元: Tapbots – Tapbots(サイズ: 6.9 MB)
全てのバージョンの評価: 


(405件の評価)
また、アプリを切り替えつつテキストの出し入れをしなければならないのも面倒臭いですね。しかし、それがOSの制約なのでしょうがありません。
Jailbrokenな環境ではそういう制約を受けませんので、クリップボード履歴を常時記録できるようにしました。
また、記録したクリップボードの履歴から使いたいものを呼び出し、カーソル位置に挿入する機能を持ったキーボードも作りました。
これらにPasteboardKeyという名前を付けてみました。
PasteboardKeyは、CocoaNutsのキーボードローダ、Keylord用のキーボードバンドルとして作ってあります。
CocoaNuts (cocoanutapps) on Twitter
出現しないアプリの例:
理由や、直るかどうかについては聞かないでください。(続きは[Read More]から)
PasteboardKeyをインストールすると、クリップボードにテキストをコピーしたときに自動に記録が取られていきます。

キーボードをPasteboardKeyに切り替えます。

すると、Pasteboardkey上にさきほどコピーしたテキストがリストアップされています。

タップすると、テキスト編集領域にペーストされました。

複数回コピーすると、その分も、PasteboardKeyに蓄積されていきます。

PasteboardKeyが記録しているクリップボードの履歴の数は30(デフォルト設定)と限りがあり、古い方から徐々に消えていきます。

後々再利用したいものについてはスニペットとして別管理します。
スニペットへはクリップボード履歴から登録します。クリップボード履歴項目を左にスワイプします。

すると、「Text registered to the Snippets」というメッセージが表示され、スニペット登録が完了します。

「Snippets」を選択すると、さきほど登録した項目がありました。クリップボード履歴の方同様、項目をタップすると、テキスト編集領域にペーストされます。

スニペットの方には登録数の上限はありませんが、PasteboardKeyで管理しているテキストはメモリに保管されていますので、あまり多くの項目を登録しない方がいいでしょう。
クリップボード履歴、スニペットの項目を右スワイプすると、削除ボタンが現れます。削除ボタンをタップすると、項目が削除されます。

「Pasteboard」、「Snippets」をダブルタップするとリストが編集状態になり、項目の連続的な削除、順序入れ替えができます。
編集状態時に「Pasteboard」、「Snippets」をダブルタップすると、編集状態から通常状態に復帰できます。

デリートキーはタップでバックスペース、左スワイプでUndoとなっています(Ver.0.2より)
上スワイプでRedoになりました。(Ver.0.5より)

クリップボード履歴の方で項目を左スワイプするとスニペットに登録されましたが、スニペットの方で項目を左スワイプするとどうなるでしょうか?
スニペットをJavaScriptとして実行し、結果をテキストとしてカーソル位置に挿入します。
やってみましょう。「1+1」と入力し、それをコピー。

クリップボード履歴として登録された「1+1」を左スワイプでスニペットに登録。

スニペットとして登録された「1+1」を左スワイプしてJavaScriptとして実行。すると、カーソル位置に2が挿入されました。

PasteboardKeyでJavaScriptを実行する際は特殊な変数を参照することができます。
| 変数名 | 内容 |
|---|---|
| TEXT | 選択中のテキストがある場合は選択中のテキスト。選択中のテキストが無い場合はクリップボードのテキスト |
| CLIPBOARD | クリップボードのテキスト |
| SELECTION | 選択中のテキスト |
| SONG | 再生中の曲の情報「SONG.title」「SONG.albumTitle」「SONG.artist」。再生中でないと情報は取得できません |
| BUNDLEID | 使用中のアプリケーションのID(例: com.apple.mobilemail) |
| WIFI | 接続している無線LANの情報「WIFI.ssid」「WIFI.macAddr」 |
| BATTERY | バッテリーの情報「BATTERY.level」「BATTERY.state」 |
クリップボードや選択テキストのJavaScriptでの加工などができます。
おおよそMyScriptsと同様です。スクリプトの作成にはMyScriptsをお勧めします。
MyScripts 2.5(¥350)
カテゴリ: 仕事効率化, ユーティリティ
販売元: Takeyoshi Nakayama – Takeyoshi Nakayama(サイズ: 2.3 MB)
全てのバージョンの評価: 



(17件の評価)
iPhone/iPadの両方に対応
| 関数 | 内容 |
|---|---|
| openURL() | 渡された引数をURLとして開きます。別のアプリにテキストを渡したりができます。 |
| enc() | encodeURIComponent()の短い別名 |
| dec() | decodeURIComponent()の短い別名 |
使用例: 選択中のテキストないしはクリップボードのテキストをTweetbotに送る
// TweetbotでPost
openURL("tweetbot:///post/" + enc(TEXT));
選択中のテキストだけを対象にしたい場合は以下のようにします。
// TweetbotでPost
openURL("tweetbot:///post/" + enc(SELECTION));
クリップボードだけを対象にしたい場合は以下のようにします。
// TweetbotでPost
openURL("tweetbot:///post/" + enc(CLIPBOARD));
スニペットの方は、クリップボード履歴の方と違って、リスト上に1行目しか表示されません。
これを利用して、JavaScriptにタイトルを付けてスッキリ使うことができます。
1行目をコメントにするわけですね。
// 括弧でくくる
"[" + TEXT + "]";
// NowPlaying
SONG.title + " by " + SONG.artist + " from " + SONG.albumTitle;

併用すると便利です。
ひとりぶろぐ » [JB]いろんなiOSアプリで無理矢理TextExpanderを有効にしちゃうUniversalExpander
出現しないアプリの例:
理由や、直るかどうかについては聞かないでください。
PasteboardKeyは無保証、無サポートです。自己責任でお使いください。
いつもの New野良リポジトリ をCydiaに登録後、以下のリンクをタップしてインストールしてください。
インストールするとリスプリングを促されるので、リスプリングします。「設定>PasteboardKey」を必要に応じて設定してください。