vim好用是好用,就是跟中文输入法配合的不算太好。有没有什么解决办法呢?我今天就尝试解决一下。
先上效果:
《解决恼人的 vim 中文输入法切换问题[视频]》https://zhuanlan.zhihu.com/p/49411224
这个教程写的很详细,大家直接看这个就好了。我只是记录一下我的解决过程。
mac 下直接 5 步走
git clone https://github.com/myshov/xkbswitch-macosx
cp xkbswitch-macosx/bin/xkbswitch /usr/local/bin
git clone https://github.com/myshov/libxkbswitch-macosx
cp libxkbswitch-macosx/bin/libxkbswitch.dylib /usr/local/lib/
第5步安装插件,不同的插件管理器大同小异。
install plugin
以 Vundle插件管理器为例
Plugin 'lyokha/vim-xkbswitch'
设置完成后,重启vim 输入:PluginInstall
插件安装完成后,重启 vim。
然后 :EnableXkbSwitch
开启自动切换输入法功能。实测可以正常使用。
我的环境如下:
项目 | ~ |
---|---|
操作系统 | macOS Big Sur 11.2 |
输入法 | 简体五笔 (系统自带) |
Esc
或者Ctrl - [
切换普通模式(正常)插入模式,按Esc 切换 到普通模式,这里系统输入法自动进入英文模式(有一些延迟,但是影响不大)。在普通模式按i进入插入模式会自动切换到中文输入法。
Ctrl - c
切换普通模式(无效)为什么我知道按ctrl -c 不正常,因为我平时就是按这个快捷键切换普通模式的,难受啊,要我改变切换习惯吗?
inoremap jk <esc>
中文输入法本身就无法使用jk切换Esc,所以没有影响。
项目主页:https://github.com/ybian/smartim
安装方法以Vundle为例
加入一行到 ~/.vimrc
文件:
Plugin 'ybian/smartim'
vim中运行 :PluginInstall
SmartIM假定您的默认键盘是美国英语(com.apple.keylayout.US)。如果要更改此设置,请将以下行添加到您的.vimrc:
在~/.vimrc
设置默认要切换到的输入法。我的设置如下:
" 设置normal模式切换到的输入法
let g:smartim_default = 'com.apple.keylayout.ABC'
这个输入法名称是如何获取到的?执行 im-select
即可得到。
~/.vim/bundle/smartim/plugin/im-select
com.apple.keylayout.ABC
我本想为了这个中文输入,改掉我按Ctrl - c 替换Esc的习惯的,后来一想我直接把 Ctrl - c映射成Esc不就搞定了吗?实测还真行。这下就可以接近完美啦!
在~/.vimrc
加入以下配置。
" ctrl-c 映射到 esc
inoremap <C-c> <esc>
我个人更喜欢 ybian/smartim,因为安装简单方便,不需要安装其他的库。主要不往系统目录复制东西,感觉更绿色,方便复制到其他电脑上使用。
2021年03月15日
如果宏里有插入模式与普通模式之间切换的,会导致宏运行的非常的慢。一个简单的宏没这个插件基本上1秒完成,有这个插件基本就要几十秒。
今天在运行宏的时间遇到问题了,只要在录制的宏中用普通模式和插件模式切换的,在运行宏的时候会发现宏运行的非常慢,很卡。而且还会导致宏运行不起来。这个就很有影响了。
《解决恼人的 vim 中文输入法切换问题[视频]》https://zhuanlan.zhihu.com/p/49411224