{"id":23727717,"url":"https://github.com/merrickluo/liberime","last_synced_at":"2025-05-07T08:31:41.807Z","repository":{"id":36496716,"uuid":"216501937","full_name":"merrickluo/liberime","owner":"merrickluo","description":"A emacs dynamic module provide librime bindings for emacs","archived":false,"fork":false,"pushed_at":"2024-09-27T01:41:41.000Z","size":347,"stargazers_count":68,"open_issues_count":8,"forks_count":13,"subscribers_count":8,"default_branch":"master","last_synced_at":"2025-03-31T08:12:05.253Z","etag":null,"topics":["emacs","input-method","librime","pyim"],"latest_commit_sha":null,"homepage":"","language":"C++","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"gpl-3.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/merrickluo.png","metadata":{"files":{"readme":"README.org","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2019-10-21T07:16:13.000Z","updated_at":"2024-09-27T01:41:44.000Z","dependencies_parsed_at":"2024-06-19T16:03:14.739Z","dependency_job_id":"b3876d94-6c1c-4ba0-bb99-92e950f2d2b0","html_url":"https://github.com/merrickluo/liberime","commit_stats":null,"previous_names":[],"tags_count":6,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merrickluo%2Fliberime","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merrickluo%2Fliberime/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merrickluo%2Fliberime/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/merrickluo%2Fliberime/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/merrickluo","download_url":"https://codeload.github.com/merrickluo/liberime/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":252842599,"owners_count":21812698,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["emacs","input-method","librime","pyim"],"created_at":"2024-12-31T01:29:39.576Z","updated_at":"2025-05-07T08:31:41.776Z","avatar_url":"https://github.com/merrickluo.png","language":"C++","funding_links":[],"categories":[],"sub_categories":[],"readme":"#+TITLE: liberime [开发中]\n\n* 简介\n\nliberime 是一个 Emacs 动态模块，提供了 librime 库绑定。目前只实现了几\n个方法，理想情况是暴露所有 librime 的 API 到 emacs-lisp.\n\n* 依赖\n** 依赖说明\n1. Emacs 需要启用动态模块支持，一般是在编译的时候使用 --with-modules\n   选项。\n2. librime 版本 \u003e 1.3.2\n\n** Windows 系统下使用 msys2 安装依赖\n   #+BEGIN_SRC shell\n   pacman -Sy --overwrite \"*\" --needed base-devel zip \\\n          ${MINGW_PACKAGE_PREFIX}-gcc                 \\\n          ${MINGW_PACKAGE_PREFIX}-librime             \\\n          ${MINGW_PACKAGE_PREFIX}-librime-data        \\\n          ${MINGW_PACKAGE_PREFIX}-rime-wubi           \\\n          ${PACKAGE_PREFIX}-rime-emoji                \\\n          ${MINGW_PACKAGE_PREFIX}-rime-double-pinyin\n   #+END_SRC\n\n   将 opencc 包自带的文件链接到 rime-data/opencc 目录下，解决无法输入\n   简体中文的问题。\n\n   #+BEGIN_SRC shell\n   ln -s ${MINGW_PREFIX}/share/opencc/* ${MINGW_PREFIX}/share/rime-data/opencc\n   #+END_SRC\n* 编译\n** Linux 系统下编译 liberime:\n\n   #+BEGIN_SRC shell\n   export EMACS_MAJOR_VERSION = 26  # 按实际情况更改\n   make\n   #+END_SRC\n\n** Mac (Darwin) 系统下编译 liberime:\n1. Mac 下编译 librime, 需要安装 Xcode (good luck), 可以参考：\n   [[https://github.com/rime/librime/blob/master/README-mac.md]] \n2. 环境变量 RIME_PATH 的取值设置为 librime 所在的目录，比如：\n   #+begin_src shell\n   export RIME_PATH=~/Develop/others/librime\n   #+end_src\n3. 编译 liberime:\n\n   #+BEGIN_SRC shell\n   export EMACS_MAJOR_VERSION = 26  # 按实际情况更改\n   make\n   #+END_SRC\n\n** Windows 系统下使用 msys2 编译 liberime\n1. 打开 MSYS2 MinGW 终端\n2. 切换到 liberime 所在的目录\n3. 运行下面的命令\n\n   #+BEGIN_SRC shell\n   export EMACS_MAJOR_VERSION = 26  # 按实际情况更改\n   make\n   #+END_SRC\n\n* 使用\n** Emacs 配置\n#+BEGIN_SRC emacs-lisp\n(require 'pyim)\n(require 'liberime nil t)\n(setq default-input-method \"pyim\")\n(with-eval-after-load \"liberime\"\n  (liberime-try-select-schema \"luna_pinyin_simp\")\n  (setq pyim-default-scheme 'rime-quanpin))\n#+END_SRC\n\n用户也可以通过 Rime 配置文件 (默认为：~/.emacs.d/rime/default.custom.yaml) \n来设置默认 schema，设置方式可以参考：\nhttps://gist.github.com/merrickluo/553f39c131d0eb717cd59f72c9d4b60d\n\n注意事项：\n1. 一般情况下，liberime 和 [[https://github.com/tumashu/pyim][pyim]] 配合使用\n2. 默认情况下，liberime 会自动搜索 rime 共享数据目录（shared_data_dir）和\n   rime 用户数据目录（user_data_dir）, 用户也可以使用下面两个变量强制设置：\n   1. liberime-shared-data-dir\n   2. liberime-user-data-dir\n3. Window 用户不要将 shared_data_dir 设置为小狼毫的 data 目录，因为小\n   狼毫自带的 OpenCC 文件无法用于 msys2 编译的 liberime, 会出现无法输\n   入简体中文的问题。\n\n*** 加载时自动编译\n#+BEGIN_SRC emacs-lisp\n(let ((liberime-auto-build t))\n  (require 'liberime nil t))\n#+END_SRC\n\n** 部署 Rime\n\n手动修改 librime 配置后，可以调用 ~(liberime-deploy)~ 重新部署。\n\n** 同步 Rime 词库\n使用 liberime 存在词库跟系统输入法不一致的问题，可以使用 rime 词库同步\n功能来变相的解决。\n\n1. 设置 sync_dir 目录 (默认修改 $HOME/.emacs.d/rime/installation.yaml 文件)\n2. 运行 liberime-sync 函数，比如：将其加入 ~after-init-hook~ 中。\n   #+begin_src emacs-lisp\n   (add-hook 'after-init-hook #'liberime-sync)\n   #+end_src\n\nRime 同步功能的其它信息可以参考：[[https://github.com/rime/home/wiki/UserGuide#%E5%90%8C%E6%AD%A5%E7%94%A8%E6%88%B6%E8%B3%87%E6%96%99][Rime 同步用户资料]]。\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerrickluo%2Fliberime","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmerrickluo%2Fliberime","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmerrickluo%2Fliberime/lists"}