(重新设计)中英文混打:OS输入法管理包 smart-input-source

尝试这样使用,不行。这个应该是怎么配置呢?

(push 'eaf-mode smart-input-source-prefix-override-recap-triggers)
(add-to-list 'smart-input-source-prefix-override-recap-triggers 'eaf-mode)

我这里也发现了,输入法是对的,但是光标颜色不对,是吧?

这和 push 也没啥区别啊

是的。一样的。
你把 respect-mode关掉。其它能正常工作么?

将 'eaf-mode 加入这个列表中还是出问题 :joy:
关掉 respect-mode 可以正常工作

好像解决了,感谢!

对,中文书法对应到了红色。

我的理解是这样的:buffer B 的中文输入法是被buffer C-x,b 后强制改成的中文,所以buffer B的的光标并没有启动设置输入法颜色的hook。

补充:你们都用什么动图软件?我用QQ录屏保存的动图太大了,25M 没法上传。

那我再研究一下。。。。
有点奇怪。

你用doom还是什么的?
如果是doom,配置我拿过来,更容易重现问题。

gif brewery

有道理啊。我一直被这个问题困扰,没想到这一点。

我是自己配的,你可以用这个最小化配置尝试一下

我用的是根据猫哥的配置改的自定义配置,你用起来估计不好习惯。其实你用空白的原生配置测试就可以了。

我是问 @BlindingDark 呢。他那边的冲突问题。

我这里还是完全不能记录buffer输入法状态 ,这才是这个包最重要的特性吧,至于光标颜色可以等这些基本功能稳定了再调试啊

下面是我的配置 ,

(use-package smart-input-source
  :init
  (setq smart-input-source-external-ism "im-select.exe") ; for windows 命令行切换输入法工具
  (setq smart-input-source-english "1033")
  (setq-default smart-input-source-other "2052")
  :config
  ;; enable the /respect/ mode
  (smart-input-source-global-respect-mode t)

  ;; enable the /follow context/ and /inline english/ mode for all buffers
  (smart-input-source-global-follow-context-mode t)
  (smart-input-source-global-inline-english-mode t)
  )

完全不能记录么?
有没有更新到最新版?
melpa不行,得github版。

目前这个版本因为我刚才上面说的C-x ,b 切换buffer 会把当前的输入状态带到下一个buffer。所以就有了emacle说的没法记录状态。

我用其他的方法切换buffer的话还是可以记录状态的。比如我用的awesome-tab切换就没问题。 所以问题还是出在前缀按键上。

我这里并不会,输入法都是对的。
只是颜色不对。

你那里。。。。。连输入法都是错的么?

对的,输入法都是错的。如果用C-x ,b 切换buffer 就会造成所有的buffer最终都是中文状态, 并且颜色不对。

补充:C-x ,o 在多窗口间切换是正常的。 就C-x,b 不行。希望这个能帮助你分析问题。
(我基本不用C-x,b 所以对我来说已经能用了 :grinning: