🚲

【NeoVim】モード切り替え時にIMEをoffにする

に公開

Normalモードに戻った時や、Insertモードになった時にIMEをoffにする方法
im-selectim-select.nvimを使用する

環境

  • macOS 14.4 Sonoma
  • NeoVim 0.9.5

im-selectのインストール

公式repoを参考にインストールする

$ brew tap daipeihust/tap
$ brew install im-select

im-selectを実行すると現在のIMEを取得できる

$ im-select
# com.apple.keylayout.ABC

im-select.nvimのセットアップ

こちらも公式repoを参考にセットアップ

{
  "keaising/im-select.nvim",
  config = function()
    require("im_select").setup({
      default_command     = "im-select",

      -- デフォルトのIME
      default_im_select   = "com.apple.keylayout.ABC",

      -- 以下のイベント時に、デフォルトのIMEになる
      set_default_events  = { "VimEnter", "InsertEnter", "InsertLeave" },

      -- 以下のイベント時に、前回使われていたIMEになる(無効にしている)
      set_previous_events = {},
    })
  end,
}

default_im_select

デフォルトのIME。
im-selectで取得した文字列を設定する。

set_default_events

ここに追加したイベント時に、デフォルトのIMEに戻る。

set_previous_events

ここに追加したイベント時に、前回使われていたIMEに戻す。
全角でInsertモードを終了し、再びInsertモードにすると、全角からスタートするなどが可能。
ここでは無効にしている。

参考

Discussion