pyim无法正常工作,输入法仍为默认中文输入法

刚刚接触Emacs,想解决中英文自动切换的问题,所以找到了pyim。

我的配置基本照抄作者手册上的例子,但使用的使用C-\后,显示的是以前设置的Emacs默认中文输入法“拼GU”而非所说的“灵通”,default-input-method的值也是默认的chinese-py。

即使通过customize将default-input-method的值修改成pyim,使用C-\后,会提示“Can’t activate input method ‘pyim’.”

能否请大家提供一些解决的思路?谢谢。

请提供你所有有关pyim和输入法的配置

pyim的配置是: (use-package pyim :ensure nil :demand t :config

(use-package pyim-basedict :ensure nil :config (pyim-basedict-enable))

(setq default-input-method “pyim”)

(setq pyim-default-scheme 'quanpin)

;; 设置 pyim 探针设置,这是 pyim 高级功能设置,可以实现中英文切换 :slight_smile: ;; 中英文动态切换规则是: ;; 1. 光标只有在注释里面时,才可以输入中文。 ;; 2. 光标前是汉字字符时,才能输入中文。 ;; 3. 使用 M-j 快捷键,强制将光标前的拼音字符串转换为中文。 (setq-default pyim-english-input-switch-functions '(pyim-probe-dynamic-english pyim-probe-isearch-mode pyim-probe-program-mode pyim-probe-org-structure-template))

(setq-default pyim-punctuation-half-width-functions '(pyim-probe-punctuation-line-beginning pyim-probe-punctuation-after-punctuation))

(pyim-isearch-mode 1)

(setq pyim-page-tooltip 'posframe )

(setq pyim-page-length 5)

(add-hook ‘emacs-startup-hook #’(lambda () (pyim-restart-1 t))) :bind ((“M-j” . pyim-convert-code-at-point) ;与 pyim-probe-dynamic-english 配合 (“C-;” . pyim-delete-word-from-personal-buffer)))

default-input-method的customize值只能为chinese-py-punct若设置为pyim,则会提示pyim无法activate.

为什么是ensure nil?

看看这个:

:ensure nil表示不自动下载安装此package。@tumashu 如此设置是因为他并不使用package.el安装pyim的关系(如有误请指正)。

所以你的pyim安装了没?根据你的错误提示,pyim看来是没安装啊……

这就又涉及一个问题,你是用的GitHub上现成的配置框架,还是在自己写配置?如果是自己写配置的话,use-package安装配置了没?

PS: 如果是spacemacs的话,直接在~/.spacemacsdotspacemacs-configuration-layers中添加chinese layer即可

另外有时间的话请学习一下markdown语法……至少知道代码块怎么用。

1 个赞