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

@Voleking

关于native输入法在normal模式下的切换,
请测试最新版,并反馈给我~~~

刚试了下还是上面的问题,Version: 20200814.231 (不过现在 normal 模式下切换 doom modeline 不显示输入法图标了。)

我这里测试都是好的。

你能否详细重复一下操作步骤?

然后describe-symbol在toggle-input-method上, 把结果发过来我看看。

另外:::
必须保证,sis在evil之后载入。
我觉得,你那边可能是这个问题。
用doom的话,需要
Snipaste_2020-08-14_14-10-28

最新版的,移除了要求sis在evil之后载入。
现在你无论什么载入顺序都行。

可以了,没问题了

Screen Shot 2020-08-15 at 09.32.44

macos emacsplus spacemacs, vim mode,.spacemacs user-config 中配置

 (sis-ism-lazyman-config
   "com.apple.keylayout.USExtended"
   "com.sogou.inputmethod.sogou.pinyin")

sis-set-other 和 sis-set-english 正常,但是 esc 后没有切回英文。

@cnstrong

是说明文档中不显眼么 :joy:

我这儿 hybrid 的模式用不了然后切到 vim 模式发现可以用。但是我想要的功能是中文输入后按 esc 回到 normal mode 时可以 hjkl ,中英文混合输入的功能可用。

就是insert状态下如果是中文输入法,esc回到normal时,自动切到英文,对不对?
这个是最基本的功能
就是spacemacs从hybrid模式换成vim模式就行了。 你那里不行么?

没错,spacemacs 的版本是 [email protected] 。这个帖子的中英文混打的功能示例可以使用。

  (sis-ism-lazyman-config
    "com.apple.keylayout.USExtended"
    "com.sogou.inputmethod.sogou.pinyin")
  (sis-global-respect-mode t)
  (sis-global-follow-context-mode t)
  (sis-global-inline-mode t)
  (sis-global-cursor-color-mode t)

那我不知道你哪里不行啊。。。。

别的spacemacs用户,都是做了hybrid->vim,就可以了啊。
hybrid下,evil-insert-state-exit-hook 不会被执行。
所以sis中下句代码无效。
(add-hook 'evil-insert-state-exit-hook #'sis-set-english)

我对spacemacs不熟,
你自己把sis-set-english 挂到spacemacs合适的hook上,也可以。

谢谢讲解!我把这句话直接加到配置里就可以了,可能是哪个地方加载顺序的问题。

你让sis在evil或者spacemacs等之后加载呢?

我是 emacs 初学者,不知道怎么控制加载顺序

初学者???
那你赶快切到doom啊

spacemacs比较适合用了很多年
有很多积累的配置迁移起来太费劲的

初学者你不用doom,
留着spacemacs回家过年啊

这是我的doom配置,你自己把init.el文件打开
init.el 文件是doom自带的,个人按需求注释/反注释

我看了你的配置好像是把自己的配置放到 ~/.config/doom 下的,然后应该怎么生效呢?

git clone -b develop https://github.com/hlissner/doom-emacs ~/.emacs.d
mkdir -p ~/.config
#把我的doom目录拷到 ~/.config/ 下面
~/.emacs.d/bin/doom install

原来的 .doom.d/ 下面只有 config.el, init.el, packages.el 你是怎么让其他的 .el 生效的呢?我看初学教程这么做需要在自己的 .el 下面 (provide 'modul-name) 然后在 .emacs.d/init.el 下面 (require 'modul-name)

看到了,是不是 doom 自己定义的 (load! modul-name)

@goumao 还有个小问题😂️,手动切换输入法之后,doom modeline 那个输入法图标不会根据 sis 改变的状态切换(就上下文是中文或者英文都还是会显示 Rime 图标,必须等到手动切换)