Vim模式在中文输入法下的问题

当我使用Vim模式的时候,如果输入法在中文状态,我输入vim快捷键的话(比如o新建下一行)这个o会被输入到当前光标位置。

我注意到这个问题是通病,但现在有没有什么好的解决办法,VSCode和其他编辑器中的Vim支持就不会出现这种情况,这样用着好难受啊

2 个赞

社区有相关插件。

能请教下具体的插件名吗

不太记得了,印象中名字带vim,功能是自动在不同模式下切换输入法。

1 个赞

谢谢 确实可以!!!!

对我个人来说,我只需要像其他编辑器那样,normal模式下打中文不会直接输入,然后按shift自动取消即可。

实际测试,使用im-select还是有一些小问题,它要在系统中安装两种语言,这带来了三种输入方式

  1. 中文输入法下的中文输入方式
  2. 中文输入法下的英文输入方式
  3. 英文输入法

不知道有没有啥解决办法

1 个赞

该插件目前亲测也可以使用。https://github.com/ALONELUR/vim-im-select-obsidian.git

请问可以解决这个问题吗

不是很清楚你的意思,我使用的是微软自带的输入法,同时下载了美式英语和中文输入。在使用该插件的过程中,插件在normal模式下会默认将输入法换到english,在打开obsidian第一次进入insert后需要手动用win+空格进入中文输入模式,之后切换模式到insert就会默认是中文。

可以解决,im-select加这个切换语言的项目(这个项目就是为了满足微软拼音下的语言模式切换) A-23187/AIMSwitcher: AIMSwitcher, An Input Method Switcher (github.com)

im-select中分别设置为:
0
path\AIMSwitcher.exe --imm
path\AIMSwitcher.exe --imm {im}

1 个赞

被同样的问题困扰,目前我选择的 vim-im-select插件方案,这个配置好了,中文输入选择的小狼毫输入法(86五笔,可加载其他拼音输入等方案),相对可用。
以下为配置,需要下载对应系统版本的 im-select.exe,放到合适位置。

装好设置好后,进入vim mode,先切换成英文(小狼毫的英文或者系统的英文),点插入 (i),切换成小狼毫的中文,输几个字试试,然后点Esc,就切换成了系统的英文,再点插入(i),就又切换成小狼毫的中文了。包括楼主说的o,新建下一行,也会切换。

再结合Vimrc Support插件,可以个性化的配置一些vim mode的操作方式等,就更好用了。
同时,用Vim Toggle插件,可以快捷打开/关闭vim mode。
以上三剑客配合,基本可以实现ob里的vim初步编辑。

ps:obsidian-vim-im-switch-plugin插件方案,可能是我还不太会配置,没有出现想要的效果。
希望大佬可以教一教,对比一下这两种方案哪个中/英切换效果好。