76
sasakura
2024/12/20
0
こんにちは,M1 の笹倉です.
今回は,Neovim をさらに快適にするために,InsertMode に入るときに IME を ON,出るときに OFF する設定を追加しました.
これで,NormalMode に戻った際に全角のまま移動しようとして画面にJが表示され,半角に切り替える煩わしさから解放されました.
環境
OS: Ubuntu 24.04
IME: fcitx5
実装
今回 chatGPT と相談しながら作成したコードがこちらになります.
if vim.fn.has("unix") == 1 then
vim.api.nvim_create_autocmd({"InsertEnter"}, {
pattern = "*",
callback = function()
os.execute("fcitx5-remote -c")
end
})
vim.api.nvim_create_autocmd({"InsertLeave"}, {
pattern = "*",
callback = function()
os.execute("fcitx5-remote -o")
end
})
end
基本的な動作は次のようになります.
- 環境が unix の場合のみ実行
- autocmd を2種類作成
- InsertMode に入ったとき,fcitx5-remote -c を実行して IME を ON
- InsertMode から出たとき,fcitx5-remote -o を実行して IME を OFF
今回自分の環境に合わせて作成したため,他の環境でも動かす場合にはもう少し賢いコードの書き方があると思います.
windows や macOS だと fcitx5-remote ではなく,im-select が使えるようです.
autocmd の実行タイミングで関数を実行できるので色々使えそうです.
これからも快適な作業のために頑張りたいと思います.
No comment