gvim的esc如何做到进入normal模式,并让输入法转入英文状态?

Vim、Emacs配置和使用
回复
谢宝良
帖子: 1983
注册时间: 2010-05-01 21:23

gvim的esc如何做到进入normal模式,并让输入法转入英文状态?

#1

帖子 谢宝良 » 2016-04-30 19:34

就是按下Esc,它就自动完成两件工作,即进入normal,又把输入法转入英文状态。

能否把Esc map 成<esc>(变成normal的快捷键)跟<shift>(变成英文状态的快捷键)
头像
vickycq
帖子: 4507
注册时间: 2011-03-20 13:12
系统: Debian
来自: 山东省寿光县
联系:

Re: gvim的esc如何做到进入normal模式,并让输入法转入英文状态?

#2

帖子 vickycq » 2016-04-30 19:47

Debian 中文论坛 - forums.debiancn.org
欢迎所有 Debian GNU/Linux 用户
头像
duguyipiao
帖子: 158
注册时间: 2011-09-13 10:31

Re: gvim的esc如何做到进入normal模式,并让输入法转入英文状态?

#4

帖子 duguyipiao » 2016-04-30 22:00

求问有没有ibus的解决方案,好像之前的解决方案都失效了。

https://github.com/bouzuya/vim-ibus
https://github.com/hsanson/vim-im
谢宝良
帖子: 1983
注册时间: 2010-05-01 21:23

Re: gvim的esc如何做到进入normal模式,并让输入法转入英文状态?

#5

帖子 谢宝良 » 2016-05-01 0:02

我使用的是小小输入法,只能是ibus。
我用外部命令:

!xdotool key 0xffe3
!xdotool key 0xff1b

的确能做到同时转换normal,跟输入法状态。
可惜输入法只能从一个输入法转换到下一个输入法,不能指定一定转换为英文状态。
谢宝良
帖子: 1983
注册时间: 2010-05-01 21:23

Re: gvim的esc如何做到进入normal模式,并让输入法转入英文状态?

#6

帖子 谢宝良 » 2016-05-01 9:26

找到方法了:

代码: 全选

[key]
#打开输入法
trigger=CTRL_SPACE
#二三重码选择
select=LSHIFT RSHIFT
#中英文切换
CNen=LCTRL
#临时英语模式
tEN=NONE
#切换输入法
switch=CTRL_LSHIFT
#翻页
page=- =
#以词定字
w2c=[ ]
#汉字过滤
filter=\\
#调词频
move=CTRL_UP CTRL_DOWN
#显示输入条
ishow=`
#一键切换到输入法
switch_default=CTRL_`
#切换到英语
switch_1=CTRL_E
原来在小小输入法里,这个能指定转换到英文状态。
switch_1=CTRL_E

两句话搞定了。
!xdotool key 0xffe3+E
!xdotool key 0xff1b

现在的问题是如何把这个vim脚本重新绑定到Esc键上?
第一句是按下ctrl+E,转换到英文状态,
第二句是按下Esc,转换到normal下。

如果再map到Esc,那不死循环了?
回复