投稿日: 2024-11-03
Vim から SKK に入門してみたら、思ったよりとっつきやすかった、という話。
プライベートのアウトプットが絶望的に無さすぎるので、最近 SKK に入門してみた感想でも書いてみる。
SKK 使う前と使いはじめた後とで、SKK に対する印象が結構変わったところがあった。 そのあたりを知ると、もしかしたら「使ってみようかな」と思う人が多少は増える、かもしれない。
(雑な)SKK の説明
SKK では、「英数入力モード」と「日本語入力モード」の2種類のモードがある。
それぞれのモードの切り変えは、あらかじめ割り当てられた特殊キー入力によって行う。
具体的には、 Ctrl+j
で日本語入力モードになり、 l
で英数入力モードになる。
個人的には、ここがトグルじゃないのが地味に嬉しいポイント。
ほかにも、カナ入力モードとか半角カナ入力モードとかがあるけど、普段全く使わなくても済んでいるので、ここでは省く。
英数入力モードのときは、一般的な IME と比較しても、特に変わったところはない。
日本語入力モードの間は、普通にローマ字入力すると、平仮名しか入力されない。 一般的な IME と異なり、平仮名が確定した状態で入力されるため、一見して漢字変換が全くできないように見える。
漢字変換の際は、変換のスタート位置で Shift キーを押下しながら入力する必要がある。
例えば、「漢字」と入力したい場合は Kanji
と入力してからスペースキーを押下すると変換できる。
「幹事」と入力したい場合も Kanji
と入力し、スペースキーを連打して変換候補から探す感じになる。
スペースキーによる変換の開始、および変換候補の選択については、一般的な IME と似たような感覚だと思う。
じゃあ「感じ」と入力したいときはどうするかというと、 KanJi
と入力してからスペースキーを押下すればよい。
つまり、送り仮名の部分でも Shift キーを押下する形となる。
カタカナの入力は人によってやり方が異なるかもしれないけど、自分の場合は q
キーによる変換確定が好みだったので、それだけを使っている。
Shift キーを押下したところから変換待ちになるので、例えば「オポチュニティ」と入力したい場合は Opotyunithi
と入力してから q
キーを押下すればその時点で確定する。
有名な IME だと、カタカナの変換が一発で希望通りにならないことが多かったので、これも個人的にかなり嬉しいポイントだった。
大体これで SKK の説明は出来ていると思う。 Vim を使っていると、「ノーマルモードなのに IME で日本語入力になっているために操作できない」というつっかかりの瞬間があった。 SKK を使うとこういう不便が解消できて良さそうだなぁと思っていた。 しかしながら、使いはじめることにいくつかの懸念もあり、これまで入門を躊躇っていた。
使う前の懸念
Q. SKK に慣れちゃうと、将来困ったことにならない?
A. 大丈夫。もとの IME も問題なく使える。
emacs とか Vim とか使ってる人はみんな何かしらの SKK 使ってるし、なんとなくこれらのツールとの相性は良いんだろうなとは思っていた。 ただ、内心、こういったメインストリームから離れた方式に過剰適合してしまうと、環境を変えざるを得ないときに困るんじゃないかという不安があった。 例えば、「エディタは普通 VS Code か Jetbrains の IDE だよね」みたいな状況が多くの職場でもあると思うし、これ以上、マイナー寄りのものに自分の体を慣らしていいものか、みたいな心配があった。
実際に数ヶ月使ってみて、この心配は杞憂だった。 MS IME とか Google 日本語入力とか、これまで慣れ親しんだ入力方式とのスイッチは、それほど負荷を感じなかった。 実際に、スマホでは問題なく今まで通りの入力方式を使えている。 なんなら、細かく変換する癖がついて、誤変換の確率が小さくなったように感じている。
強いて不便な点を挙げるなら、従来の IME を使った直後は、SKK での操作ミスがちょっと増えるぐらい。 でも、これもすぐに元に戻るので大きな問題にはならない。
昨今は「変換に AI がもっと介入してくるかも」みたいなことも言われているけど、いざというときにそっちへ切り変えることも多分問題にならないと思う。
Q. Shift 多用するけど小指は大丈夫なの?
A. 慣れないうちは sticky shift というのを使うのがおすすめ。慣れてきたら SandS を覚えて、そもそもの Shift ホールドにパラダイムシフトをもたらそう。
良く言われるやつだと思う。 あと数十年はキーボードを叩き続けたいと思っているので、手にダメージが蓄積しないのか、ということは気にしていた。
これに関しては、SKK には sticky shift というサブ機能があることを知っておくと良いと思う。 正直こちらのほうが直感的に SKK を使えると思ったし、これがなければ SKK に馴染めずに終わっていたと思う。
sticky shift は、日本語入力モードでセミコロン(これは設定で変えられると思う)を押下すると、変換モードを開始できる機能である。
例えばさきほどの例だと、 「漢字」と入力するときは Kanji
の代わりに ;kanji
で良いし、「感じ」と入力するときは KanJi
の代わりに ;kan;ji
で良い。
こっちのほうが直感的に操作できる、という人は結構いるんじゃないかと思う。
自分も、最初の2週間ぐらいは sticky shift オンリーで使っていた。
sticky shift だけでも問題なかったけど、セミコロンの入力を細かく求められるケースだと、若干の面倒を感じはじめた。
例えば、「分か(る)」とか「得る」みたいな入力をしたいときは、それぞれ ;wa;ka
とか ;e;ru
とか入力することになる。
「読み込む」とかだともっと差が顕著で、 ;yo;mi;ko;mu
になってしまい、流石にちょっと辛くなってくる。
このような変換では、単純にメタキーの入力が一気に増えることもあり、明らかに文章の入力のテンポががくっと落ちるのを感じていたので、なんとかしたいと思い始めた。
使い続けた結果、「やっぱりこういうときは Shift を使用したほうが入力しやすいな」というところに行き着いた。 ただ、そうなると最初の懸念に返ってきてしまう。 このあたりの疑問を vim-jp のスペースで質問してみたところ、Shift and Space (SandS) という hack を教えていただけた。 これは、「スペースキーを押下中は Shift キーを押下するときと同じ効果が得られて、スペースキーを離したタイミングで本来のスペースキー入力の効果が得られる」というものだった。 これが素晴らしく、いわゆる JIS 配列なんかでやられている「親指シフト」に似たような効果が得られる。 US 配列でもこういったことが出来るのは素晴らしい、ということで、早速やり方を調べて設定してみた。 Mac OS だと、おなじみの Karabiner-Elements で簡単に設定できた。
SandS も、最初は意図しない Shift の暴発などがあったけど、慣れるまでにはそんなに時間はかからなかった。 慣れてくると、SKK 以外の Shift ホールドも親指で出来るようになり、小指の負担がかなり減った。
そして、SKK の変換の話に戻ると、「分か(る)」の場合、教科書的には WaKa
という入力が必要だが、実は WAKA
という Shift 押しっぱなしでも意図通りに入力できることに気付いた。
「読み込む」の場合は YOMIKOMU
で OK。
SandS に慣れてからは、この類の入力が本当に楽になったため、このあたりから「SKK 完全に習得した」という感覚が芽生えはじめてきた。
使ってみてはじめて分かった SKK の良いなと思ったところ
「変換を細かく、明示的に行うから誤変換が少なくなる」というのは使う前から自明なメリットだと思うが、 ほかにも使ってみないと分からなかったメリットもあったので、それについても書いてみる。
変換候補を自分好みに育てやすい
SKK では、変換候補が厳密に Most Recently Used で管理されるらしく、使えば使うほど馴染んでくる感覚がある。 また、変換候補を最後まで探しても見つからなかった場合は、その場でシームレスに辞書登録が出来る。
ほかの IME でもこういったことって出来るんだろうけど、正直、自分はやりかたが良くわかっていなかった。 できるにしても、IME の設定画面をいちいち開いて GUI をぽちぽちする必要があるんだろうと思っている(違ったらごめんなさい)。
そんなわけで、SKK だと普通に使っているだけで、どんどん手に馴染んでくる感覚があり、快適だと感じている。
平仮名が次々に確定していくのが気持ちいい
SKK を使いはじめて思ったけど、自分が思ってるほどは文章中の漢字の割合ってそれほど高くないな、と思いはじめた。 あと、文章は適度に「ひらく(漢字にせず平仮名のままにする)」ほうが読みやすい、と言われているのを踏まえると、わざわざ漢字に変換しなくても良い箇所はさらに増える。
そんな感じで、多くの箇所でいちいち Enter で確定する必要がないのが、結構心地良いなと思いはじめた。
おわりに
SKK に入門してから、早くも数ヶ月が経過したが、使いはじめて良かったと思っている。 これを読んで、SKK に興味を持つ人が増えてくれたら嬉しいなと思う。
Vim 使っている人限定になってしまうけど、手軽に試してみる分には Vim のプラグインをインストールして試してみるのが良いと思う。 skkeleton というプラグインの作者さんが、自らプラグインのインストール方法から SKK 辞書の登録方法まで丁寧に説明してくれているので、 これを参考にするとすぐ試せると思う。