🐕
neovim で Normal mode に戻った時に自動的に Google 日本語入力を 英数に設定する
背景
nvim の Insert mode で日本語を書いた後に Normal mode に戻る際に必ず英数入力に戻さないといけないのをずっと面倒に思っていた。ということで nvim で Normal mode に戻った際に自動的に英数入力に戻してくれる方法を調べてみた。特に自分は Google 日本語入力を使っているので、Normal mode に戻った際に入力ソースを自動的に 英数(Google)
に設定したい。
実行環境
- MacBook Pro (13-inch, M1, 2020)
- macOS Monterey (12.4)
- NVIM v0.7.2
前提条件
後述する coc-imselect を使うので要coc.nvim。
インストール
-
coc-imselect
% nvim :CocInstall coc-imselect
設定
まずは Google 日本語入力の 英数(Google)
の input source ID
を調べる。macOS の入力ソースを 英数(Google)
にしておき、以下のコマンドを実行。
% ~/.config/coc/extensions/node_modules/coc-imselect/bin/observer
en com.google.inputmethod.Japanese.Roman
^C # Control+C で停止
英数(Google)
の input source ID
は
com.google.inputmethod.Japanese.Roman
だと言うことがわかったので、~/.config/nvim/coc-settings.json
に以下を追加
"imselect.defaultInput": "com.google.inputmethod.Japanese.Roman",
もし、macOS標準の ABC
入力に設定したいなら以下の行を追加。
"imselect.defaultInput": "com.apple.keylayout.ABC",
めっちゃ快適になった。
考察
input source ID
を知る方法として InputSourceSelector を使う方法もある。
% cd ~/git
% git clone https://github.com/minoki/InputSourceSelector
% cd InputSourceSelector
% make
% ./InputSourceSelector list-enabled # システム環境設定で有効化されている入力ソースを表示
com.apple.keylayout.ABC (ABC)
com.apple.CharacterPaletteIM (Emoji & Symbols)
com.apple.50onPaletteIM (Japanese Kana Palette)
com.apple.PressAndHold (com.apple.PressAndHold)
com.apple.inputmethod.EmojiFunctionRowItem (EmojiFunctionRowIM_Extension)
com.google.inputmethod.Japanese.base (Hiragana (Google))
com.google.inputmethod.Japanese (Google Japanese Input)
com.google.inputmethod.Japanese.Katakana (Katakana (Google))
com.google.inputmethod.Japanese.Roman (Alphanumeric (Google))
InputSourceSelector
を使うと、有効化しているすべての入力ソースの input source ID
を知ることが可能。
Discussion