# Fcitx5 (简体中文)

From ArchWiki
Jump to navigation Jump to search
The printable version is no longer supported and may have rendering errors. Please update your browser bookmarks and please use the default browser print function instead.

相关文章

- Fcitx (简体中文)
- IBus (简体中文)

Fcitx5 是继 Fcitx 后的新一代输入法框架。

## 安装

安装 软件包 fcitx5。

注意： fcitx5-im 包组提供了 fcitx5 本体、#配置工具、和必要的 #输入法模块 。为了方便起见，建议直接安装 fcitx5-im 和 #输入法引擎。
注意： fcitx5 仅提供基本框架，仅提供英文支持，如果要输入其他语言（例如中文），则需要 #输入法引擎。
注意： 对于 GNOME 用户而言，还需要安装 gnome-shell-extension-kimpanel-gitAUR 以在右上角显示输入法的状态。[1] 当然，您也可以手动 安装扩展

### 输入法引擎

#### 中文

- fcitx5-chinese-addons 包含了大量中文输入方式：拼音、双拼、五笔拼音、自然码、仓颉、冰蟾全息、二笔等
- fcitx5-rime 对经典的 Rime IME 输入法的包装，内置了繁体中文和简体中文的支持。其官网位于：[2]
- fcitx5-chewing 对注音输入法 libchewing 的包装

#### 日文

- fcitx5-anthy 一种流行的日语输入引擎。但是，它的开发已经处于停滞期。
- fcitx5-skk 一个日文片假输入法，基于 libskk
- fcitx5-mozc Google 日文输入法的开源版本，基于 MozcAUR

#### 其他语言

- fcitx5-hangul 用于输入韩文，基于 libhangul。
- fcitx5-unikey 用于输入越南语字符。

### 输入法模块

输入法模块为 Fcitx5 提供了额外功能，例如对 Qt、GTK 程序的输入支持，或带来一些额外特性。

- fcitx5-qt：对 Qt 程序的支持
- fcitx5-gtk：对 GTK 程序的支持
- fcitx5-qt4-gitAUR：对 Qt4 程序的支持
- fcitx5-qt5-gitAUR：对 Qt5 程序的支持
- fcitx5-qt6-gitAUR：对 Qt6 程序的支持
- fcitx5-lua：一些额外的插件。例如对 时间和日期 的候选。

提示： 一般情况下，只安装 fcitx5-qt 和 fcitx5-gtk 就行了

## 使用

### 环境变量

欲在程序中正常启用 Fcitx5, 须设置以下环境变量，并重新登陆：

    ~/.pam_environment

    GTK_IM_MODULE DEFAULT=fcitx
    QT_IM_MODULE  DEFAULT=fcitx
    XMODIFIERS    DEFAULT=@im=fcitx
    INPUT_METHOD  DEFAULT=fcitx
    SDL_IM_MODULE DEFAULT=fcitx

最后那行 SDL_IM_MODULE 是为了让一些使用特定版本 SDL2 库的游戏，比如 Dota2 能正常使用输入法。

### 开机启动

注意：

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

想要 fcitx5 开机自启，执行

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

### 词库

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

- fcitx5-pinyin-zhwiki：felixonmars 根据中文维基百科创建的词库。适用于 拼音输入法
- cedict:从 cedict辞典 导出的词库。
- fcitx5-pinyin-zhwiki-rimeAUR：适用于 Rime 输入法的词库。
- fcitx5-pinyin-moegirl-rimeAUR：适用于 Rime 输入法的词库。

### 自定义词库

一般而言,由于 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设置 -> 配置附加组件 -> 经典用户界面 -> 主题` 设置主题。

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

#### 设置单行模式

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

## 故障处理

### 诊断问题

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

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

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

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

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

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

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

The factual accuracy of this article or section is disputed.

Reason: 此部分内容存疑 (Discuss in Talk:Fcitx5 (简体中文)#)

有两种办法：

- 安装 jre11-jetbrains-imfixAUR。
- 手动下载编译代码 并更改 idea 默认的运行时 JDK。

### 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
- 安装 flatpak 版本的 网易云音乐

## 提示和技巧

### 如何查看选中字体的 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]

    ~/.vimrc

    autocmd InsertLeave * :silent !fcitx5-remote -c " 退出插入模式时禁用输入法
    autocmd BufCreate *  :silent !fcitx5-remote -c " 创建 Buf 时禁用输入法
    autocmd BufEnter *  :silent !fcitx5-remote -c " 进入 Buf 时禁用输入法
    autocmd BufLeave *  :silent !fcitx5-remote -c " 离开 Buf 时禁用输入法

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

### 拼音输入法

注意： 以下功能只对 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 or sections flagged with Template:Accuracy