WSL上のVimでの日本語入力を快適にする
WSL(Windows Subsystem for Linux) とは
WSLとは、Windows 10 の上でLinuxのバイナリを動かすことができるという環境。2017年の Fall Creators Update 以降は正式サービスとなり、インストールも運用も、とても簡単になりました。普段からLinuxを触っている人や、いままでWindows上の仮想マシン(VM)を使っていた人からすると、これを使わない理由は無いと思う。
具体的な仕組みやインストール方法、設定方法などは検索すると先人のドキュメントがたくさん出てくるので、ここでは省略。
何が気に入っているのか?
特にVimがWindowsで普通に使えるのが個人的には一番うれしいポイントかもしれない。とはいえ、ここで問題になるのが日本語入力を使うとき。特に、入力モードから抜けてノーマルモードに移行したときに、移動コマンドを打ったつもりなのに日本語変換窓が出てしまって怒りを覚えたことがある人は多いのではないでしょうか?
この問題はWSLに限った話ではないので、以前から繰り返し話題に上っていて、いろいろな対策があります。ただし、ちょっと調べて試した限りでは WSL でまともに動かすことが出来ず、決定的な解にたどり着けませんでした(私のやりかたがまずいだけかもしれませんが)。
結局どのようにしたのか
結論から書くと、「Escキーに"IMEオフ"機能を割りあてる」という方法に行き着いた。
現実的な解として(いまのところ)これがいちばんストレスなく使えている。Vimに関わらず日本語入力オフとなるが、むしろ望ましいキー割り当てとさえ感じており、Windowsのデフォルトになっていても良いのではないかとさえ思っている。
具体的な設定手順は以下の通り:
タスクバーのIME表示の上で右クリック→プロパティ で「Microsoft IMEの設定」パネルを表示する
→
「詳細設定」クリック
「全般」タブの中ほどにある「編集操作」のキー設定で「変更」ボタンを押す
左列のキー定義で「Esc」を探し、「入力/変換済み文字なし」の列を「-」 → 「IME-オフ」に変更する。ダブルクリックすると候補一覧が出てくるので、一覧から選べばよい。
後は、OK(or 適用)して戻れば良い。
注意
試していただくとわかるが、Vimから抜ける場合にはEscを2回押すことになる。つまり、1回目で日本語入力オフとなり2回目で入力モードからノーマルモードへ移行するのだ。キーを余分に押すことがストレスになるかと思っていたが、2回以上Escキーをたたけば必ず抜けてコマンドが入れられるので予想以上にストレスが無く、今までに比べればかなりマシである。「現実的な解」と書いたのはこれが理由。普段からこのキーアサインにしていると「Escを押すと英数字入力になる」のが当たり前になって、今では全くストレスが無い。
もう一歩進めると
いままでなんとなく使って来たが、むしろ初期設定である"IMEオン/オフをトグルする"という方が不自然に感じるよになってきた。いちいち「現在の状態」を意識しないといけないというのは、実はストレスになっていたらしい。
「半/全(漢字)キーは"IMEオン"に割り当てる.」
「ESCキーは"IMEオフ"に割り当てる」
これでほぼ完璧だと....個人的には思っている。これでもうしばらく使ってみよう。