在 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

相關文章
相關標籤/搜索