yossy-dev

I’m Software Enginner.

VSCodeのVim拡張(VSCodeVim)でNomalMode切り替え時に英数入力に変更する。

はじめに

VSCodevim拡張機能で日本語入力の状態で escctrl + [ などでNomalModeに切り替えた際に っj みたいに日本語入力のままキー打ってしまうことが多くつらかったので NomalMode切り替え時に入力方式も英数入力に切り替えるという設定を加えたのでその備忘録です。


環境

流れ

  1. im-selectのインストール
  2. im-selectを利用した設定をVSCodeに設定する。

1. im-selectのインストール

ドキュメントの記載のとおりim-select というコマンドラインツールを利用するのでインストールします。

curl -Ls https://raw.githubusercontent.com/daipeihust/im-select/master/install_mac.sh | sh

上記コマンドでインストールします。

実行後以下のようにコマンドが実行できるようになっていればインストール完了です。

$ curl -Ls https://raw.githubusercontent.com/daipeihust/im-select/master/install_mac.sh | sh
* Downloading im-select...
* im-select is installed!
*
*
*
* now run "im-select" in your terminal!

$ im-select                                                                                                                                                                                                                                                                                                [15:58:54]
com.google.inputmethod.Japanese.Roman

im-selectコマンドで入力方式の切り替えができます。

私はGoogle日本語入力を利用しているので以下のような指定の仕方になります。

# Google英数入力へ切り替え
$ im-select com.google.inputmethod.Japanese.Roman

# Google日本語入力へ切り替え
$ im-select com.google.inputmethod.Japanese.base

# 現在の入力方式を出力
$ im-select
com.google.inputmethod.Japanese.Roman

2. im-selectを利用した設定をVSCodeに設定する。

settings.json に以下の設定を追加します。

// insertモードを抜けた際のコマンド実行の有効切り替え
"vim.autoSwitchInputMethod.enable": true,

// デフォルト(ノーマルモード)の入力方式の設定
"vim.autoSwitchInputMethod.defaultIM": "com.google.inputmethod.Japanese.Roman",

// 現在の入力状態のパラメータを取得するコマンドのパス
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/local/bin/im-select",

// 入力状態の切り替えを行うコマンドのパス。{im}にデフォルトの入力方式が渡される。
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/local/bin/im-select {im}"

設定を反映してノーマルモード切り替えした際に入力方式が英数入力に切り替われば設定完了になります。

Special Thanks!