技术解析

怎么在vim在normal 模式下自动禁用 中文
0
2021-07-20 01:57:13
idczone
当我在vim 插入模式下 输入中文,
切换到 normal模式下操作,此时还是中文,命令都运行不了,
还要手动切换,特别麻烦
怎么在vim在normal 模式下自动禁用 中文啊
我使用的ibus google pinyin ,可以使用shift 切换 中英文
大侠们支支招。
这里有个fcitx的:
http://lilydjwg.is-programmer.com/2011/10/7/fcitx-vim-1-0-released.30049.html

你输完中文怎么换回normal模式,难道不是先切到英文么?

/t/40375

ESC

我使用的ibus 输入法 不知道能不能用那个
刚才试过了,好像不行,

vim怎么在normal 模式下自动禁用 中文

老兄跟我有同样的需求?

参考 /t/45772
不过我那个小程序只在 Mac 下有用,但是改成 Linux 的应该不难。

用gvim吧
normal下自动禁用中文。。我忘记是要专门设置还是怎样 反正我现在gvim就是这样的

有个挫一点的办法
au insertLeave :!pkill ibus-daemon
au insertEnter :!ibus-daemon &

哇哇,你在这里一贴链接,我那文章就 20 多个访问呢~

你这…………ibus 可以通过 dbus 关闭和开启的,vim_dev 邮件列表曾经有人给过一个示例。

这个我加入到 .vimrc 好像还是不行呢



function! OnInsertLeave()
python << EOT
import ibus
ff = ibus.bus.Bus()
ibus.inputcontext.InputContext(ff,ff.current_input_contxt()).disable()
EOT
endfunction
au InsertLeave * :call OnInsertLeave()

这次真的可以了,太感谢了。
这个退出到normal 是直接关闭ibus。不知有没有方法 把 disable 换成 switchtoenglish 就完美了

se imd
au InsertEnter * se noimd
au InsertLeave * se imd
au FocusGained * se imd
note: only available when compiled with +xim

数据地带为您的网站提供全球顶级IDC资源
在线咨询
专属客服