vim-ibus插件,类似于fcitx.vim插件,都是方便在 Vim 中更好的连续输入。

普通情况下,输入法的有效激活状态都处于 Vim 的插入模式中,当 Vim 从插入模式切换到普通模式时,输入法仍旧处于有效激活状态,妨碍了 Vim 下一步的操作。上述两个插件,就是用于解决这个问题的。

为了让 vim-ibus 达到 fcitx.vim 那样的记忆效果,需要配置类似以下内容:

function! <SID>AC_IBusDisable()
    if ibus#is_enabled()
        call ibus#disable()
        let b:ibustoggle = 1
    endif
    set timeoutlen=1000
endfunction

function! <SID>AC_IBusRenable()
    if exists("b:ibustoggle")
        if b:ibustoggle == 1
            call ibus#enable()
            let b:ibustoggle = 0
            set timeoutlen=100
        endif
    else
        let b:ibustoggle = 0
    endif
endfunction

autocmd InsertLeave *
            \ call <SID>AC_IBusDisable()

autocmd InsertEnter *
            \ call <SID>AC_IBusRenable()