js input 关闭输入法 chrome_Vim和中文输入法的完美结合

这个问题真的是老掉牙了。现在还反复地被很多人讨论来讨论去。

实际上我2016年就提供了一个完美的解决方案。分析见,

https://blog.binchen.org/posts/how-to-input-non-english-character-in-evil-mode-efficiently.html​blog.binchen.org

说白了就三句话,

  • 只可能在insert state里输入中文,所以在normal state里切换至输入法时应该自动进入insert state
  • 在insert state里关闭输入法的目的可能是输入英文,所以应该还是呆在insert state
  • 在insert state按ESC键意味着切换回normal state,这时应自动关闭输入法

具体实现意味着要精确控制各个state和输入法,那么只有用Emacs的Vim模拟器Evil和Emacs Lisp写的中文输入法(我用 tumashu/pyim )才能很容易地实现以上策略。

其他编辑器或IDE也可以使用同样的算法,难点无非就是编辑器切换state时要给输入法发个信号,输入法切换时要给编辑器或者IDE也发个信号。

这也是个例证,证明我对于编辑器的文本文件操作术已完全掌握了。

想学习我的文本文件操作术,可以访问 如何提高编程速度 - Emacs高手教授轻松精通所有编辑器和IDE的秘诀

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值