sel-start, sel-end, cursor-pos 在 preedit 中的位置都可以确定出来。 不知道在pyim中有没有什么特别处理,但是emacs-rime里面可以做到和fcitx-rime或ibus-rime一样的逻辑。
liberime-string-length [quote=“cxb811201, post:9, topic:12127, full:true”] 我觉得应该给一下自行设置iberime-core.so路径的变量 [/quote]
已经添加
遇到一个关于词库的问题.
通过翻页选择了 “子进程”, 但是当我第二次输入 zijincheng 时. “子进程” 并没有出现在候选项中. 如下图所示:
系统中的 fcitx-rime 工作正常:
相关的配置:
(use-package liberime
:straight (liberime
:type git
:host github
:repo "merrickluo/liberime"
:files ("CMakeLists.txt" "Makefile" "src" "liberime*.el" "liberime-config.el")))
(use-package pyim
:straight t
:demand t
:init
(liberime-load)
(setq default-input-method "pyim")
:config
(use-package pyim-basedict
:straight t
:ensure nil
:config (pyim-basedict-enable))
(use-package posframe
:straight t
:init (require 'posframe))
(setq pyim-punctuation-translate-p '(no auto yes)
pyim-default-scheme 'rime
;; pyim-punctuation-dict nil
pyim-page-tooltip 'posframe
pyim-page-length 5)
(setq-default pyim-english-input-switch-functions
'(pyim-probe-dynamic-english
pyim-probe-isearch-mode
pyim-probe-org-structure-template))
(setq-default pyim-punctuation-half-width-functions
'(pyim-probe-punctuation-line-beginning
pyim-probe-punctuation-after-punctuation))
:bind
(("C-\\". toggle-input-method)
("M-k" . pyim-convert-string-at-point)
("C-;" . pyim-delete-word-from-personal-buffer)
("M-'" . pyim-punctuation-translate-at-point)))
~/.emacs.d/rime/default.custom.yaml
直接从fcitx中复制过来的:
patch:
schema_list:
- schema: double_pinyin_flypy # 小鶴雙拼
key_binder/bindings:
- { when: paging, accept: bracketleft, send: Page_Up }
- { when: has_menu, accept: bracketright, send: Page_Down }
- { accept: "Shift+space", toggle: noop, when: always}
- { when: always, accept: "Control+space", toggle: ascii_mode }
ascii_composer/good_old_caps_lock: true
ascii_composer/switch_key:
Shift_L: noop
Shift_R: commit_code
Control_L: noop
Control_R: noop
"switcher/hotkeys":
- "Control+grave"
有可能是pyim rime集成的限制
这种如果遇到这种情况,可以试试辅助输入法,按tab试试
换成pyim内置的双拼了. 说起来更新之前用旧版的liberime还没啥问题来着
才发现还留着之前的备份 回到旧版词库就没问题了
还是解决不了, 新版本的词库确实是更新了, rime中能看到目录, 但是不知道为什么无法更新. 先停留在旧版本吧.
很奇怪啊,我切换到doom的话就没有这个问题了。是pyim又更新了吗。切换回来包都是重新下载的了。
虽然“子进程”总是排在第二个。用pyim倒也不难解决。
doom
(use-package! liberime
:load-path "/home/zhscn/pkg/liberime"
:init
(require 'liberime)
:config
(liberime-select-schema "double_pinyin_flypy")
(setq pyim-default-scheme 'rime))
嗯,暂时没想到怎么让rime记住多选生成的词条,现在保存到 personsl cache了
这段时间我一直想把这个输入法弄成可以输入 yank 历史的东西。Personal cache 是一种可能方式。这个 cache 会不会存到磁盘上?
会保存到磁盘,一般在.emacs.d/pyim/dcache/
通过rime间接支持,pyim内置不支持,因为没有人维护词库
我就是用的 rime,通过 liberime 来的,双拼没问题,音形就不行了…我再看看 log 吧
来试试
我就是用的音形码。
我这里可以啊,不过我用的不是小鹤,是自然码,当然,要自己找码表
音型有什么反应?
应该是pyim这边的问题,输入截取算法的问题,
谢谢大佬,我看看。目前还在看 ReadMe 思考到底是怎么配置,比较菜。