あなたの制作人生を「速記コーディング」で豊かにする、Texterを使ったアウトプット術

In: Lifehack

28 10月 2009

texter_main1

人生で、何万回も同じ操作で同じ文字を打つ必要はありますか?

よく使う日本語・同じようなコードを、何万回も同じ操作で打つ必要ってあるのかな。
頭ではコードが組み終わっているのに、それを全てキーボードで打つなんて無駄な気がする。
思考した事がそのままアウトプットできれば生産性はもっと高まるはず。
コードを打っているとき、自分はいつもそう感じていた。

Texterというソフトに出会ってから日常が少し変わった。
キーを打ったことを忘れて、 頭の中で浮かんだことがそのまま目の前に現れるような感覚、
まるで、「速記」を自動展開しているような心地良さを味わえた。

書くのが遅くなったけど、
今回はSACSS vol.5のライトニングトークでお話しさせて貰った「Texter」を紹介。
このTexterを使うようになってから、打つことが革命的に早く・楽しくなった!
効率化を追求している人にはお勧めのツール。

Texterって何ができるの?

Texterを一言で説明すると「英語圏の辞書登録ソフト」。
設定したトリガー、例えば[yrq]を入力した瞬間に、

yrq → 宜しくお願いいたします。
maq → margin: |カーソルキー|0px 0px 0px 0px;

上のように、トリガーを登録した単語に瞬時に置換してくれる。
しかも置換後のカーソルの位置が指定できる。
実際に下の動画を見て貰うと分かりやすいと思う。

Lifehacker Code: Texter (Windows) – Clips – Lifehacker

Windowsの辞書登録とはココが違う

これだけ見ると、IMEの単語登録と変わらないと思う人もいると思う。
一般的な単語登録とTexterとの違いをまとめてみた。

  • 改行やTab、カーソルキー・修飾キー(Shift,Ctrl,Altなど)を含めて登録できる。
  • 複数行入力が可能。
  • 変換後のカーソルキーの位置を自由に設定可能。
  • ローマ字をトリガーにして登録可能 = 変換キーを押さずに置換可能。
  • インストール不要のexeファイルなので、Dropboxなどのオンラインストレージに入れれば、
    自宅や職場のPCなどで、同じ環境で使用可能!
  • Dreamweaver以外のテキストエディタやブラウザ上など、
    「文章を打てる全てのスペース」で快適にアウトプットができるようになる。

作者はLife Hacker

Texterの作者は、ライフハックで有名なLife Hackerの本家、英語版。
MACで使われていた単語登録ソフト、「Text Expander」に影響を受けて、
Windows版を目指して作ったらしい。
さすがLife Hacker、人生をハックしてくれる!

Texterのダウンロード(日本語化済み)

前置きが長くなったけど、早速Texterのダウンロードと使い方。
GNUライセンスなので少し改造して公開。

  • 日本語化してみた。
  • 日本語を表示出来るよう、最初から「Compatibility mode」を「Clipboard mode」に変更。
  • 使いやすいようにサンプルコードを仕込んでみた。

Life Hackerの公開ソースには、右クリックでhotstringを変更する際にバグがあったため、
Exe2Ahkを使用し、実行ファイルを逆コンパイル、
includes/GUI/management_GUI.ahkの31~39行目に関数[EDITNAME]を追加。

まずはTexterをダウンロード。

Texterのダウンロード 日本語化済み・例文登録済み

ソース
オリジナル版(Life Hacker – Texter)

Texterの使い方

早速使ってみる。
日本語化Texterをダウンロードした人は、テキストエディタで

yrq

