在 Emacs 中使用 rime 输入法

在 Emacs 中使用外部输入法,最大的问题是在切换 evil 的模式的时候,对输入来讲会有延迟,由于须要手工将输入法切换到对应的英文模式,才能正常使用快捷键。git

可是若是使用的是 Emacs 本身的输入功能,则不须要作这些同步,只须要从 insert 模式中退出便可,这种操做对 Emacs 来讲真的是太方便了。github

通过几回尝试以后,一点点测试出了配置过程当中出现的问题,如今整理以下。shell

编译 librime

由于本人使用的是 Mac 系统,因此须要先安装一些工具。xcode

brew install cmake git boost

这三个工具是编译 liberime 用的,原本想从 GitHub 上下载,可是有问题,因此决定本身编译一份,这里测试了一下,只使用 CommandLineTools 是不行的,须要安全安装 xcode 才能够。安全

  1. 下载 librime 版本库
git clone --recursive https://github.com/rime/librime.git
  1. 编译第三方库
cd librime
make xcode/thirdparty
  1. 编译 librime
make xcode

编译 liberime

编译这个是依赖于 librime 文件的,须要先将依赖引进来。app

  1. 下载 liberime 项目
git clone git@github.com:merrickluo/liberime.git
  1. 引入 librime 依赖
export RIME_PATH=~/DEV/librime
  1. 编译 liberime 文件
make liberime
  1. 而后将 liberime 加入到 .emacs.d 项目中

若是不想本身编译的话,也能够直接下载我编译好的文件,可是须要把文件存放到一个指定的路径下。ide

下载路径:liberime.so工具

增长 Emacs 配置

在增长配置以前,先检查一下 Emacs 是否支持 module-load 若是不支持,请优先安装支持的版本,建议使用 emacs-mac 中的版本。测试

(use-package pyim
  :demand t
  :diminish pyim-isearch-mode
  :init
  (setq default-input-method "pyim"
        pyim-title "ㄓ"
        pyim-default-scheme 'rime
        pyim-page-length 7
        pyim-page-tooltip 'proframe)
  :config
  (setq-default pyim-english-input-switch-functions
                '(pyim-probe-dynamic-english
                  pyim-probe-evil-normal-mode
                  pyim-probe-program-mode
                  pyim-probe-org-structure-template))

  (setq-default pyim-punctuation-half-width-functions
                '(pyim-probe-punctuation-line-beginning
                  pyim-probe-punctuation-after-punctuation))
  (pyim-isearch-mode t)
  :bind ("M-j" . pyim-convert-string-at-point))

(use-package liberime
  :load-path (lambda () (expand-file-name "rime" user-emacs-directory))
  :custom
  (rime_share_data_dir "/Library/Input Methods/Squirrel.app/Contents/SharedSupport/")
  (rime_user_data_dir (expand-file-name "rime" user-emacs-directory))
  :init
  (module-load (expand-file-name "liberime.so" user-emacs-directory))
  :config
  ;; 配置同步文件夹
  (liberime-start rime_share_data_dir rime_user_data_dir)
  (liberime-select-schema "wubi86"))

(use-package posframe)

(provide 'modules-pyim)

重启 Emacs 就可使用 pyim 替代原有的输入法了。ui

文章首发于:https://www.zucchiniy.cn

相关文章
相关标签/搜索