Skip to content
New issue

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

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

Already on GitHub? # 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是正常的

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

No branches or pull requests

2 participants