其实所有的 vim 都有这个问题,就是正在使用中文输入法编辑中文,切换回 normal 模式的时候,需要自己再切换一次输入法到英文才能正常进行 vim 操作.
请问有人有解决方案吗?
参照smartim的代码写了个本地动态库,然后开发了一个小插件.作为IdeaVIm的扩展.
安装后在编辑器中输入":set switch-to-english-when-exit-insert-mode",这个把这个命令加入到~/.ideavimrc中,即可启用该功能.
目前只能支持macOS因为不会写LInux/Windows的Native代码,希望有兴趣的朋友可以帮忙补充.
有需要的朋友可以下载使用,多提意见.
1
ufo22940268 2017-03-29 13:17:02 +08:00
解决方案就是:
> 正在使用中文输入法编辑中文,切换回 normal 模式的时候,需要自己再切换一次输入法到英文才能正常进行 vim 操作 |
2
Jaylee 2017-03-29 13:17:30 +08:00
我是按 shift 切换中英文,感觉还好
|
3
zacard 2017-03-29 13:17:35 +08:00
切回 normal 的时候按下 shift
|
4
hadixlin OP @zacard 这样还是有问题的,不是每次都要按下 shift,有时候本来就是英文状态.这样不能行程惯性习惯,键盘操作很不友好.
|
5
lonenol 2017-03-29 13:25:19 +08:00
1. 写英文注释
2. 让中文输入法打完一组汉子后自动切换到英文状态(并不知道怎么办到 |
6
leohxj 2017-03-29 13:29:20 +08:00
输入完中文,手动切换输入法,你就当进入了另外一个模式, chinese-mode :)
|
7
hadixlin OP @lonenol 1. 英文书写能力有限,全部写英文注释不可能,团队成员也不可能看得懂.还有些提示消息文案什么的一定是中文的.
2. 自动切换英文并不是不可能,我改了一下 ideavim 的代码调用 github 上 ybian/smartim 这个项目里面的 im-select 可以实现.但是这个好麻烦,所以想在这里问问有没有其他人有类似的经验可以分享. |
8
ladrift 2017-03-29 13:35:25 +08:00 via Android
fcitx.vim 插件,可以在进入 normal 后自动切到英文,进入 insert 再切到中文, macOS 上试过可用, Linux 上应该也可以
|
9
hadixlin OP @leohxj vim 本就引入了几种模式已经玩不转了,好在所有的模式按 esc 都能返回 normal,但是你说的 chinese-mode 是独立的需要另外一种操作才能返回 english.习惯上不好做.
|
10
hadixlin OP @ladrift 首先我是要在 ideavim 里面用,应该是不支持原生的 vim 插件的.
还有命令行里面的 vim 我也需要这个自动切换的功能,昨天试了一下 ybian/smartim 不知道为什么不生效. 看了 fcitx.vim 的说明以为只能在 linux 下配合 fcitx 输入法使用.这个具体要怎么用?请指教 |
11
Immortal 2017-03-29 14:40:02 +08:00
有发现这个问题
倒是没觉得很难受 shift 切换中英文就多按一下 毕竟注释只在关键点写 |
12
caixiexin 2017-03-29 14:51:16 +08:00 via Android
毕竟不是天天写注释,还算能接受
|
13
searene 2017-03-29 15:14:56 +08:00
只写英文就行了
|