【已解决】【PYIM求助】pyim/rime 用不了双拼

感觉各位,问题已经解决,记录于此: http://wenshanren.org/?p=1070

rime 还蛮好用的,赞一个!


问题: 在设置 pyim-default-scheme 为 rime-microsoft-shuangpin 的情况下,输入的时候仍然是全拼。

Screenshot_2019-11-03_13-59-24

(ceui 在双拼里应该是 测ce 试ui)

配置: 基本上跟着 GitHub - tumashu/pyim: 一个 emacs 中文输入法,支持全拼,双拼,五笔,仓颉和Rime,pyim 是 GNU elpa 包。在Linux版的Emacs中使用RIME输入法 做的:

    (require 'pyim)
    (require 'posframe)
    (require 'liberime)

    (setq default-input-method "pyim")
    (setq pyim-page-tooltip 'posframe)
    (setq pyim-page-length 9)

    (liberime-start "/usr/share/rime-data/" (file-truename "~/.emacs.d/pyim/rime/"))
    (liberime-select-schema "luna_pinyin_simp")
    (setq pyim-default-scheme 'rime-microsoft-shuangpin)

emacs-version: GNU Emacs 27.0.50 (build 1, x86_64-pc-linux-gnu, GTK+ Version 3.24.5) of 2019-11-03 (编译的时候加了 --with-modules)

debian version: Linux renair 4.19.0-6-amd64 #1 SMP Debian 4.19.67-2+deb10u1 (2019-09-20) x86_64 GNU/Linux

posframe 和 pyim 都是用的最新的 master commit (2019-11-03 14:05)

我之前没有用过 rime,这次是新装的 fcitx-rime,在 Emacs 之外可以正常使用(但需要自己手动修改 /usr/share/rime-data/default.yaml 不然没法加双拼输入法)

pyim/rime 使用的是 (liberime-select-schema "rime-microsoft-shungpin") 而不是 (setq pyim-default-scheme 'rime-microsoft-shuangpin) 来选择使用双拼还是全拼。 PS: 请确保运行 (liberime-get-schema-list) 可以查看到你选择的模式。另外建议参考

来修改自己 fcitx-rime 的配置。

这个地方需要选择双拼

这个设置也是需要的,不然就无法处理 ;

我是这么配的,可用,你可以参考一下

    ;; 配置rime
    (setq load-path (cons (file-truename "~/.spacemacs.d/") load-path))
    (require 'liberime)
    (liberime-start (expand-file-name "~/Library/Rime")
                    (expand-file-name "~/.emacs.d/pyim/rime/"))
    (liberime-select-schema "double_pinyin_mspy")
    (with-eval-after-load 'pyim
      (add-to-list 'pyim-schemes
                   '(rime-mspy
                     :document "rime 微軟雙拼输入法。"
                     :class rime
                     :first-chars "abcdefghijklmnopqrstuvwxyz"
                     :rest-chars "abcdefghijklmnopqrstuvwxyz;"
                     :prefer-trigger-chars nil
                     ))
      (setq pyim-default-scheme 'rime-mspy))
1 个赞

@tumashu @shanyouli 多谢二位的指点


(liberime-select-schema "rime-microsoft-shuangpin")
(setq pyim-default-scheme 'rime-microsoft-shuangpin)

这样的话输入不了中文,打任何字母都只是字母本身“上屏”(不知道这个术语用得对不对)。


(liberime-select-schema "double_pinyin_mspy")
(setq pyim-default-scheme 'rime-microsoft-shuangpin)

这样的话,可以用双拼,但是是繁体字


最后改了 /usr/share/rime-data/double_pinyin_mspy.schema.yaml, from:

switches:
  - name: ascii_mode
    reset: 0
    states: [ 中文, 西文 ]
  - name: full_shape
    states: [ 半角, 全角 ]
  - name: simplification
    states: [ 漢字, 汉字 ]
  - name: ascii_punct
    states: [ 。,, ., ]

to:

switches:
  - name: ascii_mode
    reset: 0
    states: [ 中文, 西文 ]
  - name: full_shape
    states: [ 半角, 全角 ]
  - name: zh_simp
    reset: 1
    states: [ 漢字, 汉字 ]
  - name: ascii_punct
    states: [ 。,, ., ]

在尾部加上 simpiler:

simplifier:
  option_name: zh_simp

然后就可以了