macOS emacs小鹤音形用不了

请问一下,macos上emacs小鹤双拼可以使用,小鹤音形怎么用不了呢?

什么输入法方案?

(安利 emacs-rime)

rime下挂接的小鹤音形,为什么其他地方可以使用呢,emacs上用不了呢

目前使用的cabins大佬的那个,可以使用

emacs-rime这个使用之后老是: fatal error: ‘emacs-module.h’ file not found rime-compile-module: Compile Rime dynamic module failed

这个行为就比较诡异了……

看下文档缺了什么配置吧,主要应该是这三个:

  rime-librime-root
  rime-emacs-module-header-root
  rime-user-data-dir

多谢

macOS 是有这个问题的,emacs-rime 默认是通过这个rime--guess-emacs-module-header-root 函数来探测 emacs-module.h的位置。但在 macOS 不同的 Emacs 安装方式,emacs-module.h 这个文件在存放位置也不一样,没统一标准。

所以最快的方法就是你直接设置 rime-emacs-module-header-root 的位置。 比如我在 macOS上设置了这2个变量:

(setq rime-emacs-module-header-root "/Applications/Emacs.app/Contents/Resources/include") ;; 这是 emacs-module.h 的位置
(setq rime-librime-root  "~/lib/librime/dist") ;; 这是 librime 的位置
1 个赞

是的,emacs-module.h的位置是这个路径,这样确实可以,多谢老哥。 (setq rime-emacs-module-header-root “/Applications/Emacs.app/Contents/Resources/include”) (setq rime-librime-root “/opt/homebrew/opt/librime”) ;; brew --prefix librime

我也备注一个 emacs-plus 版本的方法吧,因为我是用 daemon 模式启动的,所以没有弄 Emacs.APP 这个东西。这个方法可以避免每次更新都要手动改地址。

仅限于使用 homebrew 安装 emacs-plus

  (defun private/emacs-module-header-root ()
    (let* ((version-string (emacs-version))
           (version-regex "\\([0-9]+\\)\\.\\([0-9]+\\)\\.\\([0-9]+\\)")
           (match (string-match version-regex version-string))
           (major (match-string 1 version-string))
           (minor (match-string 2 version-string))
           (build (match-string 3 version-string))
           (formatted-version (format "%s.%s.%s" major minor build)))
      (concat "/opt/homebrew/Cellar/emacs-plus@" major "/" emacs-version "/include")))

(setq rime-emacs-module-header-root (private/emacs-module-header-root))
(setq rime-emacs-module-header-root “/Applications/Emacs.app/Contents/Resources/include”) (setq rime-librime-root “/opt/homebrew/opt/librime”) 

是的,这种每次得toggle-input-method → rime,比较麻烦。 quail也可以。

老哥,vscode也是用小鹤音形输入不了中文呢,有遇到么?

我不用 小鹤音形,它太小众了,还不开源码表,坚决不用。
要用小鹤音形,建议直接用他们的客户端会比较好,不要用 Rime。

好的

rime的话可以看下配置里面的 squirrel.yaml

app_options:
  # com.apple.Spotlight:
  #   ascii_mode: true    # 开启默认英文
  # com.microsoft.VSCode:
  #   ascii_mode: false   # 关闭默认英文

原来这么多同好?

老哥有遇到么;neo-emacs是不是没有这个问题 :slightly_smiling_face:

我一直就是用的rime 小鹤音形方案,没有问题的

你只是说用不了,没有说具体什么报错呀或者你的配置是怎么写的,可以分享下? 另外,你在emacs中使用emacs-rime方案之前,有无在成功在操作系统中使用rime挂小鹤音形? 要定位问题出在emacs rime的配置,还是rime中小鹤音形的配置上