zoukankan      html  css  js  c++  java
  • 在 Emacs 中使用 rime 输入法

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

    但是如果使用的是 Emacs 自己的输入功能,则不需要做这些同步,只需要从 insert 模式中退出即可,这种操作对 Emacs 来说真的是太方便了。

    经过几次尝试之后,一点点测试出了配置过程中出现的问题,现在整理如下。

    编译 librime

    因为本人使用的是 Mac 系统,所以需要先安装一些工具。

    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 文件的,需要先将依赖引进来。

    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 项目中

    如果不想自己编译的话,也可以直接下载我编译好的文件,但是需要把文件存放到一个指定的路径下。

    下载路径: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 替代原有的输入法了。

    花間酒氣;竹裹棋聲。 山奔海立;沙起雷行。 風雲論道;筆墨通天。
  • 相关阅读:
    HTML5(一)初识HTML5
    iOS手机流量抓包rvictl
    mysql 安全模式
    DNS解析
    Git删除文件
    Git创建本地仓库并推送至远程仓库
    【python】字典/dictionary操作
    Gson解析复杂JSON字符串的两种方式
    apk安装提示:Failure [INSTALL_FAILED_DUPLICATE_PERMISSION perm=XXX]
    su、sudo、su
  • 原文地址:https://www.cnblogs.com/banshiliuli1990/p/12202308.html
Copyright © 2011-2022 走看看