LoginSignup
1
0

More than 5 years have passed since last update.

(Linux) VSCode+Vim拡張でノーマルモードに戻る際に日本語入力をオフにする

Last updated at Posted at 2019-03-04

2019年3月30日 追記

VSCode + Vim で IME コントロール
リンクの記事にある通り外部ツールなしで実現できますのでそちらを参照してください。

TL;DR

Linux環境のVSCode+Vim拡張でxremapを用いてインサートモードからノーマルモードに戻ったら日本語入力(Fcitx)がオフになるようにする。

環境

  • X Window System(Linux)
  • VSCode+Vim拡張
  • Fcitx

方法

xremapを使ってESC, <C-[>が押されたらfcitx-remote -cコマンドを実行する。

以下詳細

xremapについて

xremapはk0kubun氏によるX Window Systemで動作するキーリマッパーツールです。
Linux環境用のKarabinerとして作らたもののようです。
特徴としては以下の3つがあります。

  • アプリケーションごとの設定。
  • シェルコマンドを呼び出せる。
  • rootが必要ない

詳しくは作者k0kubun氏のブログで
Linux向けの最強のキーリマッパーを作った
インストールはこちらから
https://github.com/k0kubun/xremap

IMにFcitxを利用していればfcitx-remote -cコマンドでIMがオフになるのでxremapでこのコマンドとESC,<C-[>キーとを紐付けします。
それでは設定ファイルです。

.xremap.config
window class_only: 'code' do
  remap 'Escape', to: ['Escape', execute('fcitx-remote -c')]
  remap 'Ctrl-bracketleft', to: ['Ctrl-bracketleft', execute('fcitx-remote -c')]
end

codeはVSCodeのWM_CLASS値です。
Ctrl-bracketleft<C-[>のことです。
あとはxremapをservice化して自動起動するようにしてやれば完成です。

謝辞

Thank Mr.k0kubun for xremap

1
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0