zilongshanren / spacemacs-private

My Spacemacs config
487 stars 196 forks source link

pyim 未报错但也不能用 #195

Closed lyserenity closed 5 years ago

lyserenity commented 5 years ago

我几乎照抄了 layers/zilongshanren-misc/packages.el 里 pyim 的配置,也按照 在Mac版的Emacs中使用RIME输入法 编译了。查看 Messages 和执行了 (liberime-get-schema-list) 也有正确显示,但 toggle-input-method打字还是英文,而且 modeline 显示如图: image

想请问还有什么方法可以查看看到底是哪里出了问题?

zilongshanren commented 5 years ago

你先看看,RIME输入法在其他app中可以使用不。然后再看看schema 是否选择正确

lyserenity commented 5 years ago

RIME 输入法可以用,schema 也应该是对的(是执行 (liberime-select-schema "luna_pinyin")这个吗?)

zilongshanren commented 5 years ago

你如果照抄了我的配置,那么在prog-mode中,只有在注释和字符串中才可以输入中文。输入完英文后,空格后可以再输入中文。建议去掉Probe相关的函数再试试。

另外,你可以试试,不使用rime的pyim是否正常工作。

lyserenity commented 5 years ago

我刚试了一下,不用 rime 的 pyim 可以用。但 rime 还是不行,可能依旧是哪里有问题,先暂时放弃好了。😢

zilongshanren commented 5 years ago

恩,建议看看 (liberime-start "/Library/Input Methods/Squirrel.app/Contents/SharedSupport" (file-truename "~/Library/Rime")) 的执行结果是否正确

lyserenity commented 5 years ago

我后来无聊就把 post-init-pyim里的代码轮番执行了一遍,结果发现如果打开 emacs 后,重新执行一次 progn那个()里的整块区块,pyim 就能用了。因为我实在对 emacs 不了解,想请问有没有什么思路可以帮助我排查一下是哪里出了问题?

lyserenity commented 5 years ago

我找到了,大概是 (set-language-environment "UTF-8") 这造成的,反正去掉就正常了。 (相关讨论串:https://github.com/tumashu/pyim/issues/82)