3 个版本 (破坏性更新)
0.3.0 | 2023年1月13日 |
---|---|
0.2.0 | 2022年2月15日 |
0.1.0 | 2022年2月5日 |
#1475 in 命令行工具
70KB
2K SLoC
libime-history-merge
libime-history-merge
是一个简单的 CLI 工具,用于检查、合并和编辑来自多台机器的 libime 拼音历史记录。
用法
检查您的历史数据
您的 fcitx5 拼音输入法历史记录通常位于 ~/.local/share/fcitx5/pinyin/user.history
。要检查它,将路径提供给 libime-history-merge
$ libime-history-merge ~/.local/share/fcitx5/pinyin/user.history
将为您调用分页器以检查您的输入历史记录的纯文本,传递 -n|--no-pager
标志或重定向输出将抑制分页器。
注意
您可以通过将其与
libime
提供的libime_history
工具进行比较来检查转储的纯文本历史数据的完整性。$ libime_history ~/.local/share/fcitx5/pinyin/user.history >/tmp/text1 $ libime-history-merge ~/.local/share/fcitx5/pinyin/user.history >/tmp/text2 $ diff /tmp/text1 /tmp/text2 && echo $? 0
从纯文本编译
libime-history-merge
能够将纯文本文件编译成历史 blob。一个示例
$ # Dump the history content as plain text to ./history.txt
$ cp ~/.local/share/fcitx5/pinyin/user.history original.history
$ libime-history-merge original.history >history.txt
$
$ # Show the history content in plain text
$ cat history.txt
$
$ # Compile the plain-text history back to the binary form and save as ./history.bin
$ libime-history-merge history.txt -o compiled.history
$
$ # Check integrity
$ diff original.history compiled.history && echo $?
0
编辑您的历史数据
libime-history-merge
还允许您编辑历史条目。要达到此目的,只需提供 -e|--edit
标志
$ libime-history-merge user.history --edit --output ./out.history
将打开一个编辑器(可能由 VISUAL
或 EDITOR
环境变量指定),其中包含纯文本格式的历史内容。然后可以删除/插入历史条目。在保存并退出编辑器后,libime-history-merge
将将纯文本历史记录编译回与 libime
兼容的格式,并将其保存到指定的输出路径(在这种情况下为 ./out.history
)。
从多台机器合并历史数据
平衡合并
通过传递 -o|--output
选项指定保存路径
$ libime-history-merge \
machine1.history machine2.history machine3.history \
-o merged.history
$ libime-history-merge merged.history # Inspect the merged history
libime-history-merge
将会均匀混合输入历史记录。
加权合并
也可以通过传递权重的方式实现加权合并,使用 -w|--weights
选项
$ libime-history-merge \
A.history B.history C.history \
-w 2,5,3 \
-o merged.history
$ libime-history-merge merged.history # Inspect the merged history
libime-history-merge
将按照指定的优先级混合输入历史记录,在这种情况下,合并历史记录的前10条条目将是
B[0]
C[0]
B[0]
C[0]
A[0]
B[1]
C[1]
B[1]
C[1]
A[1]
其中 X[k]
表示从 X.history
中获取的第k条条目。
注意
前一个示例中的平衡合并等价于为每个输入历史记录指定相同的权重,例如
-w 3,3,3
。
依赖项
~7-17MB
~226K SLoC