Skip to content

[Feature Request] Add an Option to Disable Restoring the Previous IM when Re-entering Insert Mode #18

@Blacktea0

Description

@Blacktea0

I wonder if an option like :set keep-english-in-normal in ideavim_extension could be added.
Currently, I can achieve it via following script in my .vimrc. However, as you can see, it is exceedingly long while the script is shared across different OS.

" IM Select, always restore default IM
if has('win32')
    let g:im_select_command = $HOME.'\.vim\im-select.exe'
    let g:im_select_default = '1033'
    let g:im_select_get_im_cmd = [g:im_select_command]
    let g:ImSelectSetImCmd = {key -> [g:im_select_command, g:im_select_default]}
elseif has('wsl')
    let g:im_select_command = $HOME.'/.vim/im-select.exe'
    let g:im_select_default = '1033'
    let g:im_select_get_im_cmd = [g:im_select_command]
    let g:ImSelectSetImCmd = {key -> [g:im_select_command, g:im_select_default]}
else
    if executable('fcitx5-remote')
        let g:im_select_get_im_cmd = ['fcitx5-remote']
        let g:ImSelectSetImCmd = { key -> ['fcitx5-remote', '-c'] }
        if !exists('g:im_select_default')
            let g:im_select_default = '1'
        endif
    elseif executable('fcitx-remote')
        let g:im_select_get_im_cmd = ['fcitx-remote']
        let g:ImSelectSetImCmd = { key -> ['fcitx-remote', '-c'] }
        if !exists('g:im_select_default')
            let g:im_select_default = '1'
        endif
    elseif executable('ibus')
        if !exists('g:im_select_default')
            let g:im_select_default = 'xkb:us::eng'
        endif
        let g:im_select_get_im_cmd = ['ibus', 'engine']
        let g:ImSelectSetImCmd = {key -> ['ibus', 'engine', g:im_select_default]}
    endif
endif

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions