文章目录
librime
rime 的生态很大
概念
IBus (“Intelligent Input Bus”) 是一个输入法框架,一个输入非英语字符的系统。
动态链接库的英文是 Dynamic Link Library,通常缩写为 DLL(Windows 系统用法)。 对于 C/C++ 库,头文件定义了库的接口,动态库本身只包含实现。 静态链接库更大, 完整包含依赖
学习使用 rime
Schema(输入法方案) = 一套完整的输入法规则和词库配置。 在 Rime 中,每个输入法方案(比如拼音、仓颉、五笔)都是一个 schema。 包含几个关键元素: 词库(dict.yaml) 汉字、词组和对应编码 输入规则(schema.yaml) 如何把按键转换为编码、分词规则、候选排序 个性化配置(default.custom.yaml) 用户对该 schema 的微调 用户词库(*.userdb) 用户添加的自定义词条
Rime 中的数据文件分布及作用 共享资料夹 用户资料夹
Schema.yaml 詳解 https://github.com/LEOYoon-Tsaw/Rime_collections/blob/master/Rime_description.md
教程: RimeWithSchemata
罗马字,以拉丁字母的特定排列作为汉语音节的转写形式。一个音节代表一组同音字,再由音节拼写组合成词、句。
数据包
数据文件分布及作用 共享文件夹 Rime 输入法在查找一项资源的时候,会优先访问用户文件夹中的文件。 用户文件不存在时,再到共享文件夹中寻找。 用户文件夹
macos
日常使用
编译 rime_console
https://github.com/rime/librime/blob/master/README-mac.md
arch linux
开发环境
支持 arm64 的arch linux docker 镜像: https://hub.docker.com/search?q=archlinux&architecture=arm64&sort=pull_count&order=desc 使用 ljmf00/archlinux:devel-20250630005339
-
ChatGPT: 我有一个docker arch linux, 如何使用vnc 进入它, vncserver 启动端口为8080
-
docker run -it -p 8080:5901 -p 9000:9000 --name arch-vnc ljmf00/archlinux:devel-20250630005339 /bin/bash -
pacman -Syu --noconfirm更新系统 -
pacman -Sy --noconfirm xfce4 xfce4-goodies -
pacman -S --noconfirm tigervnc -
docker 下的权限问题:
sed -i '/\[options\]/a DisableSandbox' /etc/pacman.conf -
使用macos代理
export https_proxy=http://192.168.1.16:7890 http_proxy=http://192.168.1.16:7890 all_proxy=socks5://192.168.1.16:7890
-
创建用户
- sudo useradd -m -G wheel -s /bin/bash alan
- sudo passwd alan
-
启动 vncserver
- vncpasswd
- wwjtest
- vncserver:1
- vncpasswd
-
-
chatgpt: arch linux 安装 ibus-rime
- ~/.bashrc export GTK_IM_MODULE=ibus export QT_IM_MODULE=ibus export XMODIFIERS=@im=ibus
- ibus-daemon -drx
- ibus-setup
vscode
|
|
安装 librime
pacman -S –noconfirm pkg-config librime
查看 librime 是否被 pkg-config 识别 pkg-config –list-all | grep rime
查看 librime 的版本 pkg-config –modversion rime
查看链接 librime 时需要的库 pkg-config –libs rime
macos 查看编译时需要的头文件路径 pkg-config –cflags rime -I/opt/homebrew/Cellar/librime/1.14.0/include rime_api.h rime_api_deprecated.h rime_api_stdbool.h rime_levers_api.h /Users/wwj718/Documents/Dynamicland/librime/dist/include
arch 在 /usr/include/
ls /usr/lib | grep rime ibus-rime librime.so librime.so.1 librime.so.1.16.1 rime-plugins
头文件 git clone https://github.com/rime/librime.git cd librime/include ls
macos 看依赖链 otool -L venv313/lib/python3.13/site-packages/pyrime/api.cpython-313-darwin.so venv313/lib/python3.13/site-packages/pyrime/api.cpython-313-darwin.so: /opt/homebrew/opt/librime/lib/librime.1.dylib (compatibility version 1.0.0, current version 1.14.0) /usr/lib/libSystem.B.dylib (compatibility version 1.0.0, current version 1319.100.3)
binding
rime 的 lua 绑定
https://github.com/rimeinn/rime.nvim
rime 的 python 绑定
调试
linux gdb –args python -m pyrime
mac 下 lldb – python -m pyrime
文章作者 种瓜
上次更新 0001-01-01