我是一个对输入法比较挑剔的人,用过很多输入法,大都会有让我不满意的地方。因为我用的是五笔输入,本身在五笔下有良好用户体验的输入法就比较少,加上我对输入法有几个要求:
- 能够完全自定义词库;
- 能够自定义输入习惯,如中文模式下输入英文下不自动上屏,按shift键上屏英文编码等;
- 能够保护隐私,最好离线;
这让我的选择从一片输入法中少了很多。几经周折,终于发现了最适合我的输入法:rime,因为其开源和多平台的特性,完美满足了我的需求,并让我最终把Windows和安卓上的输入法都换成了rime。前两天在实验室的Ubuntu上也配置了rime,在这里记录一下遇到的坑,供以后参考。
安装rime
1
|
sudo apt-get install ibus-rime
|
安装好以后,输入ibus-setup
添加rime。在这里可能会遇到“ModuleNotFoundError: No module named ‘gi’”的问题,是python版本的原因。sudo vim /usr/bin/ibus-setup
,将最后一行注释掉,并在结尾添加
1
|
exec python2 /usr/share/ibus/setup/main.py $@
|
保存后再执行ibus-setup
,应该就能打开ibus的设置界面了。点击Input Method
,添加Chinese - Rime
。在系统设置里面,找到语言相关设置,添加Rime,就可以正常输入了。
配置
rime的配置文件夹是~/.config/ibus/rime
,进入文件夹后可以看见相关的文件。使用vim新建文件default.custom.yaml
,我们修改的配置就放在这里,避免直接修改原来的配置文件default.yaml
,复制以下内容后保存。
1
2
3
4
5
6
7
8
9
10
|
patch:
ascii_composer:
good_old_caps_lock: true
switch_key:
Shift_L: commit_code
Shift_R: commit_code
Caps_Lock: clear
schema_list:
- schema: luna_pinyin_simp
- schema: wubi
|
这样,可以在中文模式下按shift以后切换为英文输入模式并上屏编码;并且在中文状态也可以自由切换英文大小写输入。此外,我们新添加了一个自己的输入方案:wubi。因为我自己的词库和官方的wubi86不同,于是干脆另外新建一个方案。现在我们要添加方案的配置文件和自己的词典。使用vim新建wubi.schema.yaml
输入以下内容。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
|
# Rime schema settings
# encoding: utf-8
schema:
schema_id: wubi
name: "五笔"
version: "0.20"
description: |
五筆字型定制版
碼表源自 ibus-table
敲 z 鍵進入拼音反查
dependencies:
- pinyin_simp
switches:
- name: ascii_mode
reset: 1
engine:
processors:
- ascii_composer
- recognizer
- key_binder
- speller
- punctuator
- selector
- navigator
- express_editor
segmentors:
- ascii_segmentor
- matcher
- abc_segmentor
- punct_segmentor
- fallback_segmentor
translators:
- punct_translator
- reverse_lookup_translator
- table_translator
speller:
delimiter: " ;'"
#max_code_length: 4
translator:
dictionary: wubi
enable_charset_filter: true
enable_sentence: true
enable_encoder: true
encode_commit_history: false
enable_user_dict: true
max_phrase_length: 4
disable_user_dict_for_patterns:
- "^z.*$"
reverse_lookup:
dictionary: pinyin_simp
prefix: "z"
suffix: "'"
tips: 〔拼音〕
preedit_format:
- xform/([nl])v/$1ü/
- xform/([nl])ue/$1üe/
- xform/([jqxy])v/$1u/
punctuator:
full_shape:
"$": {commit: "$"}
"\\": {commit: "、"}
half_shape:
"$": {commit: "$"}
"\\": {commit: "、"}
import_preset: default
key_binder:
import_preset: default
recognizer:
import_preset: default
patterns:
reverse_lookup: "^z[a-z]*'?$"
|
将自己的词典wubi.dict.yaml
复制到rime配置文件夹里,格式可以参考RimeWithSchemata · rime/home Wiki · GitHub,注意name
一项需要是wubi
。点击右上角的部署,按F4就可以选择刚刚自己配置的五笔方案了。
Rime默认的输入词条是纵向显示的,我想把他改成横向,这样比较符合我的输入习惯。命令行中输入ibus-setup
,在Gerneral中把Candidates orientation改成Horizontal,现在就可以愉快地打字啦!
-----------------分--界--线-------------------
前两天我把系统更新到了20.04,发现在ibus中更改横向不起作用了,查了后知道才这是一个bug。在配置文件夹中vim ibus_rime.yaml
新建文件,输入以下内容后保存:
1
2
|
style:
horizontal: true
|
然后再重新部署后就好了。