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

罗马字之道

罗马字,以拉丁字母的特定排列作为汉语音节的转写形式。一个音节代表一组同音字,再由音节拼写组合成词、句。

数据包

https://github.com/rime/plum

数据文件分布及作用 共享文件夹 Rime 输入法在查找一项资源的时候,会优先访问用户文件夹中的文件。 用户文件不存在时,再到共享文件夹中寻找。 用户文件夹

macos

日常使用

编译 rime_console

https://github.com/rime/librime/blob/master/README-mac.md

wwj718: rime_console 无法正常运行

rime_console.cc

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
  • 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

1
2
3
4
5
6
7
8
9
# 安装 yay
sudo pacman -S --needed git base-devel
git clone https://aur.archlinux.org/yay.git
cd yay
makepkg -si

yay -S visual-studio-code-bin

code --no-sandbox --disable-gpu

安装 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 绑定

pyrime

调试

linux gdb –args python -m pyrime

mac 下 lldb – python -m pyrime