Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

gvim进入退出插入模式时,无法禁用小狼毫自动切换ascii_mode #1450

Open
3 tasks done
dfxyz opened this issue Dec 14, 2024 · 2 comments
Open
3 tasks done

Comments

@dfxyz
Copy link

dfxyz commented Dec 14, 2024

上报前请检查

  • 我遇到的问题没有其他人在 issue 里提到过
  • 我的小狼毫版本于 rime/weasel 下载
  • 我在使用小狼毫的最新发布版本,或最新发布版本后的 CI 构建

操作系统信息

  • OS 详细版本: [Windows 11 24H2 26100.2314]
  • 小狼毫版本: [0.16.3.0]

描述遇到的问题
在使用gvim时,进入或退出插入模式时,小狼毫总是会自动切换ascii_mode
我试过完全不设置app_options,或app_options设为:

app_options:
  gvim.exe:
    vim_mode: false

小狼毫的表现都是会强制切换ascii_mode,这一点在以下使用场景中尤其影响输入法的正常使用:

  • 进入插入模式
  • 使用英文输入状态输入内容
  • 退出插入模式
  • 小狼毫会在普通模式下切换成中文输入状态

复现步骤

  1. 系统输入法为英语美式键盘的状态下打开gvim.exe
  2. 按i进入插入模式
  3. 将系统输入法切换到小狼毫(此时为中文输入状态),直接按esc退出插入模式,小狼毫自动变更为英文输入状态,再次进入插入模式后又变更为中文输入状态
  4. 进入插入模式后,按下shift切换成英文输入模式,此时退出插入模式小狼毫会自动变更为中文输入状态

预期行为
如果没有启用vim_mode,进入或退出gvim的插入模式时不要切换ascii_mode

其他补充说明

  • 我没有单独设置vim的iminsert选项
  • 如果在系统输入法切换到小狼毫的状态下打开gvim,则是另外一种表现:
    • 首次进入插入模式会切换ascii_mode
    • 后续进入退出插入模式则不会再切换ascii_mode
@fxliang
Copy link
Contributor

fxliang commented Jan 18, 2025

需要说明一个是,小狼毫没有自动切换ascii_mode这个逻辑,只有外部触发了切换:

如果指定应用设置了vim_mode,并且指定的一些按键输入,这样会切换到ascii_mode状态

还有一种是,如果应用收到打开或关闭输入法的消息(传统操作的Ctrl+空格),会执行一次切换翻转一次ascii_mode的操作

上面提及的情况,我没有完全看懂,看着像是后者

@dfxyz
Copy link
Author

dfxyz commented Jan 21, 2025

那估计是gvim进出插入模式时有什么特殊逻辑,我试了下nvim-qt是正常的

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants