ObsidianでVimのNormal mode時のIMを自動制御する
ObsidianでVimキーバインディングを使用している際、日本語入力状態でNormal modeに移行すると、意図しない挙動が発生することがある。これを解決するため、Normal modeへの切り替え時に自動的にIMをデフォルト(英語)入力に切り替える方法を説明する。
プラグインの導入
vim-im-select-obsidian
プラグインを使用する。このプラグインは、ObsidianでVimのNormal
modeに移行する際に、IMを自動的に切り替える機能を提供する。
Obsidianのプラグイン設定から vim-im-select-obsidian
をインストールする。
IM取得ツールのインストール
現在のIM状態を取得するために、im-select
を利用する。Brewでインストール。
プラグインの設定
Obsidianの vim-im-select-obsidian
プラグインの設定を行う。

以下の設定項目を適切に入力する。
- Normal
modeのときのIM:
com.apple.keylayzout.ABC(macOSのデフォルト英語入力) - 現在のIMの取得をするコマンド:
/opt/homebrew/bin/im-select - IMの切り替えを行うコマンド:
/opt/homebrew/bin/im-select {im}
Obsidianの再起動
設定を反映させるために、Obsidianを再起動する。
動作確認
Obsidianで日本語入力中にNormal modeに切り替えると、自動的に英語IMに切り替わることを確認する。再度Insert modeに入ると、前回Insert modeで使用していたIMに切り替わる。
この挙動には慣れる必要がある。