终端是额外开启的 Termite,不是 emacs 里的;
LC_CTYPE 默认确实是 en_US.UTF-8
。
这个猜测是对的。
是的。
goumao:
你手工用 OS 的快捷键来切换是什么结果?
跟这个人的状况是一样的:
是的,所以我觉得我不应该就这个问题耽误您太多时间,涉及到的环节太多了,并且实际上通过在启动 emacs 时传递 LC_CTYPE=zh_CN.UTF-8
就能够解决。
最后我想问下 package 是否提供了 log 功能,在设置好 LC_CTYPE
的时候,我测试发现 -set-english
函数是有效的,但是其他功能并未起作用,我觉得先解决这个问题会好些。
===Update===
确认了,是我并未把下面这些配置放入 config 导致退出 insert 模式无法切换英文等情况出现
(smart-input-source-global-cursor-color-mode t)
(smart-input-source-global-respect-mode t)
(smart-input-source-global-follow-context-mode t)
(smart-input-source-global-inline-mode t)
Github 上只看了关于 Linux 的那部份,以为这些不用设置(汗
===Update2===
现在唯一的问题就是必须在配置里添加 (requre 'smart-input-source)
,不然启动时就会提示找不到 -ism-lazyman-config
函数。
goumao
2020 年7 月 21 日 09:21
812
smart-input-source-log-mode
goumao
2020 年7 月 21 日 09:23
813
因为set-english实际上是关闭输入法,
无论当时输入法是什么,关掉是确定的,跟locale无关的,所以fcitx可以正常工作。
而set-other是打开fcitx的输入法,
fcitx需要从locale中获取语言,从而打开相应的输入法
这时候,locale出问题,就无法打开了。
goumao
2020 年7 月 21 日 12:00
814
@nujabse
fix了。
现在即使enable这个选项,也会正常工作。
goumao
2020 年7 月 21 日 12:13
815
@Sollovin
最新版你再试试。应该是因为之前没加autoload
。
goumao
2020 年7 月 21 日 14:37
816
aqua0210:
isearch 可以正常自动切换到英文了
@aqua0210 @emacle
你们有用isearch通过拼音首字母搜索汉字的需求么?
我下一步可以考虑把evil-pinyin移植过去
一直很想用,如果能移植过来,应该很多使用原生键位朋友也会很高兴😊
好的,明白了。
更新到最新版确实不需要 require 了,谢谢。
chiron
2020 年7 月 23 日 03:16
820
接口 (变量和函数名) 更改太频繁了,跟不上。
windows平台,装了im-select,在emacs里调用 M-& im-select 2052 M-& im-select 1033,可以正常切换语言。
不过用smart-input-source-20200721.1220 版本,怎么也没配置成功。
Windows 平台上已经切换到最新版,目前使用一切正常。你需要根据readme更新一下配置。
goumao
2020 年7 月 23 日 03:44
822
你的最新帖子,
上面一个就是我发的:不兼容重大更新
必须阅读~~~~
chiron
2020 年7 月 23 日 04:35
823
能否分享一下配置? 我的如下:
(require 'sis)
(sis-ism-lazyman-config "1033" "2052" 'im-select)
(sis-global-respect-mode t)
(sis-follow-context-mode t)
(sis-inline-mode t)
sis-english-source
sis-other-source
几个变量都设置成功了。 但是evil-mode下,退出insert,输入法还是中文。
goumao
2020 年7 月 23 日 04:48
824
你是不是用的spacemacs?readme还是要读一下的
我的配置跟你的一样,但我不用evil,我是用在原生按键模式的。
chiron
2020 年7 月 23 日 05:39
826
我没有用spacemacs,用的是 evil的原生vim模式。
sis-inline-mode 生效了,在evil下也生效。
sis-global-respect-mode
,在中文输入法时, c-x 切换成英文也成功了。
只有evil,从插入模式退出正常模式,不切换语言。
最后加了一个hook
(add-hook 'evil-normal-state-entry-hook #'sis-set-english)
解决了。
目前没发现其他问题。
chiron
2020 年7 月 23 日 06:20
828
目前我的配置 (平台 win7 emacs26.1):
(require 'sis)
(sis-ism-lazyman-config "1033" "2052" 'im-select)
(sis-global-respect-mode t)
(sis-global-follow-context-mode t)
(sis-global-inline-mode t)
(add-hook 'evil-normal-state-entry-hook #'sis-set-english)
可以工作。
你describe symbol看下这个: evil-insert-state-exit-hook
evil-insert-state-exit-hook is a variable defined in ‘evil-states.el’.
Its value is
(evil-maybe-expand-abbrev evil-stop-track-last-insertion evil-cleanup-insert-state)
插入模式下,你describe symbol看下这个: evil-state
evil-state is a variable defined in ‘evil-vars.el’.
Its value is ‘insert’
Local in buffer init.el; global value is nil
Automatically becomes permanently buffer-local when set.
goumao
2020 年7 月 23 日 06:36
829
你改成下面的话,可以正常工作么?
(add-hook 'evil-insert-state-exit-hook #'sis-set-english)
chiron
2020 年7 月 23 日 06:50
830
(add-hook 'evil-insert-state-exit-hook #'sis-set-english)
也可以正常工作。
不过我感觉,放到evil-normal-state-entry-hook上,更合适吧?