就是说在 vim 启动了 vimim 之后,内部被设定为了某种(禁用了外部输入法?)的模式,因此即使按 ctrl-space 启动外部输入法也不能再进行输入。
1。这个问题只出现在 windows,linux 目测测试没有问题。
2。仅仅当 windows 里面存在外部输入法才有这个问题,作者本人的 windows
是英文版并且没有外部输入法,所有的中文输入都借助vim完成,我估计他是不会测试出这个问题的。
目测如果在编译 gvim.exe 时禁用输入法控制能解决这个问题。linux下无问题就是因为 linux 下无法对外部输入法进行控制(无法使能关闭)。
以上只是我的猜测。
还有一种可能就是作者确实把 ctrl-space 吃掉了。如果是这种情况,你考虑把系统输入法多增加一个快捷键试试看。
>> 内部被设定为了某种(禁用了外部输入法?)的模式VimIM 内部没有设置禁用了外部输入法,连想也没有想过。感觉是Windows 如何启动ctrl-Space的问题。如果重新启动Vim, Ctrl-Space应该可行。我的结论是,Windows的Ctrl-Space非法绑架keyboard :)
>> 还有一种可能就是作者确实把 ctrl-space 吃掉了。poet兄牛,或许真的是。新版去掉一个vimrc选项imdisable.function! s:vimim_set_vimrc()set title noshowmatch shellslash imdisableset completeopt=menuoneset complete=.set nolazyredrawset omnifunc=VimIMendfunction*'imdisable'* *'imd'* *'noimdisable'* *'noimd'*'imdisable' 'imd' boolean (default off, on for some systems (SGI))global{not in Vi}{only available when compiled with the |+xim|,|+multi_byte_ime| or |global-ime| features}When set the Input Method is never used. This is useful to disablethe IM when it doesn't work properly.Currently this option is on by default for SGI/IRIX machines. Thismay change in later releases.