怎么在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