🐕

neovim で Normal mode に戻った時に自動的に Google 日本語入力を 英数に設定する

2022/07/09に公開

背景

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

インストール

設定

まずは 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