daipeihust/im-select

貌似只能切换到语言,有办法切换到特定输入法吗?

afezeria opened this issue · 16 comments

windows下当同一个语言有多个输入法的时候,运行 im-select.exe得到的结果都是一样的。

目前只能切换输入法,不好意思

在Win10上,切换中英文

fun! ImSelect(en)
    let en = system('im-select') =~ '1033'
    if xor(a:en, en)
        call system('im-select locale')
    endif
endf

au InsertEnter * call ImSelect(0)
au InsertLeave * call ImSelect(1)
au CmdlineEnter * call ImSelect(0)
au CmdlineLeave * call ImSelect(1)

这是什么语言

VimL可以在VscodeVim里用吗 @luzhlon

不可以。你可以参照这个代码逻辑,配置VSCode实现

@luzhlon 好的 我研究一下

你这里面调用的im-select是我的im-select吗

为啥我贴了你的脚本,inert模式下,左右移动都会触发InertEnter事件呢,奇怪啊

似乎这一网站有帮助

前一篇网站似乎无用,或许应该查看input method manager这是一个输入法(IME)管理器,其中Conversion mode应该可以设置输入法内的中英文切换

做这个功能的话 可能会有很多兼容性的问题 因为有很多第三方的输入法 不知道会遇到什么问题

前一篇网站似乎无用,或许应该查看input method manager这是一个输入法(IME)管理器,其中Conversion mode应该可以设置输入法内的中英文切换

我用类似的接口:IMC_GETCONVERSIONMODEIMC_SETCONVERSIONMODE,实现了一个支持只切换输入法内的中英文而非切换输入法的工具 AIMSwitcher。我用 Windows 自带的微软拼音输入法进行了测试,没有问题,还没测试过搜狗等第三方输入法,不知道会不会有像 @daipeihust 说的兼容性的问题

sunqb commented

确实没法使用,我用的微软自带的。结果编码输出的是0

可以测试一下几种常见的第三方输入法试一试

确实没法使用,我用的微软自带的。结果编码输出的是0

在使用cmd时我也是0,改用 git-bash 后就可以显示2052和1033了