と打ってみよう!
[diq][ulq][dlq][imq][taq][h11][12q][scjq][$q][ [q ][phq][ifq]とか色々設定してみた。
入力した瞬間に文字が置換されて、カーソルが設定箇所に来ているはず。

自分は初めてTexterを使って置換された時、すごい感動した!
永年続くであろうキーボード入力の呪縛から開放されたような気分。

Texterの初期設定(オリジナル版のみ必要)

texter_1

Texter日本語化版は初期設定は一切不要!
オリジナル版は、そのままだと日本語が文字化けしてしまうので下記の変更が必要。

「Compatibility mode (default)」を
「Clipboard mode (Faster,but less compatible)」に変更。

その他の項目は、全てチェックを外してしまってOK。

  • Run Texter at start up
    OS起動時にTexterを起動。
  • Check for updates at launch?
    Texter起動時にアップデートを確認する。
  • Enable Universal Spelling AutoCorrect?
    最初からセットされている英単語をオートコレクトする。
    (英単語が何万語かセットされている)
  • Play sound when replacement triggered?
    置換された瞬間に音を出す。
  • Make Texter compatible across computers with Synergy?
    Synergy(macとwindowsでキーボードを共有するソフト)を使用時に
    不具合がある場合はチェック。

単語登録の方法

単語登録するときはショートカット[Ctrl+Shift+H]を押すか、
Texterアイコンを右クリックして「Create new hotstring」を選択。

texter_2

  • Hotstring
    変換のトリガーとなるキーを設定。
  • Text/Script
    簡易テキストモードか、より高度なスクリプトモードを選ぶ。詳しくは後述。
  • Bundle
    キーのセットをまとめてタブ化、タブごとに有効/無効を簡単に切り替えられる。
  • Enter your replacement text here…
    ここに変換したいテキストを入力。
  • Trigger
    Hotstringで指定したキーの後に、どのキーを押すと変換が発動するかを選べる。
    「Instant」を選べば、キーが入力された瞬間に変換されるのでオススメ。

「Text」モードと「Script」モードの違い

「Text」モードと「Script」モードはそれぞれ挙動が違う。
登録文によって使い分けることで幸せになれる。

簡易Textモード

「Text」を選んだ場合はクリップボード経由で貼り付けされるので、

  • 変換後の文に日本語を扱える。
  • [%|]を入れると、置換後その場所にカーソルが合う。

    <div>%|</div>

  • [%clipboard]を入れると、クリップボードの内容が、そこに貼付けされた状態で置換される。

    <a href=”%clipboard”>%|</a>

  • 他にも時刻の挿入が出来る。

    [%ds] → 3/9/2007
    [%dl] → Friday, March 09, 2007.
    [%t] → 1:30 PM.

  • Dreamwerverなどの予測変換(コードヒント)とバッティングしない。
  • ただの「貼り付け」なので複数行のインデントは保てない。
  • クリップボードの履歴管理ソフトを使っている場合は、
    履歴が「元の文 → 置換文 → 元の文」となって汚れる。

例文だと、[yrq]は日本語を含むのでTextで登録している。
下はTextモードのデモンストレーション。

Lifehacker Code: Texter (Windows) – Clips – Lifehacker

より高度なScriptモード

「Script」モードを選んだ場合はキーボードタイピングがエミュレートされる。
Textモードより高度な設定が可能。

  • 日本語が文字化けするので指定不可。
  • 下記カーソルキー、Home・Endキーなどの動きを登録可能、
    改行時もインデントを保って、柔軟でアクロバティックな登録が可能。

    {up}{left}{down}{right}{home}{end}{bs}{tab}

    改行を入れる場合は、
    「</タグ>{up}{end}{tab}」を活用。(※エディタのオートインデントがONの状態前提)

    <div>

    </div>{up}{end}{tab}

  • 修飾キーも含めて、どこまでも細かい設定が可能。

    ^ = Control
    ! = Alt
    # = Win
    + = Shift
    ^c = コピー
    ^v = 貼り付け
    ^s!{f4} = 保存してから終了

  • Dreamwerverの閉じタグ自動補完とバッティングするので、登録に工夫が必要。

例文だと、[yrq]以外は全てScriptで登録している。
下はScriptモードのデモンストレーション。

Lifehacker Code: Texter (Windows) – Clips – Lifehacker

おすすめ単語登録リスト

登録して、凄く便利に感じた個人的なおすすめ登録。
今回配布のTexterには下のリストの何倍も入れている。

おすすめ!

PHPとjQuery書くときの気持ち良さが130%増しに!

  • [q

    {
      |カーソル|
    }

  • 22q

    "|カーソル|";

  • $q

    $("|カーソル|").();

  • ifq

    if (|カーソル|){

    }

  • elq

    else {
      |カーソル|
    }

  • osq

    いつもお世話になっております。
    ■の■です。

コーディングだと…

Dreamweaverコードヒントのほぼ全てを代替して使っている。

  • maq

    margin: |カーソル|0px 0px 0px 0px;

  • paq

    padding: |カーソル|0px 0px 0px 0px;

  • boq

    border: 1px solid #|カーソル|;

  • baq

    background: url(img/|カーソル|) no-repeat 0px 0px;

  • wiq

    width: |カーソル|px;

  • heq

    height: |カーソル|px;

CSSハック

CSSハックは、できるだけ知識として覚えたくないので、Texterに覚えて貰うようにしている。

  • 10q ~ 26q (YUI2:Fonts CSSで相対指定)

    font-size: 77%; ~ font-size: 197%;

  • ieq

    /*--IE7 hack--*/
    *:first-child+html |ペースト| {

    }
    /*--IE6 hack--*/
    * html |ペースト| {
      |カーソル|
    }

  • leq

    float: left;
    display: inline;

  • riq

    float: right;
    display: inline;

  • minhq

    min-height: |カーソル|px;
    /* IE6 fix */
    height: auto !important;
    height: px;

  • minwq

    min-width: |カーソル|px;
    /* IE6 fix */
    width: auto !important;
    width: px;

  • ie8q

    /* IE8 fix */
    head~/* */body |ペースト| {
      |カーソル|
    }

  • hoq (IE6でもa要素以外で:hover擬似クラスを使うcsshover3.htc)

    <style type="text/css">
    <!-- body { behavior: url ("common/js/csshover3.htc"); } -->
    </style>

Texterのトラブルシューティング

Texter使用時に起きた問題の対処法をまとめてみた。

「Script」モードで閉じタグ自動補完とのバッティングを避けるには

Dreamwerverや他のテキストエディタなどで、
「</」や「>」を入れると閉じタグを自動補完するように使っている場合は、
素直に登録すると「<div></div></div>」と二重になってしまう。
それを避ける方法として、

  • 【開始タグ】 閉じタグを打って左に移動し、そこからタグの中身を書く。「>{left}<■■■{right}」

    >{left}<div{right}

  • 【終了タグ】 「/」の後に左、「<」、右、そして中身を書く。「/{left}<{right}■■■」

    /{left}<{right}div>

日本語入力ONの状態で置換されるときに、文字が多く消されてしまう。

例えば[yoroq]を[宜しく]に変換しようとすると、
IME ONの状態だと[よろq]となり3文字だが、
Texterの認識は[yoroq]で5文字となるため、置換時に2文字多く消されてしまう。

解決策としては、[yrq]のように母音を含まないトリガーで登録する。
もしくはトリガーの最初の一文字入力時に、Shiftキーを押すようにすれば、
IME ONの状態でも[Yoroq]と5文字になるので問題なく使える。

TexterとAutoHotKeyを同時に起動していると動作がおかしい

先にTexterを起動させてからAutoHotKeyのスクリプトを実行すればOK。
スタートアップに起動の順番を登録したい人は、テキストエディタで下記スクリプトを入力、
フォルダ階層を合わせた後、拡張子を[.txt]から[.vbs]に変えて起動時に実行させればOK!

Dim WshShell
Set WshShell = Wscript.CreateObject(”Wscript.Shell”)
WshShell.Run(”■\texter\texter.exe”)

WScript.Sleep 4000
WshShell.Run(”■\autohotkey\autohotkey.ahk”)

やっぱり登場、AutoHotKey

プログラム自体はAutoHotKeyベースで作られていて、
Hot Strings関数を利用、GUIでリスト表示するように出来ている。
ahkファイルも公開されているので、自分でカスタマイズも可能。

Texterを使わず、直接AutoHotKeyでスクリプトを書けば、
キー間のタイミング、キー押下時間、正規表現やソフトの制御などで、
想像を超える変態的なHackが可能!
日本語圏でもAutoHotKeyのユーザーが増えて、
打つ事の世界観が変わるライフハックが増えると嬉しいな~と思う。

時間の短縮以上のメリット

辞書登録と聞くと、時間短縮が一番のメリットのように映るけど、
自分が感じる本質的なメリットは、
「集中力が途切れない」点にあると思う。

集中力が途切れる瞬間を考えてみると、

  • 定型文をコピペの為に、エディタから他のウィンドウに移った瞬間。これは致命的。
  • 遠くのキーを押すために、ホームポジションから手を離した瞬間。
  • 左カーソルキーを何度も押して「戻る」動作をしている時。
  • インデントの整形の為にEnter・Tab・カーソルキーを駆使している時。

上の操作を行った瞬間、キーボードを打っている自分に気がついて、
「ディスプレイの内面世界」から「外の現実世界」に引き戻され、集中力が途切れると感じた。

例えばループさせる時。
自分が打ちたいのはあくまでも、

for ($i = 0; $i <= ■ここ■; $i++){
  ■ここ■
}

だけなのに、最初に枠組みを書いてから戻る打ち方をすると、

1. for($i = 0; $i <= ■; $i++){
2. Enterを2回
3. }を入力
4. 手をホームポジションからカーソルキーに移動、↑キー
5. Tabを押してインデント。

ここでやっと書きたかった場所まで到達。
Texterを使えば、魔法の一言”forq”の直後に整形完了。
記号まで自分で打つ必要性は、もうとてもじゃないけど理解できない。

毎日積み重なっていくモノの力は凄い

ちょうど一年くらい前、インターンで今の制作会社に入った時に、
どうすれば、出来ない仕事の生産性を上げられるんだろうってずっと考えてた。
スキルは足りない、コードが頭からぱっと出てこない、スペルミスは多い。
そんな時に、このエントリーに出会った。

剣道の達人は剣が身体の一部になっています。
まるで、剣の先にまで神経が生えているように、剣で感じ、剣を操ります。
もはや、道具を使っているという意識はなく、剣も含めて身体意識が形成されているのです。

思考の速度でパソコンを使う技術 – 分裂勘違い君劇場

PCを、意識せず自分の体の一部として認識、洗練させていく行為が
言語スキルを磨くのと同じ様に生産性を強く高める!と思い、主体的にハックを考える様になった。
実際仕事のスピードが飛躍的に高まったので、
人生を共にする仕事道具への接し方って大事だなと~実感した。

コードを書く仕組みを変える事は、自分へのメリットはもちろん、
ノウハウが共有されればweb全体の生産性も上がって素晴らしい世界に!

とか言う崇高な気持ちは無いんだけど
世界観が変わるようなライフハックを実践している人とか、
変態キーバインドでニヤニヤしている人になかなか出会えないので、
少しでもそんな人が増殖すれば良いなと思って書いてみた。

小さな事かも知れないけど、毎日積み重なっていくモノの力は凄い。
Texterを通した入力から得られる、「ストレスのない速記」の世界は
きっと制作人生を、時間単価の面でも、打つ楽しさの面でも豊かにしてくれる!

今回は誰でも簡単に導入できるTexterの紹介。
これからは、もっと根本的なAutoHotKeyを使ったキーバインドを書いていきたい。

RSS登録をyrq.
Life Hackerに感謝!

20 Responses to あなたの制作人生を「速記コーディング」で豊かにする、Texterを使ったアウトプット術

Avatar

Ichimura

11月 2nd, 2009 at 07:00

詳しい解説ありがとう~。けど、忙しくて導入できない…。

Avatar

gecko

11月 12th, 2009 at 15:25

はじめまして。
Scriptモードになっている複数行のモノ(ie8qなど)を入力したときに
windowsのメモ帳では以下のように正しく複数行表示されます。
/* IE8 fix */
head~/* */body .class {

}
秀丸エディタ7.11では
/* IE8 fix */

1行目+改行となってしまいます。
私の環境だけかも知れませんが報告させていただきます。

Avatar

< /gecko >:げことじ。:日常からWEBまで: - 【tool】コーディング支援アプリTexterについて

11月 12th, 2009 at 17:01

[...] Texter0.6 すっごい便利。 あなたの制作人生を「速記コーディング」で豊かにする、Texterを使ったア…より。 [...]

Avatar

kamiyan

11月 12th, 2009 at 19:58

window7でも使えますか?
私の環境では使えないのです。(ToT)

Avatar

rin316

11月 13th, 2009 at 02:48

Ichimuraさん
実行させるだけで使えます!
今度動画編集のコツ教えて下さい。

Avatar

rin316

11月 13th, 2009 at 02:56

geckoさん
はじめまして。

直るかどうか分かりませんが、もしキー送りのタイミングが問題なら、
AutoHotKeyのSetKeyDelayの引数を変えれば動作するかも知れないので、時間ある時に試してみようと思います。
ご報告ありがとうございます。
http://lukewarm.s101.xrea.com/commands/SetKeyDelay.htm
http://lukewarm.s101.xrea.com/commands/SetWinDelay.htm

Avatar

rin316

11月 13th, 2009 at 03:05

kamiyanさん
もうwindow7の時代だったんですね。
検証環境がないので分からないのですが、
64bit OSで2バイト文字が文字化けすると聞いたような。。
何か分かれば追記してみます。

Avatar

links for 2009-11-12 « 個人的な雑記

11月 13th, 2009 at 07:03

[...] あなたの制作人生を「速記コーディング」で豊かにする、Texterを使ったア… (tags: tools) [...]

Avatar

artichoke

11月 13th, 2009 at 10:26

とっても素敵!と思い早速試してみたのですが、Xkeymacsを使っているとうまく反応してくれません。例えばCtrl+Mで改行したりCtrl+Nで移動した場合は認識してくれないようです。なにかよい解決策はないでしょうか。

Avatar

Hiro

11月 14th, 2009 at 00:21

便利そうなので試してみたのですが…残念ながら実務には使えない状態でした。
私の環境のせいなのか、50%の確率で登録した文字列の代わりに「https://www.dropbox.com/」と変換されてしまいます。

誤変換の出現率が多すぎるので訂正に時間がとられて余計に時間がかかってしまいます。

非常に残念ですが使用はあきらめます。

Avatar

links for 2009-11-13 « [TPP]TopagePosPot

11月 14th, 2009 at 06:02

[...] あなたの制作人生を「速記コーディング」で豊かにする、Texterを使ったア… [...]

Avatar

Texterが便利な件 | うのらぼ。

11月 14th, 2009 at 16:50

[...] そんな便利ツール「Texter」の詳しい使い方&ダウンロードは下記URLより。 あなたの制作人生を「速記コーディング」で豊かにする、Texterを使ったア… [...]

Avatar

rin316

11月 15th, 2009 at 02:09

artichokeさん
ご報告ありがとうございます。
#Hotstring指令の「?」辺りを効かせてどうなるか試してみようと思います。
http://lukewarm.s101.xrea.com/Hotstrings.html

Hiroさん
Scriptモードは正常に動作して、Textモードだけで問題発生でしょうか。
[ClipWait]設定してみます。
http://lukewarm.s101.xrea.com/commands/ClipWait.html

Avatar

Texterその2 | うのらぼ。

11月 16th, 2009 at 18:13

[...] Texterですが、 IE8ハックの変換が不完全でした。 [...]

Avatar

効率よく文書を入力するフリーソフト » 使えるフリーソフト

11月 18th, 2009 at 00:51

[...] ダウンロードと詳細な説明はこちら [...]

Avatar

lifeline

11月 30th, 2009 at 21:42

Windows 7 32bitでもだめですね。
Textモードが入力できませんね。ANKだけでも、日本語が入ってもだめです。

Avatar

links for 2009-12-21 | ウェブル

12月 22nd, 2009 at 05:02

[...] [...]

Avatar

mathfuru

12月 27th, 2009 at 00:42

規則性のない、適当なHotstringしか思いつかないからすぐ忘れてしまいます。
覚える時間を作っても量が多くなってくるともう駄目です。
良い方法ないですかね?

Avatar

ITキヲスク | 2009年12/20~12/26の週間ブックマーク

12月 27th, 2009 at 02:46

[...] [...]

Avatar

rin316

1月 5th, 2010 at 22:34

lifelineさん
やはりWindows 7では動かないんですね。
クリップボード制御辺りが動作すれば…

mathfuruさん
一部の例外以外は規則を決めて運用すると、後が楽だと思います。
自分の使ってるHotstringの規則はこんな感じです。
・基本はタグ/プロパティの先頭2文字+q
・一部、プロパティより値が重要な場合は、値2文字+q [leq / riq / req など]
・本当によく使う単語は、1文字+q [$q / [q / 2q / aq / dq / pq など]
・迷ったら、直感で感じた2文字+q
人それぞれ違うと思うので合ったものが見つかると良いですね!

Comment Form

Profile

Name:RIN
Age:25
性別:男
Location:Sapporo
Job:Webデザイナー

札幌のWebデザイナーです。
Web Design/PHP/CSS/写真をメインに
勉強した事、思った事を書いていきます。

思い立ったがfollow me!
Twitter:rin316

mixi:3542288

Photostream