Mac Vim IdeaVim Esc 命令行模式自动切换英文输入法问题

用 Mac 好几年了,一只被 Vim 和中文输入法困扰,在插入模式的时候,如果使用的是中文,那么用 Esc 回到命令行模式时,就会是中文,这样,输入命令的时候,就是各种稳妥。
虽然设置了 shift 快捷切换中英文输入法,但是有时候还是会忽略到这个问题,又会常常忘记。

之前有找过两个插件,然后一只没有使用,今天抽时间来配置一下。

1. IdeaVim

参考链接:https://github.com/hadix-lin/ideavim_extension

1.1. 安装 IdeaVimExtension 插件

在 IDEA 的 plugins 插件管理中,搜索 IdeaVimExtension ,然后安装(也可以自己编译安装,查看官方文档)。

1.2. 配置 .ideavimrc 文件

1
2
3
" 为IdeaVim插件增加自动切换为英文输入法的功能,
" idea 需要安装 IdeaVimExtension plugin
set keep-english-in-normal

其它可选指令:

  • set keep-english-in-normal 开启输入法自动切换功能(默认)
  • set keep-english-in-normal-and-restore-in-insert 回到insert模式时恢复输入法
  • set nokeep-english-in-normal-and-restore-in-insert 保留输入法自动切换功能,但是回到insert模式不恢复输入法
  • set nokeep-english-in-normal 关闭输入法自动切换功能

1.3. 重启

配置好 .ideavimrc 文件后,重启 IDEA 即可。

2. Vim + iTerm2

参考链接:
https://github.com/daipeihust/im-select
https://github.com/ybian/smartim

2.1. 安装

2.1.1. 安装 im-select

im-select : Switch your input method from terminal.

使用自动安装脚本,查询然后设置。

1
2
3
4
5
6
7
8
9
[I] [ 0 ]:[ 2019-08-31 15:08:48 ] MoMo in ~
» curl -Ls https://raw.githubusercontent.com/daipeihust/im-select/master/install_mac.sh | sh

[I] [ 0 ]:[ 2019-08-31 18:08:48 ] MoMo in ~
» im-select
com.apple.keylayout.US

[I] [ 0 ]:[ 2019-08-31 18:08:01 ] MoMo in ~
» im-select com.apple.keylayout.US

2.1.2. 安装 smartim

需要先安装 im-select 命令行工具。

2.1.2.1. vim-plug(我的环境)

  1. vim .vim/vimrc.bundles 文件,增加一行: Plug ‘ybian/smartim’
  2. 然后打开 vim 使用命令 :PlugInstall 安装即可。
  3. 检查是否安装成功.
1
2
3
4
5
6
7
[I] [ 0 ]:[ 2019-08-31 18:08:07 ] MoMo in ~/.v/bundle (master|✚1)
» pwd
/Users/MoMo/.vim/bundle

[I] [ 0 ]:[ 2019-08-31 18:08:14 ] MoMo in ~/.v/bundle (master|✚1)
» ls -alh | grep -i -i smartim
drwxr-xr-x 9 MoMo staff 288 Aug 31 17:52 smartim

2.1.2.2. Vundle

  1. Add this line to your ~/.vimrc file: Plugin ‘ybian/smartim’
  2. Open vim and run :PluginInstall

2.1.2.3. Pathogen

  1. cd ~/.vim/bundle
  2. git clone [email protected]:ybian/smartim.git

2.1.2.4. Others

  1. Clone this repository to your local disk
  2. Copy im-select and smartim.vim (both are under plugin directory) to your vim plugin directory (usually .vim/plugins)
Just for my love !!