身边的人总是提到,为什么我上一秒提到的东西,马上就出现在了相关搜索中呢?一个很大的可能性就是你的输入法暴露了。有研究指出,目前市面上许多输入法都存在安全隐私漏洞。输入法作为我们平时用到最多的系统级应用,我不想自己的隐私被其泄露。所以,我寻找到了一款纯本地的全平台输入法——rime输入法。它的优势就是简洁、无广告、不联网,不过对应的缺点就是没有云输入,一些比较新的词不好打出来,还有就是配置比较麻烦。
然而,我们可以通过使用别人预先设计好的配置来缓解这个问题。我选择了雾凇拼音这个开源的方案来实现,它的优势就是自己维护了一套常用的词库,同时配置好了一些默认的输入的方案,我就在它的方案上进行优化,打造一套属于自己的输入体验。
由于我现在输入的方式是小鹤双拼,所以我的方案也全部是基于双拼打造的,全拼的话可以参考雾凇拼音的文档来配置。(在这强烈安利双拼的输入方式,学习成本不高但收益很高,能很大程度的改善你输入的体验👍)
基本配置
rime输入法通过.yaml
文件来管理配置,并支持以patch
的形式对其进行修改。所以,我们只需要编写*.custom.yaml
文件就可以在别人的框架上构建自己的输入法了。由于配置文件在全端都是通用的,这里就先介绍共同的配置,每个平台独立的配置在后面再介绍。
rime的配置入口是default.yaml
,所以我们先从它开始修改。创建default.custom.yaml
,并填入下面的内容:
1
2
3
4
5
6
7
| patch:
schema_list:
- schema: double_pinyin_flypy
- schema: rime_ice
menu/page_size: 7
ascii_composer/switch_key/Shift_L: commit_code
ascii_composer/switch_key/Shift_R: clear
|
我们首先选择了需要用到的两个方案double_pinyin_flypy
和rime_ice
,分别是小鹤双拼和全拼,这里加入全拼是避免别人使用我电脑时不会使用所预留的。menu/page_size
指定了候选词的个数,最后两个则是指定了左右Shift键的功能。
由于我们使用的是双拼,还需要修改“部件拆字”功能中的设置。创建radical_pinyin.custom.yaml
,填入下面的内容:
1
2
3
4
| patch:
# 修改为小鹤双拼的拼写派生规则,因为不在同一个文件了,前面要加上文件名
speller/algebra:
__include: radical_pinyin.schema.yaml:/algebra_flypy
|
同样,“拼写派生"功能也需要修改。创建melt_eng.custom.yaml
文件,填入下面的内容:
1
2
3
4
| patch:
# 修改为小鹤双拼的拼写派生规则,因为不在同一个文件了,前面要加上文件名
speller/algebra:
__include: melt_eng.schema.yaml:/algebra_flypy
|
这样就配置完成了,还是很简单的。
同步的话,我同样使用的是跨平台的软件rclone,如果要使用它,需要先配置好远端。
通过执行rclone config
并按照指示添加即可。之后,我分别介绍每个平台的具体配置和同步设置。
详细配置
Win
win下的客户端叫小狼毫,下载安装好后就可以进行配置了。配置目录为%APPDATA%\Rime
,我直接将里面的文件清空,然后使用git
将雾凇拼音的仓库整个克隆进来。接着将上面“基本配置”中提到的三个文件创建好。由于默认的皮肤我不是很喜欢,所以我找了一个微软拼音的皮肤来使用。
创建weasel.custom.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
| patch:
preset_color_schemes:
microsoft_sim:
name: 仿微软输入法
author: plutotree
back_color: 0xF4F4F4
border_color: 0xDCDCDC
text_color: 0x000000
hilited_text_color: 0xF4F4F4
hilited_back_color: 0xFFD8A6
hilited_candidate_text_color: 0x000000
hilited_candidate_back_color: 0xFFD8A6
candidate_text_color: 0x000000
comment_text_color: 0x888888
style:
color_scheme: microsoft_sim
label_format: "%s"
font_face: "微软雅黑"
font_point: 12
horizontal: true
inline_preedit: true
layout:
min_width: 140
min_height: 0
border_width: 1
border_height: 1
margin_x: 9
margin_y: 9
spacing: 9
candidate_spacing: 20
hilite_spacing: 7
hilite_padding: 8
round_corner: 0
|
接下来需要配置installation.yaml
,我们主要修改里面的installation_id
,这是同步文件夹中的名称,默认是一串UUID,但是这不方便我们同步,建议将其修改成便于操作的名称。
这样我们就配置好了rime输入法,接下来只需要将配置目录下的sync
文件夹同步就好了。
同步的工具rclone在之前已经设置好了,我这里编写了一个cmd脚本来自动执行备份任务。使用时记得修改本地和远端的地址:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
| @echo off
set rime_path="D:\Program Files (x86)\Rime\weasel-0.16.1\WeaselDeployer.exe"
set remote_path=a1:\rime_sync
set local_path=C:\Users\luobo\AppData\Roaming\Rime
set sync_path=%local_path%\sync
set device_name=lab-Win
echo 更新输入法词库
cd /d %local_path%
git pull
%rime_path% /deploy
echo 同步输入法词库中...
%rime_path% /sync
rclone sync %sync_path%\%device_name% %remote_path%\%device_name% -P
echo 下载远端词库
rclone sync %remote_path% %sync_path% -P --exclude %device_name%/**
|
Android
安卓端的应用是fcitx5-android,下载软件本体和rime插件后就可以进行配置了。安卓端的配置文件位于/sdcard/Android/data/org.fcitx.fcitx5.android/files/data/rime
,我们直接将电脑端的配置文件复制进去就可以了,需要注意的是,installation.yaml
里面的installation_id
要改成不同的值。
同步的话,rclone并没有官方的安卓客户端。不过,我们可以使用termux——一款运行于Android 系统的开源终端模拟器,并在里面安装rclone来使用。
下载并安装好后,首先进行换源:
1
2
| sed -i 's@^\(deb.*stable main\)$@#\1\ndeb https://mirrors.tuna.tsinghua.edu.cn/termux/apt/termux-main stable main@' $PREFIX/etc/apt/sources.list
apt update && apt upgrade
|
之后安装rclone
⚠由于安卓的安全性设置,普通应用是无权访问别的应用目录下的文件。所以,我们需要给予root权限(或者使用别的有权限的应用,我没有试过)
我这里同样是通过脚本来实现自动同步:
1
2
3
4
5
6
7
8
9
10
11
12
| #!/bin/sh
export PATH="/data/data/com.termux/files/usr/bin:$PATH"
CONFIG_PATH="/data/data/com.termux/files/home/.config/rclone/rclone.conf"
RIME_PATH="/sdcard/Android/data/org.fcitx.fcitx5.android/files/data/rime/sync"
REMOTE_PATH="a1:/rime_sync"
LOCAL_FOLDER="K50U-Android"
echo "download..."
rclone sync $REMOTE_PATH $RIME_PATH -P --exclude $LOCAL_FOLDER/** --config $CONFIG_PATH
echo "upload..."
rclone sync $RIME_PATH/$LOCAL_FOLDER $REMOTE_PATH/$LOCAL_FOLDER -P --config $CONFIG_PATH
|
这里由于我们是使用root身份来执行的,所以需要额外设置PATH
并手动指定配置文件的路径
体验
日常使用rime输入法已经有大半年了,测试下来与云输入法基本没有什么区别,一些比较新的词打一遍也能被词库学习到。配合上多端同步,使用还是非常方便的。此外,雾凇拼音还内置了一些便捷功能,例如:
- symbols:全拼
v
开头、双拼大写 V
开头 - 部件拆字的反查:
uU
开头,反查时前缀会消失影响打英文所以设定为两个字母,或可改成一个非字母符号。 - 部件拆字的辅码:` 触发。
- Unicode:大写
U
开头,如 U62fc
得到「拼」。 - 数字、金额大写:大写
R
开头,如 R1234
得到「一千二百三十四、壹仟贰佰叁拾肆元整」。 - 农历指定日期:大写
N
开头,如 N20240210
得到「二〇二四年正月初一」。
如果是比较在乎个人隐私的用户,我是比较推荐使用这样一款不联网的本地输入法的。
参考文献