はじめに
Vimを使っていると日本語でコメントを入力するために、かな文字に切り替えた後移動しようとして再度ノーマルモードに移りjキーを押すと、「っっっj」となってしまう経験に心当たりはないでしょうか。
自分自身これに長いこと悩まされていて方法を探してきたのですが、MacOS標準のVimという条件だと中々難しいようでした。kanabinerでEscに英数キーをキーバインドするのが定石らしいのですが、この方法はJIS配列のキーボードだと設定出来ませんでした。
今回はMacOS標準のVim、JIS配列のキーボード、Big Surでも動作した方法を紹介します。
im-selectインストール
vim-im-selectというプラグインを使います。VScodeで同様のことをしたい時もこちらを使用するようですが、私の様な特殊状況においても対応出来ます。
まずはim-select
コマンドをインストールします。
※このコマンドは後でインストールするプラグインとは別物です
$ curl -Ls https://raw.githubusercontent.com/daipeihust/im-select/master/install_mac.sh | sh
im-select
は現在使用しているIMEを教えてくれるコマンドです。GoogleのIMEを使用していれば次のようになります。この出力結果(英数)を後ほど使用します。
$ im-select
com.google.inputmethod.Japanese.Roman
vim-im-select
続いてプラグインのインストールを行います。Vim Awesomeでvim-im-selectというプラグインを検索して、インストールして下さい。プラグインの管理方法が不明という方はこちらをご一読下さい。
インストールが完了すると、下記vimのExコマンド(:で始まるコマンド)を入力することでノーマルモード内におけるデフォルトのIMEを設定することが可能になります。
※ここで先程取得した出力結果を貼り付けます。
:let g:im_select_default = 'com.google.inputmethod.Japanese.Roman'
試しに挿入モードで日本語入力に変更してからEscを押してみて下さい。英数に切り替わってノーマルモードに移動出来たら成功です。
このコマンドを毎回入力するのは面倒なので.vimrcにも記述しておくと良いです。
終わりに
これでVimでのIME問題が完全に解決したという訳ではないのですが、少しはマシな使用感になったかと思います。自分自身まだまだ勉強中の身なのですが、少しでもこの記事が読んだ方のお力になっていれば幸いです。