Rime
https://github.com/rime/home
Rime是目前维护比较活跃的输入法。
Linux上的Rime支持ibus
与fcitx
,这里讲述如何安装支持ibus
的ibus-rime
。
Ibus-Rime
源码:https://github.com/rime/ibus-rime
Environment:
- Ubuntu 18.04
安装依赖
apt install build-essential git cmake
apt install libboost-dev
apt install libboost-filesystem-dev libboost-regex-dev libboost-system-dev libboost-locale-dev
apt install libgoogle-glog-dev
apt install libyaml-cpp-dev
apt install libleveldb-dev
apt install libmarisa-dev
apt install libopencc-dev
apt install libibus-1.0-dev
Gtest
库比较特别,需要编译 :
apt-get install libgtest-dev -y
cd /usr/src/gtest
cmake CMakeLists.txt
make
# copy or symlink libgtest.a and libgtest_main.a to your /usr/lib folder
cp *.a /usr/lib
编译与安装
git clone --recursive https://github.com/rime/ibus-rime.git
cd ibus-rime
# do this as normal user
./install.sh
重新加载ibus-daemon
ibus-daemon -drx
安装五笔输入
wubi86
使用时若需要拼音反查,需要pinyin_simp
。使用官方推荐的plum
安装(此命令不只安装五笔输入):
curl -fsSL https://git.io/rime-install | bash
配置
配置默认输入法:
将五笔86输入配置为默认的输入法,新建文件,填入如下内容以覆盖default.yaml
的对应配置:
Rime使用patch
的方式来覆盖默认配置。
cat >> ~/.config/ibus/rimedefault.custom.yaml << EOF
patch:
schema_list:
- schema: wubi86
- schema: pinyin_simp
EOF
配置上屏模式:
很多时候我们想输入英文,但现在的输入模式是中文,并且用户并不知道现在的输入模式是中文。我们可能会在「中文模式」下打出一段“英文”,然后按 Shift
切换到「英文模式」那么已经输入的那段“英文”应当如何处理呢?RIME 提供了五种策略:
inline_ascii: 在输入法的临时英文编辑区内输入字母、数字、符号、空格等,回车上屏后自动复位到中文
commit_text: 已输入的候选文字上屏并切换至西文输入模式
commit_code: 已输入的编码字符上屏并切换至西文输入模式
clear: 丢弃已输入的内容并切换至西文输入模式
noop: 屏蔽该切换键
想要修改 Shift
的上词方式为 commit_code
在 default.yaml
中有如下配置:
ascii_composer:
good_old_caps_lock: true
switch_key:
Shift_L: commit_text
然后重新部署以加载配置。
我的配置文件
~/.config/ibus/rime/default.custom.yaml
:
patch:
schema_list:
- schema: wubi86
- schema: pinyin_simp
switcher:
abbreviate_options: true
caption: "〔方案選單〕"
fold_options: true
option_list_separator: "/"
save_options:
- full_shape
- ascii_punct
- simplification
- extended_charset
ascii_composer:
good_old_caps_lock: true
switch_key:
Shift_L: commit_code
~/.config/ibus/rime/wubi86.custom.yaml
:
patch:
speller:
max_code_length: 4 # 最长4码
auto_select: true # 顶字上屏
auto_select_unique_candidate: true # 无重码自动上屏
Ref: https://mogeko.me/2018/031/
安装至非编译环境
场景:一台Ubuntu 18.04需要安装最新版ibus-rime(比如,18.04仓库版ibus-rime不支持中英切换时icon相应变换),但又不想安装编译依赖环境。
可以如下操作:
- 在相应的Ubuntu 18.04上编译安装最新的ibus-rime,如在Docker Ubuntu 18.04中。
- 将编译好的整个目录复制到需要更新ibus-rime的Ubuntu中,进入目录下执行
make install
,其实此命令进行了如下操作:
install -m 755 -d /usr/share/ibus/component
install -m 644 -t /usr/share/ibus/component/ rime.xml
install -m 755 -d /usr/lib/ibus-rime
install -m 755 -t /usr/lib/ibus-rime/ build/ibus-engine-rime
install -m 755 -d /usr/share/ibus-rime
install -m 755 -d /usr/share/ibus-rime/icons
install -m 644 -t /usr/share/ibus-rime/icons/ icons/*.png
- 执行
ibus-daemon -drx
重新加载ibus。
附:搭建编译的Docker环境
在Ubuntu 18.04中开启一个编译ibus-rime的Docker环境,并将已经下载的ibus-rime源码(~/Downloads/ibus-rime)映射至Docker内:
docker run --name=ibus-rime -it -v ~/Downloads/ibus-rime:/root/ibus-rime ubuntu:18.04 bash
编译完后,将Docker内的编译好的ibus-rime内容复制至host中。
docker cp ibus-rime:/root/ibus-rime /home/jack/Downloads/ibus-rime-build
PS:
Ubuntu 18.04 默认使用snap安装docker,docker镜像配置如下:
/var/snap/docker/current/config/daemon.json
{
"log-level": "error",
"storage-driver": "aufs",
"registry-mirrors": ["https://docker.mirrors.ustc.edu.cn"]
}
然后重启Docker
sudo snap restart docker