SmartIM - 使vim智能切换输入法的小插件(Mac only!)

2012-08-22 16:28:15 +08:00
 ybian
在vim下用中文输入法一直是个蛋疼的事情,目前我知道的有两个方案:

https://github.com/humiaozuzu/fcitx-status
https://code.google.com/p/vimim/

两个都不是很合意,因为都需要我改变原来的输入习惯(第一个要用fcitx,第二个没试过,看上去挺复杂),于是自己写了一个小插件:

https://github.com/ybian/smartim

这个非常类似于fcitx-status,就是用vim的autocmd命令在进入和退出insert mode的时候自动切换输入法:离开insert mode时切换到英文,方便敲normal mode下的命令;进入insert mode时切换回上次离开时的输入法。

跟fcitx-status不同的是,我写了一个单独的命令行工具来切换输入法,所以它不局限于任何特定输入法,可以用于任何你已经习惯的输入法。

但是因为切换输入法的API跟平台相关,目前仅有mac版本。
7911 次点击
所在节点    分享创造
10 条回复
NemoAlex
2012-08-22 17:13:15 +08:00
楼主有爱,试试看
Esay
2012-08-22 17:14:43 +08:00
试了一下,很好用。

但是,Macvim下没有办法用,好像得把IM INSERT关掉。读了下文档,没有关成功,你知道怎么关吗?
Esay
2012-08-22 17:33:28 +08:00
哦,我笨了。
set noimd
在Macvim下也很好用。
ybian
2012-08-22 18:05:11 +08:00
@Esay 对,跟imdisable这个option有冲突,需要关掉(话说这个option好像也没啥用了吧)。稍后加到FAQ里。谢谢~
mikale
2012-08-24 02:45:06 +08:00
远不如vimim好用......
breestealth
2012-08-24 13:01:55 +08:00
如果是MacVim的话,可以参考这样子
第一步: 在.vimrc文件中,添加以下几行设置
<pre>
set noimd
set imi=2
set ims=2
</pre>
第二步: 在MacVim的配置项中(Preferences)中,取消勾选Draw marked text inline这个Advanced选项后即可。

在这种配置下,在命令模式中,输入法自动会被禁用,而进入插入模式后,可以正常使用输入法。ESC退出到命令模式时,会自动禁用输入法。
ybian
2012-08-24 13:47:24 +08:00
@breestealth 确实,MacVim这么配置就可以工作了!怎么原来就没发现呢,这个东西多余了 :-)
simonxia
2015-12-30 14:14:32 +08:00
很不错, vimim 太杂了,词库什么的完全没必要,本地的输入法已经很够用了
everettjf
2016-09-16 22:41:59 +08:00
给力。马上试用
hbliu
2017-12-24 17:39:41 +08:00
@ybian , SmartIM 在最新版本的 macOS ( 10.13.2 )中已经用不了了。

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/45772

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX