Fcitx5 (简体中文) - ArchWiki

Jump to content

相关文章

- Fcitx
- IBus

Fcitx5 是一个输入法框架，它具有轻量级内核，并通过 addon 提供额外的语言支持。Fcitx5 接替 Fcitx。

## 安装

安装 fcitx5 软件包。

fcitx5-im 包组提供 fcitx5 本体、#配置工具和必要的#输入法模块。

Note: fcitx5 仅提供基本框架，且仅支持英文。如果要输入其他语言（例如中文或日文），则需要安装输入法引擎（IME）。

### 中文

- fcitx5-chewing 是流行的繁体中文注音输入引擎，它基于 libchewing。
- fcitx5-chinese-addons 包含与中文相关的 addon，例如拼音、双拼和五笔。
- fcitx5-rime 使用 Rime 引擎。
- fcitx5-mcbopomofo-gitAUR McBopomofo 支持。

### 日文

- fcitx5-anthy 是流行的日文输入引擎。但是，它已不再受到积极开发。
- fcitx5-kkc 是日文假名输入引擎，它基于 libkkc。
- fcitx5-mozc 基于 Mozc（Google 日文输入法的开源版本）。
- fcitx5-skk 是日文假名输入引擎，它基于 libskk。

### 其他语言

- fcitx5-hangul 用于输入韩文，基于 libhangul。
- fcitx5-unikey 或 fcitx5-bamboo-gitAUR 可用于输入越南语字符。
- fcitx5-m17n 或 fcitx5-table-other 可用于各种语言。使用后者输入 IPA（X-SAMPA）。

### 输入法模块

要获取更好的体验，你可以根据需要安装以下模块。即使不安装，输入法在大部分的应用程序中仍可能正常工作，但你可能会遇到输入法挂起、预览窗口位置错误或没有预览的问题。

- 对于 Qt 程序，安装 fcitx5-qt。
- 对于 GTK 程序，安装 fcitx5-gtk。
- 对于 Qt4 程序，安装 fcitx5-qt4-gitAUR。
- 对于 Qt5 程序，安装 fcitx5-qt5-gitAUR。
- 对于 Qt6 程序，安装 fcitx5-qt6-gitAUR。
- 对于日期和时间支持，安装 fcitx5-lua。

提示： 通常，只需安装 fcitx5-qt 和 fcitx5-gtk 就足够了。

## 使用

### 集成

编辑 `/etc/environment` 并添加以下几行，然后重新登录[1]：

    GTK_IM_MODULE=fcitx
    QT_IM_MODULE=fcitx
    XMODIFIERS=@im=fcitx
    SDL_IM_MODULE=fcitx
    GLFW_IM_MODULE=ibus

如果使用 en_US.UTF-8 时，遇到 GTK2 无法激活 fcitx5，可专门为该 GTK2 应用程序设置输入法为 xim，如

    $ env GTK_IM_MODULE=xim <your_gtk2_application>

请勿将 `GTK_IM_MODULE` 全局设置为 xim，因为它也会影响 GTK3 程序。XIM 有各种问题（比如输入法重启之后再无法输入），尽可能不要使用。

注意：

- SDL_IM_MODULE 是为了让一些使用特定版本 SDL2 库的游戏能正常使用输入法。
- GLFW_IM_MODULE 是为了让 kitty 启用输入法支持。此环境变量的值只能为 ibus。

### 随桌面环境自动启动

注意：

- 如果您使用的桌面环境是兼容 XDG 的（例如 KDE、GNOME、Xfce、LXDE等），则 无需 此步骤。
- 如果使用i3、awesome等窗口管理器，需要在其脚本中添加 Fcitx5 以实现自启动。例如，如果您使用 i3 或 sway ,可以在配置文件中添加`exec --no-startup-id fcitx5 -d`
- 如果使用dwm，则需要添加 autostart 补丁。在 `~/.dwm/autostart.sh` 中添加`fcitx5 -d`

想要 fcitx5 开机自启，执行

    $ cp /usr/share/applications/org.fcitx.Fcitx5.desktop ~/.config/autostart/

### 词库

对于 Fcitx5 的中文输入法, 目前在仓库里提供了数个词库：

- fcitx5-pinyin-zhwiki：felixonmars 根据中文维基百科创建的词库。适用于 拼音输入法
- fcitx5-pinyin-sougouAUR[损坏的链接：package not found]：适用于拼音输入法的搜狗词库
- fcitx5-pinyin-zhwiki-rimeAUR：适用于 Rime 输入法的词库
- fcitx5-pinyin-moegirl-rimeAUR：适用于 Rime 输入法的词库
- cedict:从 cedict辞典 导出的词库。
- moegirl： outloudvi 根据萌娘百科创建的词库

注意： 手动下载的词典文件直接放到 ~/.local/share/fcitx5/pinyin/dictionaries 路径下即可。词典文件的后缀名应当为 .dict

### 自定义词库

一般而言,由于 fcitx5 支持 导入搜狗词库，因此很大程度上不需要自定义词库，但是 fcitx5 依然提供了相关工具。

- 安装 libime

原始词库文件是一个文本文件，其格式为： `汉字 拼音 频率`

在得到原始词库文件后，调用 `libime_pinyindict "词库文件.txt" "词库文件.dict"` 即可。

自定义词库文件放置在 `~/.local/share/fcitx5/pinyin/dictionaries`

注意： 以下内容或许能提供帮助：

- 汉字转拼音
- 简繁转换

## 配置

### 配置工具

fcitx5 的配置文件位于 `~/.config/fcitx5`，尽管您可以使用文本编辑器编辑配置文件，但是使用 GUI 配置显然更方便。安装 fcitx5-configtool 软件包。

### 主题和外观

#### 主题

仓库内的主题数量有限，如果需要更多主题，可以去 GitHub 发现更多主题。

- fcitx5-breezeAUR：提供了与KDE默认的Breeze主题匹配的外观。
- fcitx5-nord ：Nord颜色 的主题
- fcitx5-material-color：提供了类似微软拼音的外观。
- fcitx5-solarizedAUR：Solarized颜色 主题
- fcitx5-skin-fluentdark-gitAUR：具有模糊效果和阴影的 Fluent-Design 深色主题

然后前往 `Fcitx5设置 -> 配置附加组件 -> 经典用户界面 -> 主题` 设置主题。

注意： 如果您在 GNOME 环境下使用了 gnome-shell-extension-kimpanel-gitAUR，那么主题设置对于 Fcitx5 不起作用。[2]

#### 设置单行模式

在拼音输入法（或者 Rime 输入法）的设置中，启用“ 在程序中显示预编辑文本 ”即可启用单行模式

## 故障处理

### 诊断问题

当你遇到任何 Fcitx 5 有关的问题，比如 Ctrl+Space 快捷键在有的程序中不能工作，首先应该用 `fcitx5-diagnose` 命令诊断问题的原因。 `fcitx5-diagnose` 会列出所有 Fcitx 5 正常运行所需的前提条件，从输出结果中通常可以找到问题的原因。

### 部分应用中 Fcitx 5 的单行默认无效

1. 如果是 Firefox 等 gtk 应用中单行模式不生效，请安装 fcitx5-gtk

2. 在 WPS 和 Sublime 中单行模式无效，这是 WPS 和 Sublime 自身的问题，而不是 fcitx5 的问题。[3]

### WPS 无法正常呼出输入法

请参阅 WPS Office (简体中文)#Fcitx5 无法输入中文。

### IntelliJ 系列软件的 IDE 中输入框位置不正确

此问题的根本原因是 IDE 附带的 JBR 不正确，要处理此问题，需要：

1. 前往 https://github.com/RikudouPatrickstar/JetBrainsRuntime-for-Linux-x64/releases 下载 jbr 并解压到任意路径

2. 按照 此指导 更改 IDE 的 JBR

### Emoji 在候选框中无法正常显示

1. 首先确保电脑上已经安装了带有 Emoji 的字体（例如 noto-fonts-emoji）。

2. 将字体设置为 `Noto Sans CJK SC`

3. 运行以下命令来 重启 Fcitx5

    $ kill `ps -A | grep fcitx5 | awk '{print $1}'` && fcitx5&

### 网易云音乐无法调出输入法

有两种方法：

- 安装 netease-cloud-music-imfixAUR[损坏的链接：package not found]
- 安装 flatpak 版本的 网易云音乐

### RStudio 中无法调出输入法

运行以下命令：

    $ strings /usr/lib/rstudio/lib/libQt5Core.so.5 | grep "Qt 5"

找出 Qt 库的版本，使用该版本重新编译 fcitx5-qt 中的 `libfcitx5platforminputcontextplugin.so` ，再放到 `/usr/lib/rstudio/plugins/platforminputcontexts/` 目录中。

如果使用的是 rstudio-desktop-binAUR ，可直接安装 rstudio-fcitx5AUR 。

### 在 Steam 和 Dota2 中无法使用

事实上，Fcitx5 能够在 Steam 大屏模式和 Dota2 中使用。但是需要使用 Ctrl + Space 激活输入法而不是 Ctrl + Shift [4]

## 提示和技巧

### 如何查看选中字体的 Unicode 编码

- 如果你需要查看文本编辑器中选中文字的 Unicode 编码，那么直接选中文字，然后使用快捷键 `ctrl + alt + shift + u` 可以查看选中文字的编码

- 如果你需要查看非编辑区域（比如本 wiki）中文字的 Unicode 编码，那么需要首先将该段文字复制到剪贴板，然后点击任意一个可编辑区域（比如搜索框），然后使用快捷键 `ctrl + alt + shift + u` 可以查看剪贴板中文字的编码

### 通过 Fcitx5 输入特殊字符

要输入特殊符号，有两种方式：

- 使用撰写键 或 自定义撰写键
- 使用 Fcitx5 的组合功能：

以 `①` 为例：

将光标定位到任意一个输入框内，然后按下 `Ctrl + Alt + Shift + U`，然后输入 `circle one`，您将会看到多种形式的 `①`。alpha, beta, sigma 等同理。

### 在 vim 中自动切换输入法

追加代码：[5][6]

    ~/.vimrc

    let fcitx5state=system("fcitx5-remote")
    autocmd InsertLeave * :silent let fcitx5state=system("fcitx5-remote")[0] | silent !fcitx5-remote -c " 退出插入模式时禁用输入法，并保存状态
    autocmd InsertEnter * :silent if fcitx5state == 2 | call system("fcitx5-remote -o") | endif " 2 表示之前状态打开了输入法，则进入插入模式时启动输入法

如果使用的是 neovim ，则追加上述代码到 `~/.config/nvim/init.vim`

注意： 如果您在 vim.cmd 中添加此代码，可能需要将注释去掉

### 拼音输入法

注意： 以下功能只对 fcitx5-chinese-addons 中的拼音输入法有效，其他输入法请自行探索。

#### 导入搜狗词库

- 对于 KDE 用户来说，可以通过 `设置 -> 区域设置 -> 输入法 -> 拼音 -> 词典 -> 导入` 来导入搜狗词库

- 对于使用 fcitx5-configtool 的用户来说，需要手动打开 “Fcitx5 配置” 这个软件，并在拼音输入法中手动配置。

既可以导入本地词库也可以在线浏览词库并自动导入

#### 云拼音

在拼音输入法的设置页面，你可以启用云拼音。但是如果你需要更改云拼音默认的后端，则需要在 fcitx5 的全局设置里进行更改。提供的后端有 `Google`, `Baidu`, `GoogleCN`

#### 笔画过滤

在设置的拼音输入法的“笔画过滤”后设置快捷键（默认为 ```） 然后在输入文字后，按下快捷键，输入法的候选框将会出现 笔画过滤字样，可以对词语进行笔画过滤，具体规则为：h 横、s 竖、p 撇、n 捺、z 折

默认情况下，笔画过滤是对一个句子的第一个字进行筛选，但是使用以词定字可以在一个句子之间的不同字之间进行切换。

例如对句子“中华人民共和国”中的第三个字进行笔画筛选，你可以在启用笔画过滤后连续按两次 `]` 让 fcitx5 对其进行笔画过滤。

注意： 默认情况下，以词定字的快捷键为 `[` 和 `]`，该快捷键在拼音输入法的设置中可以查看

### RIME/中州韻

提示： 所有更改皆需重新部署方可生效

#### 导入词库

以导入词库fcitx5-pinyin-zhwiki-rimeAUR和fcitx5-pinyin-moegirl-rimeAUR为例.

提示： 将自定义词库放入`~/.local/share/fcitx5/rime/`亦可,文件名(文件名.dict.yaml)应与词库名统一(词库格式)

1.更改`~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml`文件(以`luna_pinyin`为例,其余输入方案修改方案名即可)

    ~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml

    # 文件中“patch:”应只存在一个,若已存在只需粘贴后面的代码
    # 此文件用于修改特定输入方案,把上方的luna_pinyin改为其它输入方案名即可完成对其它输入方案的修改
    patch:
        "translator/dictionary": extended #词典名字可自定义,与下方文件名保持一致即可

2.新建`~/.local/share/fcitx5/rime/extended.dict.yaml`文件

提示： 导入自定义词库只需将词库名添加到“import_tables:”之后

    ~/.local/share/fcitx5/rime/extended.dict.yaml

    # 以下禁用了默认词库同时不启用默认的“八股文”词库及词频系统,如果您不希望候选词中的出现繁体字、方框字的话
    ---
    name: extended
    version: "2021.02.19"
    sort: by_weight
    use_preset_vocabulary: false #是否启用默认的“八股文”词库及词频系统,如需启用请设为 true 。
    import_tables:
      # - luna_pinyin #默认词库,如需启用请取消注释
      - zhwiki
      - moegirl
      # - 自定义词库名
    ...

#### 模糊音设置

请根据需要注释(#)或删除不需要的模糊音,若需增加其它模糊音,请参考明月拼音模糊音定制模板

若`luna_pinyin.custom.yaml`文件不存在

    ~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml

    patch:
        "speller/algebra":
            - derive/^([zcs])h/$1/ #zh,ch,sh->z,c,s
            - derive/^([zcs])([^h])/$1h$2/ #z,c,s->zh,ch,sh
            - derive/^n/l #n->l
            - derive/^l/n #l->n
            - derive/([ei])n$/$1ng/  # en -> eng, in -> ing
            - derive/([ei])ng$/$1n/ # eng->en, ing -> in
            - abbrev/^([a-z]).+$/$1/ #简拼支持
            - abbrev/^([zcs]h).+$/$1/ #模糊音的简拼支持
            delimiter: " '" #分隔符

如果文件存在,则粘贴`patch:`以下的部分到文件末尾(`luna_pinyin.custom.yaml`中有且只有一个`patch:`)

#### 特殊符号

注意： Fcitx5 已经内置了对特殊符号的支持。参阅#通过 Fcitx5 输入特殊字符

导入rime-dict项目中`symbols.dict.yaml`词库即可在拼音中输入希腊字母、部分数学符号及Emoji表情

示例:

希腊字母:输入`alpha`即可输出`α`

数学符号:输入`jifen`即可输出`∫`

特殊符号:输入`cha`可输出`✕,✖`

序号:输入`qi`可输出`Ⅶ,⑦`

Emoji表情:输入`haha`可输出`😃,😆`

#### 加载 librime-lua 插件

若想加载 librime-lua 插件，须在 fcitx 配置工具的 Rime 输入法设置中添加 `lua` 模块。

Category:

- Input methods (简体中文)

Hidden category:

- Pages with broken package links