哈哈哈,你一定是没有认真看我写的文档。
Debugger entered--Lisp error: (file-error "Cannot open load file" "Not a directory" "liberime")
require(liberime)
eval((require (quote liberime)) nil)
elisp--eval-last-sexp(nil)
eval-last-sexp(nil)
funcall-interactively(eval-last-sexp nil)
call-interactively(eval-last-sexp nil nil)
command-execute(eval-last-sexp)
require 的时候提示这个错误
(setq load-path (cons (file-truename "~/.emacs.d/") load-path))
(require 'liberime)
/Users/wd/.emacs.d/liberime.so
文件是存在的,这个可能是什么问题呢?
似乎是我这里没有动态加在这个的功能?
我试了一下 (module-load "~/.emacs.d/liberime.so")
也报错的,void-function
似乎是的,我用brew 装的 emacs-mac,看了一下有一个编译参数 --with-modules Build with dynamic modules support
(liberime-select-schema "luna_pinyin_simp")
除了luna_pinyin_simp还有别的什么可选值?
我用仓颉输入,要怎么设罝?
(setq pyim-default-scheme 'cangjie)
并没有起作用。
thx.
可以用 (liberime-get-schema-list)
, 查看 liberime-select-schema 的其它可选值。
折腾了一下,总算可以用了。弄好了小鹤双拼。
默认现在不自带小鹤的方案,需要先复制一个小鹤的方案到 /Library/Input Methods/Squirrel.app/Contents/SharedSupport
里面。
然后还需要设置一下 ~/.emacs.d/pyim/rime/default.custom.yaml
里面增加这个方案的选项,主要是 schema_list 那个。
patch:
schema_list:
- schema: double_pinyin_flypy
"menu/page_size": 50
"speller/auto_select": false
"speller/auto_select_unique_candidate": false
然后执行 (liberime-get-schema-list)
可以确认下是不是 ok 了。
然后是 emacs 设置,我需要自己 module-load 我也不知道怎么回事,不需要的话可以不用。
(module-load "/Users/wd/.emacs.d/liberime.so")
(use-package liberime
(liberime-start "/Library/Input Methods/Squirrel.app/Contents/SharedSupport" (file-truename "~/.emacs.d/pyim/rime/"))
(liberime-select-schema "double_pinyin_flypy")
(setq pyim-default-scheme 'rime))
然后可以 C-\
启用一下输入法看看,是不是可以输入了,这个时候还有一个问题,候选里面好多繁体,如果不需要可以写一个 ~/.emacs.d/pyim/rime/double_pinyin_flypy.custom.yaml
里面写上
patch:
"switches/@2/reset" : 1
也可以自己加其他设置,反正这个目录里面就是 rime 的配置了,和那个独立的配置的逻辑一样。
报个道,今天也配置好了 pyim + librime 并且使用上了 极点五笔拼音输入法,加上pyim的 probe函数,现在在Emacs里面使用中文输入法完全不用切换了。 好爽。
同时,因为我是evil用户,当从normal模式切换到insert模式的时候,我希望知道当前输入法的状态,我写了几个函数支持这个功能:
(eval-and-compile
(if (fboundp 'window-inside-edges)
;; Emacs devel.
(defalias 'th-window-edges
'window-inside-edges)
;; Emacs 21
(defalias 'th-window-edges
'window-edges)
))
(defun th-point-position ()
"Return the location of POINT as positioned on the selected frame.
Return a cons cell (X . Y)"
(let* ((w (selected-window))
(f (selected-frame))
(edges (th-window-edges w))
(col (current-column))
(row (count-lines (window-start w) (point)))
(x (+ (car edges) col))
(y (+ (car (cdr edges)) row)))
(cons x y)))
(defun display-current-input-method-title (arg1 &optional arg2 arg3)
"display current input method name"
(when current-input-method-title
(set-mouse-position (selected-frame) (car (th-point-position)) (cdr (th-point-position)))
(x-show-tip current-input-method-title (selected-frame) nil 1 20 -30)))
(advice-add 'evil-insert :after 'display-current-input-method-title)
求助
我在 mac doom eamcs 下面配置里面设置
(use-package liberime
:load-path "~/.doom.d/liberime.[so|dll]"
:config
;; 注意事项:
;; 1. 文件路径需要用 `expand-file-name' 函数处理。
;; 2. `librime-start' 的第一个参数说明 "rime 共享数据文件夹"
;; 的位置,不同的平台其位置也各不相同,可以参考:
;; https://github.com/rime/home/wiki/RimeWithSchemata
(liberime-start (expand-file-name "~/Libray/Rime/")
(expand-file-name "~/.doom.d/rime/"))
(liberime-select-schema "double_pinyin_flpy")
(setq pyim-default-scheme 'rime))
然后运行 doom refresh 出现提示 package error: (error Could not find package liberime in recipe repositories: (org-elpa melpa gnu-elpa-mirror emacsmirror-mirror))
emacs 不是能加载动态库吗?
你这个错误也遇到了,最后你是怎么解决的
用emacs -Q启动配置,排除你的配置文件问题
:load-path "~/.doom.d/liberime.[so|dll]"
这个地方设置的是 liberime.so 文件所在的目录
阿感谢 找了好多地方终于用你的配置把小鹤的配置成功了 但是有一个疑问 为什么rime没有用我的个人辞典呢?
导致我用鼠须管在emacs外打字 和pyim在emacs里面打字 候选词天差地别
(use-package liberime
:config
(liberime-start (expand-file-name "/Library/Input Methods/Squirrel.app/Contents/SharedSupport/")
(file-truename "~/.emacs.d/pyim/rime/"))
(liberime-select-schema "double_pinyin_flypy")
(setq pyim-default-scheme 'rime))
我有把所有 dic.yaml 文件 copy 到两个文件夹 也在 ~/.emacs.d/pyim/rime/defaults.custom.yaml 里定义了dictionary
你可以 copy 到这个目录试试
/Library/Input Methods/Squirrel.app/Contents/SharedSupport/
对的 我是把 ~/Library/Rime 里面的 dict 文件同时拷贝进了
/Library/Input Methods/Squirrel.app/Contents/SharedSupport/
和
~/.emacs.d/pyim/rime/
但是字典好像没能加载