安装 fcitx5 包组、rime 和 fcitx5 皮肤:
1
| yay -S fcitx5-im fcitx5-rime fcitx5-breeze
|
vim /etc/environment
并添加以下几行, 然后重新登录:
1
2
3
4
5
| GTK_IM_MODULE=fcitx
QT_IM_MODULE=fcitx
XMODIFIERS=@im=fcitx
SDL_IM_MODULE=fcitx
GLFW_IM_MODULE=ibus
|
由于 原版 停更已久, 推荐使用其他作者 二次开发版本, 支持更多特性。
但是注意, 这个二次开发版本, 要从该仓库的 GitHub Action 构建中下载, 因为作者说不发 Release 了。
刚开始用 Rime 的时候, 跟着文档做自定义配置, 了解了各个配置文件的作用, 后来发现 Rime 实在是太复杂, 与其自定义, 不如直接用大佬的方案: 雾凇拼音。
Linux 中创建个人配置文件夹:
1
| mkdir ~/.local/share/fcitx5/rime/
|
Windows 中自动创建, 路径为 C:/Users/Username/AppData/Roaming/Rime/
。
将 雾凇拼音 的所有文件复制到个人配置文件夹中, 重新部署 Rime 以使配置生效。如果使用图形界面, 右击托盘中的 Rime, 点击 ⟲ (重新部署) 按钮。
squirrel.yaml
是鼠须管的皮肤配置文件, 用不到直接删了。
注意
以 Arch 为例, 按照文档来, 简单的自定义配置就是这样了。
仅作参考, 推荐直接使用 雾凇拼音。
创建个人配置文件夹:
1
| mkdir ~/.local/share/fcitx5/rime/
|
在该文件夹中创建 default.custom.yaml
文件, 以指定可选的输入法。例如添加下列内容以使用朙月拼音 (luna_pinyin) :
1
2
3
4
| patch:
"menu/page_size": 9 # 9个候选词
schema_list:
- schema: luna_pinyin
|
添加内容时注意行首缩进。此文件会覆盖默认的配置文件, 若只在文件中添加朙月拼音, 则只能用朙月拼音。
重新部署 Rime 以使配置生效。如果使用图形界面, 右击托盘中的 Rime, 点击 ⟲ (重新部署) 按钮。
使用 Rime 时, 默认可以按 F4
或 Ctrl+`
切换输入法。
安装 中文维基百科词库 和 萌娘百科词库 为例:
1
| yay -S rime-pinyin-zhwiki fcitx5-pinyin-moegirl-rime
|
提示
可以将自定义词库文件放入 ~/.local/share/fcitx5/rime/
, 文件名(filename.dict.yaml)应与词库名统一。
编辑用于朙月拼音的自定义配置文件:
1
| vim ~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml
|
指定词库配置文件:
1
2
3
4
| # encoding: utf-8
patch:
"translator/dictionary": luna_pinyin.extended # 词库名字可自定义,与文件名保持一致即可
|
编辑用于朙月拼音的词库配置文件:
1
| vim ~/.local/share/fcitx5/rime/luna_pinyin.extended.dict.yaml
|
指定具体的词库以及其他配置:
1
2
3
4
5
6
7
8
9
10
11
| # encoding: utf-8
---
name: luna_pinyin.extended
version: "2023.04.03"
sort: by_weight # 字典初始排序, 可選original或by_weight
use_preset_vocabulary: false # 是否启用默认的“八股文”词库及词频系统
import_tables:
- zhwiki
- moegirl
|
从 rime-emoji 下载 opencc 文件夹, 放入用户配置文件夹 ~/.local/share/fcitx5/rime/
中。
将 emoji_suggestion.yaml
中的内容写入用于朙月拼音的自定义配置文件中:
1
| vim ~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml
|
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
| # encoding: utf-8
patch:
"translator/dictionary": luna_pinyin.extended
switches/@next:
name: emoji_suggestion
reset: 1
states: [ "🈚︎", "🈶️" ]
'engine/filters/@before 0':
simplifier@emoji_suggestion
emoji_suggestion:
opencc_config: emoji.json
option_name: emoji_suggestion
tips: none
inherit_comment: false
|
编辑 ~/.local/share/fcitx5/rime/custom_phrase.txt
,
注意
使用 UTF-8
编码。
各字段以制表符 Tab
分隔, 注意不要被编辑器自动替换为了 空格
。
字段顺序为: 文字、编码、权重 (可选) 。
例如:
1
2
3
| 中州韻輸入法引擎 rime 2
http://rime.im/ rime 1
Rime rime 3
|
提示
虽然文本码表编辑较为方便, 但不适合导入大量条目。可以自定义词库文件来实现这一目的。
因为 Linux 中, Rime 的前端是通过 Fcitx5 或者 IBus 来实现的, 没法像 Windows 和 macOS 那样使用 YAML 文件来自定义皮肤, 但是可以使用桌面环境自带的配置界面来自定义, 比如在 KDE 的“设置->语言和区域设置->输入法->配置附加组件->经典用户界面->主题”中选择主题, 或者点击右边的齿轮进行自定义。
自带的 KDE Plasma (实验性)
是一款亮色主题, 圆角和高亮还比较耐看, 下面是我改的 暗色微风
主题, 直接覆盖 ~/.local/share/fcitx5/themes/breeze-dark/theme.conf
;
或者在 ~/.local/share/fcitx5/themes/
创建一个文件夹, 将内容写入文件夹下的 theme.conf
, 再改改名字, 嗯, 新主题。
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
| [Metadata]
# 名称
Name="Breeze Dark"
Name[zh_CN]=暗色微风
# 版本
Version=1
# 作者
Author=Scratcher
# 描述
Description="Fcitx5 theme matching KDE's breeze style, dark varient."
Description[zh_CN]=与KDE微风主题相配套的Fcitx5主题, 暗色版本。
[InputPanel]
# 一般文字颜色
NormalColor=#ffffff
# 高亮候选词颜色
HighlightCandidateColor=#d1d1d1
# KWin 下启用模糊
EnableBlur=False
# 模糊遮罩
BlurMask=mask.png
# 竖排列表时使用所有横向空间高亮
FullWidthHighlight=True
# 高亮文字颜色
HighlightColor=#000000
# 高亮背景颜色
HighlightBackgroundColor=#ff0004
[InputPanel/BlurMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[InputPanel/Background]
# 背景图片
Image=panel.png
# 颜色
Color=#ff0004
# 边框颜色
BorderColor=#ffffff00
# 边框宽度
BorderWidth=0
# 覆盖图片
Overlay=
# 覆盖图片位置
Gravity="Top Left"
# 覆盖图片 X 偏移
OverlayOffsetX=0
# 覆盖图片 Y 偏移
OverlayOffsetY=0
# 显示区域不足时隐藏覆盖图片
HideOverlayIfOversize=False
[InputPanel/Background/Margin]
# 左侧边距
Left=20
# 右侧边距
Right=20
# 顶部边距
Top=20
# 底部边距
Bottom=20
[InputPanel/Background/OverlayClipMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[InputPanel/Highlight]
# 背景图片
Image=
# 颜色
Color=#3e3e3e
# 边框颜色
BorderColor=#ffffff00
# 边框宽度
BorderWidth=0
# 覆盖图片
Overlay=
# 覆盖图片位置
Gravity="Top Left"
# 覆盖图片 X 偏移
OverlayOffsetX=0
# 覆盖图片 Y 偏移
OverlayOffsetY=0
# 显示区域不足时隐藏覆盖图片
HideOverlayIfOversize=False
[InputPanel/Highlight/Margin]
# 左侧边距
Left=8
# 右侧边距
Right=8
# 顶部边距
Top=4
# 底部边距
Bottom=4
[InputPanel/Highlight/OverlayClipMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[InputPanel/Highlight/HighlightClickMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[InputPanel/ContentMargin]
# 左侧边距
Left=20
# 右侧边距
Right=20
# 顶部边距
Top=15
# 底部边距
Bottom=15
[InputPanel/TextMargin]
# 左侧边距
Left=5
# 右侧边距
Right=5
# 顶部边距
Top=5
# 底部边距
Bottom=5
[InputPanel/PrevPage]
# 图片
Image=prev.png
[InputPanel/PrevPage/ClickMargin]
# 左侧边距
Left=5
# 右侧边距
Right=5
# 顶部边距
Top=4
# 底部边距
Bottom=4
[InputPanel/NextPage]
# 图片
Image=next.png
[InputPanel/NextPage/ClickMargin]
# 左侧边距
Left=5
# 右侧边距
Right=5
# 顶部边距
Top=4
# 底部边距
Bottom=4
[InputPanel/ShadowMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=10
# 底部边距
Bottom=10
[Menu]
# 一般文字颜色
NormalColor=#000000
# 高亮候选词颜色
HighlightCandidateColor=#ffffff
# 间隔
Spacing=2
[Menu/Background]
# 背景图片
Image=panel.png
# 颜色
Color=#ffffff
# 边框颜色
BorderColor=#ffffff00
# 边框宽度
BorderWidth=0
# 覆盖图片
Overlay=
# 覆盖图片位置
Gravity="Top Left"
# 覆盖图片 X 偏移
OverlayOffsetX=0
# 覆盖图片 Y 偏移
OverlayOffsetY=0
# 显示区域不足时隐藏覆盖图片
HideOverlayIfOversize=False
[Menu/Background/Margin]
# 左侧边距
Left=11
# 右侧边距
Right=11
# 顶部边距
Top=11
# 底部边距
Bottom=11
[Menu/Background/OverlayClipMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[Menu/Highlight]
# 背景图片
Image=highlight.png
# 颜色
Color=#ffffff
# 边框颜色
BorderColor=#ffffff00
# 边框宽度
BorderWidth=0
# 覆盖图片
Overlay=
# 覆盖图片位置
Gravity="Top Left"
# 覆盖图片 X 偏移
OverlayOffsetX=0
# 覆盖图片 Y 偏移
OverlayOffsetY=0
# 显示区域不足时隐藏覆盖图片
HideOverlayIfOversize=False
[Menu/Highlight/Margin]
# 左侧边距
Left=5
# 右侧边距
Right=5
# 顶部边距
Top=5
# 底部边距
Bottom=5
[Menu/Highlight/OverlayClipMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[Menu/Separator]
# 背景图片
Image=line.png
# 颜色
Color=#c0c0c0
# 边框颜色
BorderColor=#ffffff00
# 边框宽度
BorderWidth=0
# 覆盖图片
Overlay=
# 覆盖图片位置
Gravity="Top Left"
# 覆盖图片 X 偏移
OverlayOffsetX=0
# 覆盖图片 Y 偏移
OverlayOffsetY=0
# 显示区域不足时隐藏覆盖图片
HideOverlayIfOversize=False
[Menu/Separator/Margin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[Menu/Separator/OverlayClipMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[Menu/CheckBox]
# 背景图片
Image=radio.png
# 颜色
Color=#ffffff
# 边框颜色
BorderColor=#ffffff00
# 边框宽度
BorderWidth=0
# 覆盖图片
Overlay=
# 覆盖图片位置
Gravity="Top Left"
# 覆盖图片 X 偏移
OverlayOffsetX=0
# 覆盖图片 Y 偏移
OverlayOffsetY=0
# 显示区域不足时隐藏覆盖图片
HideOverlayIfOversize=False
[Menu/CheckBox/Margin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[Menu/CheckBox/OverlayClipMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[Menu/SubMenu]
# 背景图片
Image=arrow.png
# 颜色
Color=#ffffff
# 边框颜色
BorderColor=#ffffff00
# 边框宽度
BorderWidth=0
# 覆盖图片
Overlay=
# 覆盖图片位置
Gravity="Top Left"
# 覆盖图片 X 偏移
OverlayOffsetX=0
# 覆盖图片 Y 偏移
OverlayOffsetY=0
# 显示区域不足时隐藏覆盖图片
HideOverlayIfOversize=False
[Menu/SubMenu/Margin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[Menu/SubMenu/OverlayClipMargin]
# 左侧边距
Left=0
# 右侧边距
Right=0
# 顶部边距
Top=0
# 底部边距
Bottom=0
[Menu/ContentMargin]
# 左侧边距
Left=11
# 右侧边距
Right=11
# 顶部边距
Top=11
# 底部边距
Bottom=11
[Menu/TextMargin]
# 左侧边距
Left=6
# 右侧边距
Right=6
# 顶部边距
Top=6
# 底部边距
Bottom=6
|
我模仿 Win11 的输入法样式自定义了亮色和暗色皮肤, 使用该配置要注意自己的字体文件, 最好安装适用于 Windows 的 Noto Color Emoji, 不然候选项中不显示国旗。虽然 Windows 中不支持显示国旗, 但在输入法中显示多少算个安慰。
将以下文件保存为 styles.yaml
, 放入个人配置文件夹 C:/Users/Username/AppData/Roaming/Rime/
中。
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
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
| patch:
__include: my_color_schemes
__include: font_face_settings
__include: font_size_settings
__include: win11 # 使用本文件最后面自定义的 Win 11 方案
style/use_argb_value: true # 支持 argb
# __include: _vertical_text # 取消注释即启用竖排文本
style/mark_text: "|" # 在候选项左侧显示标记, 模仿 Win 11 样式
#style/capture_by_click: true # 捕获功能, 通过单击“候选窗口/高亮的候选”
style/layout/max_width: 800 # 水平布局的最大窗口宽度, 设置 0 可禁用最大宽度; 如果长度过长, 则为候选者设置多行
style/layout/max_height: 400 # 带换行的竖排文本布局的最大窗口高度, 设置 0 可禁用最大高度
my_color_schemes:
preset_color_schemes/win11light:
name: "Win11 亮色 / Win11 Light"
# color format, argb: 0xaarrggbb; rgba: 0xrrggbbaa。也可以使用 argb
color_format: rgba
border_color: 0xF9F9F9FF # 整体外边框颜色
back_color: 0xF9F9F9FF # 整体底色
hilited_candidate_back_color: 0xF0F0F0FF # 选中项整体底色
# hilited_candidate_border_color: 0xF0F0F0FF # 选中项整体外边框颜色
# candidate_back_color: 0xF9F9F9FF # 候选项整体底色
# hilited_back_color: 0xF0F0F0FF # 选中拼音底色 (inline_preedit: false)
hilited_text_color: 0x0067C0FF # 选中拼音颜色 (inline_preedit: false)
hilited_label_color: 0x505050FF # 选中序号颜色
hilited_candidate_text_color: 0x505050FF # 选中文字颜色
hilited_comment_text_color: 0x505050FF # 选中注音颜色
hilited_mark_color: 0x0067C0FF # 标记颜色
text_color: 0x000000FF # 拼音颜色 (inline_preedit: false)
label_color: 0x000000FF # 序号颜色
candidate_text_color: 0x000000FF # 文字颜色
comment_text_color: 0x000000FF # 注音颜色
shadow_color: 0x2C2C2CFF # 阴影颜色
preset_color_schemes/win11dark:
name: "Win11 暗色 / Win11 Dark"
# color format, argb: 0xaarrggbb; rgba: 0xrrggbbaa
color_format: rgba # 也可以使用 argb
border_color: 0x2C2C2CFF # 整体外边框颜色
back_color: 0x2C2C2CFF # 整体底色
hilited_candidate_back_color: 0x383838FF # 选中项整体底色
# hilited_candidate_border_color: 0x383838FF # 选中项整体外边框颜色
# candidate_back_color: 0x2C2C2CFF # 候选项整体底色
# hilited_back_color: 0x383838FF # 选中拼音底色 (inline_preedit: false)
hilited_text_color: 0x4CC2FFFF # 选中拼音颜色 (inline_preedit: false)
hilited_label_color: 0xDEDEDEFF # 选中序号颜色
hilited_candidate_text_color: 0xDEDEDEFF # 选中文字颜色
hilited_comment_text_color: 0xDEDEDEFF # 选中注音颜色
hilited_mark_color: 0x4CC2FFFF # 标记颜色
text_color: 0xFFFFFFFF # 拼音颜色 (inline_preedit: false)
label_color: 0xFFFFFFFF # 序号颜色
candidate_text_color: 0xFFFFFFFF # 文字颜色
comment_text_color: 0xFFFFFFFF # 注音颜色
shadow_color: 0x2C2C2CFF # 阴影颜色
font_size_settings:
style/font_point: 12
style/label_font_point: 12
style/comment_font_point: 12
# 所有字体都可以通过设置范围来设置;
# 在逗号和冒号周围加上空格都可以;
# 每个字体集合单元的第一个必须是字体名称;
# 起始码点必须在最后码点之前, 使用十六进制;
# 如果要定义起始和结束点, 可以这样做: fontname: start_code_point: end_code_point;
# 如果只定义起始码点, 可以这样做: fontname: start_code_point;
# 如果只定义结束码点, 可以这样做: fontname:: end_code_point;
# 字体的粗细和样式必须在第一个字体集合单元中设置, 使用[: weight_set] [:style_set];
# 字体的粗细可以是以下内容, 大小写不敏感: thin、extra_light、ultra_light、light、semi_light、medium、demi_bold、semi_bold、bold、extra_bold、ultra_bold、black、heavy、extra_black、ultra_black、normal
# 字体的样式可以是以下内容, 大小写不敏感: italic、oblique、normal
# 在一些符号字体之后设置主字体, 以确保符号在正确的字体中显示。如果要指定符号字体, 则需要在 font_face_settings 中添加字体设置
font_face_settings:
# 普通文字字体
style/font_face: "Segoe UI Emoji:20:39, Segoe UI Emoji:1f51f:1f51f, Noto Color Emoji:80, Segoe UI Emoji:80, Sarasa UI SC, Microsoft Yahei"
style/label_font_face: "Sarasa UI SC, Microsoft Yahei" # 序号字体
style/comment_font_face: "Sarasa UI SC, Microsoft Yahei" # 注音字体
_vertical_text:
style/vertical_text: true # 设置 true 以使用竖排文本布局, 古代书籍的排版
style/vertical_text_with_wrap: false # 竖排文本布局, 具有换行整体候选功能, 生效前提: style/vertical_text: true 且 style/layout/max_height: not_zero_value
style/vertical_text_left_to_right: false # 竖排文本布局的流向设置
style/layout/max_height: 0
_vertical_text_wrap:
__include: _vertical_text
style/vertical_text_with_wrap: true
style/layout/max_height: 600
win11:
# style/blur_window: true # 仅支持 Win 10 or Win 11 (build number <= 22000), 其余未测试; 另外要求外阴影透明, 关键背景色 alpha 不大于 7f
style/horizontal: false # 行文向: 横 horizontal | 纵 vertical
style/inline_preedit: false # 拼音位于: 候选框 false | 输入框内 true
# color_scheme settings
style/color_scheme: win11light
style/color_scheme_dark: win11dark
#style/preedit_type: preview_all # composition
# layout settings
style/layout/align_type: center # 选项: top, center, bottom
style/layout/min_height: 0
style/layout/border: 0 # 边框粗细
style/layout/spacing: 20 # 拼音与候选项的间距(inline_preedit: false)
style/layout/candidate_spacing: 15 # 候选项间距
style/layout/shadow_radius: 3 # 阴影半径。设置 0 可以禁用阴影功能
# 如果 shadow_offset_x 和 shadow_ooffset_y 都为 0, 则为圆形阴影。负片向左投阴影。
style/layout/shadow_offset_x: 2 # 阴影边缘横向轮廓
style/layout/shadow_offset_y: 2 # 阴影边缘竖向轮廓
style/layout/hilite_padding: 5 # 选中项的填充(高亮面积)
style/layout/hilite_spacing: 5 # 序号与候选词间距
style/layout/margin_x: 13 # 整体的横向外边距
style/layout/margin_y: 13 # 整体的竖向外边距
style/layout/round_corner: 10 # 选中项高亮的圆角半径
style/layout/corner_radius: 10 # 整体的圆角半径
|
右击托盘中的 Rime, 点击重新部署; 再点击“输入法设定”, 先选择输入方案, 再选择相应的皮肤。