エンターは確定じゃなくて改行なんです! 絶対なのです!!

SKK Advent Calendar 2010 の5日目というわけで、相撲大好き Emacser の tomoya です。どすこんばんわ (2年連続のネタです)。
4日目は [twitter:@myuhe] さんの AZIK on DDSKKで二重母音拡張の送り仮名をどうにかしたいでした。僕も AZIK に入門してみようかなと思いました。
また、SKK Advent Calendar は他のカレンダーに比べて非常に内容がクリティカルなので、とても楽しいです。まだ参加枠が余っているので、多くの人に書いてもらえると嬉しいですね。
さて、僕のエントリは結構なゆる記事なので、気持ちを楽にして読んでもらえればと思います。

エンター(リターン) で変換の確定。

通常のインプットメソッド(IM)ではエンターで変換を確定します。しかし、SKK は標準でエンターを押すと確定して更に改行になります。これは始めて SKK を利用した人にとって衝撃的だったのではないでしょうか?かくいう僕もチャットなどで誤爆しまくりました。
ですが、たいていの SKK にはそんな戸惑いを隠すことのできない入門者のために「エンターで確定したときに改行しない」ようにするオプションが用意されています。

上の画像は AquaSKK の設定パネルです。ちゃんと「Enter による確定で改行しない」というチェックがあります。DDSKK では、(setq skk-egg-like-newline t) という設定を利用します。また、skkime もちゃんと設定項目があります。
僕も最近までこの設定を利用していました。ですが、この設定は次の致命的な欠点が存在したのです。

確定して改行したいときに、2回連続でエンターを押さなければならない。

本気ですが、一部冗談です。

エンターが確定と改行の2つの動作になる。

これは言い換えると「エンターは必ず改行を入力するキーであるべき」という意味でもあります。実はこちらの方が

  • チャットの誤爆が減る(不用意にエンタを押して改行することがなくなる)
  • 入力のタイプ数が減る(変換してそのまま改行したいとき)

という点で、便利だったりするのです。(後者はGoogle検索のとき漢字を変換して確定と同時に検索できる)
一般のIMの場合、タイプしてはエンター、タイプしてはエンターという具合に、エンターを非常に多用するので、エンターを連発する癖がつき、とても非効率です。ですが、SKKひらがな入力でエンターを押す必要がないなど、文字入力するときは改行のみにエンターを使えばいいように設計されているのです。
しかし、エンターを押すと確定して改行してしまいます。ではどうすれば確定だけするのでしょうか?

▼モードのときに C-j で変換確定。

DDSKK の SKK チュートリアルを行なうと、C-j で確定できるということが判明するのですが、僕はこの事実を知りませんでした。なぜならば、AquaSKK から SKK に入門したため、SKK チュートリアルを使わずに SKK に慣れてしまったからです。
ですので、Emacs で DDSKK を使える人は、ぜひ M-x skk-tutorial でチュートリアルを試してみましょう。
なお、SKKチュートリアルを行なうためには、SKK.tut ファイルの場所をちゃんと Emacs に教えておく必要があります。デフォルトでは /usr/local/share/skk/SKK.tut に設定されていますが、僕のように別の場所にインストールされている場合は、

(setq skk-tut-file "~/.emacs.d/etc/skk/SKK.tut")

という感じに設定しなおしておきましょう。

変換候補がひとつの場合は C-j すら押さなくていい。

DDSKK 14.1 から以下の設定が加わりましたので、更にタイプ数を少なくすることができます。

;; 変換候補がひとつしかない場合は確定する
(setq skk-kakutei-when-unique-candidate t)

地味に便利です。
というわけで、知っている人が多そうなのですが、自分みたいな人のための Tips でした。

明日の6日目は [twitter:@yunh] さん。

明日は yunhさんです。楽しみにしていますので頑張ってください!