MacでIMEの切り替え管理をストレスレスにするための考察
日本語入力と、英字入力を行なっていると、IMEの状態が想定と異なっておりもたつくことが多々ある。
例えば、
- Vimでノーマルモードで操作しようとしたら、日本語入力となっていて何も入力できない
- スプレッドシートで値を入力しようとしたら日本語入力でイラつく
- messengerで日本語を入力しようとすると、英字で入力されてそのまま誤ってenterを押してしまい、意味不明な文章が送信されてしまう。
- markdown などで技術ブログを書いている際に、日本語とプログラム用語(基本英字)の切り替えがうまくできず、イライラする
何が問題なのか?
自分の意図しない入力ソースが選択されている状態で、誤った操作を行なってしまうこと。
なぜ意図しない状態になるのか?
アプリケーションの移動や、操作で、元々どちらの入力ソースを利用しているか判断がつかない。
正直明確な理由はわからないが、
考えられる対策
- 入力の初手では、必ず一意の入力ソースになるような設定を行う
- 常に入力ソースが視認できる状態にする
- 日本語、英語の入力切り替えをそれぞれ独立したキーで行う
1つ目に関しては、Karabiner Elementsなどを用いることで、解消できそうであり、例えば「最後の入力からn秒経過したのちに必ず英字に戻す」、「アプリケーションの切り替え時に必ず英字に戻す」
などの設定を行えば対処できそう。
ところがこのやり方は、設定がやや面倒そうで一旦保留している。
また、Vimなどを利用していると、インサートモードから抜ける際に <C-[
>,
Esc` の入力を行うと思うが、この時に入力ソースを強制的に英字モードに切り替えるようにすれば、次に入力する際に必ず英字からのスタートとなるためストレスが少ない
2つ目に関しては、Macのメニューバーに入力ソースを表示すれば良いが、個人的にはメニューバーは極力表示されて欲しくなく、「自動で閉じる」設定をしているためこのためだけに表示するのは嫌。
Windowsのように入力ソースの切り替え時、ウィンドウの切り替え時に瞬時に入力ソースの表示が行われれば最高である(Windowsを利用していた時は邪魔くさかったが、今思えばとてもいい機能である)。
macでも入力ソースの切り替え時に、同様の表示を行うことができるが、これは連続して切り替えを行う場合と、切り替えのショートカットキーを長押ししている場合に限り、瞬時の切り替えには適していない。
YouType の導入
現在の入力ソースをカーソルの右隣に表示してくれるアプリ。
こんな感じで、実際に表示されている。
リポジトリはこちら
ただ、一つ難点があるとすると、カーソルがテキスト状態になっていないと入力ソースを表示してくれない点である。
このため入力時にカーソルを入力フォームにフォーカスする必要があり、意識的に入力フォームにカーソルを持っていく他ない。通常であれば、入力時に入力フォームにカーソルを移動して、クリックするためさほど問題にならないが、ショートカットを利用している人間とは相性がかなり悪い。
3つ目については、最も基本的な方法であると考えている。なぜならデフォルトのMacはこの運用になっているからである。
通常のJISキーボードユーザーならわかると思うが、スペースの両隣に英数・かなのキーボードが独立して存在している。
これの最大のメリットは、現在の入力ソースを気にすることなく、入力の最初に宣言的に使用する入力ソースを押せばいいだけである。
おそらくこのようなキーボードの構成のため、デフォルトのMacでは、入力ソースの表示を行わないんだと思う。
つまり、Windowsの半角・英数キーのようなトグル的に変更を行う場合は、入力ソースで事故りやすく、
Macのように独立して管理すれば事故の発生は起こらないようなものなんだと思う。
ところが、USキーを利用しているMacユーザーからすると話はそんなに単純ではない。
USキーなどにカスタムしたユーザーには、これらの入力ソースを切り替えるためのキーが存在しないため、各々が独自に割り当てを行っている。
このキーの割り当てが、独立した状態で設計している人と、トグル的に切り替える人がいる。
私も現在の運用は紆余曲折の末、トグル式になっている。
特にトグルである必要がなく、
- 英字に変更
- 日本語入力に変更
という入力がそれぞれ独立して割り当てることができれば、それで良いのかもしれない。