4
4

More than 1 year has passed since last update.

Vim で IME をいい感じに使う

Last updated at Posted at 2020-06-03

概要

Vim で期待しない IME のオン、オフを避けるための設定。
vim-jp Slack で質問して、現状このようになった。

環境

設定

動作 になるような設定を vimrc へ記載。

let s:lastiminsert = 0
" IMEの状態を保持しておく、置換モードではIMEの状態を保持しない
" 置換モードではIMEの状態を保持しない。置換モードではIMEオフなので、置換モード後の挿入モードが常にIMEオフになることを避ける
autocmd InsertLeave * if v:insertmode !=# 'r' | let s:lastiminsert = &iminsert | set iminsert=0 | endif
" IMEの状態を復帰する。改行時には続けてIMEオンのままにしたいため。
" 挿入モード(IMEオン)→ノーマルモード→挿入モード(IMEオン) となるが。これはむしろできなくていい
" 置換モードではIMEの状態を復帰しない
autocmd InsertEnter * if v:insertmode ==# 'i' | let &iminsert = s:lastiminsert | endif

動作

凡例:
- IME ON:背景色 Lime
- ポイントの状態:文字色 赤
  1. IME がオンの状態の挿入モードからノーマルモードに戻って、再度挿入モードに入ったら IME はオンのまま

    image.png

  2. IME がオンの状態の挿入モードで改行しても IME オンのまま

    image.png
    image.png

  3. 1 文字置換、置換モードに入ったら IME はオフ

    image.png
    image.png

  4. コマンドラインモードに入ったら IME はオフ

    image.png

4
4
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
4
4