Fcitx5 (简体中文)

From ArchWiki
Jump to navigation Jump to search

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

安装

安装 软件包 fcitx5

环境变量

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

~/.pam_environment
INPUT_METHOD  DEFAULT=fcitx5
GTK_IM_MODULE DEFAULT=fcitx5
QT_IM_MODULE  DEFAULT=fcitx5
XMODIFIERS    DEFAULT=@im=fcitx5

开机启动

注意: Fcitx5 启动文件位置发生了变更,目前为 /usr/share/applications/fcitx5.desktop

想要 fcitx5 开机自启,参见 Fcitx (简体中文)#桌面环境下自动启动

输入法引擎

需要注意的是: fcitx5 只是提供了基本框架,基本框架只对英文提供了输入支持,如果需要输入其他语言,则需要安装相应的输入法引擎:

中文

日文

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

其他语言

输入法模块

在只安装 fcitx5#输入法引擎 的情况下您可能依然可以正常输入,但是安装对应的 #输入法模块 后您将获得更加舒适的体验:

提示: 一般情况下,只安装 fcitx5-qtfcitx5-gtk 就行了

配置工具

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

词库

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

  • fcitx5-pinyin-zhwikiAUR:felixonmars 根据中文维基百科创建的词库。适用于 拼音输入法
  • fcitx5-pinyin-moegirl(在 ArchLinux CN 源中):outloudvi 根据萌娘百科创建的词库。适用于 拼音输入法
提示: 以上两种包都有用于 rime 版本的词库,分别为 fcitx5-pinyin-zhwiki-rimeAURfcitx5-pinyin-moegirl-rimeAUR

主题和外观

主题

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

提示: 如果您使用的是 KCM,那么切换主题可以通过:设置 -> 区域设置 -> 输入法 -> Configure addons -> 经典用户界面 -> 主题 来更换

设置单行模式

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

故障处理

部分应用中 fcitx5 的单行默认无效

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

wps 无法正常呼出输入法

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

intellij 系列的 ide 中输入框位置不正确

一些 java 程序就是这样,没办法获得位置。 [3]

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

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

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

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

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

提示和技巧

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

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

通过 Fcitx5 输入特殊字符

一般来说,对于某些简单的符号,比如 , ā, á, © 等,可以通过配置撰写键输入,但是对于更多的特殊符号,比如 , , 等,您要么自定义 ~/.XCompose 文件,要么就使用 Fcitx5 的 Unicode 功能实现:

为例:

将光标定位到任意一个输入框内,然后按下 Ctrl + Alt + Shift + U,然后输入 circle one,您将会看到多种形式的 ,其他特殊字符也于此类似。

拼音输入法

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

导入搜狗词库

  • 对于 KDE 用户来说,可以通过 设置 -> 区域设置 -> 输入法 -> 拼音 -> 词典 -> 导入 来导入搜狗词库
  • 对于使用 fcitx5-config-qt-gitAUR 的用户来说,需要手动打开 “Fcitx5 配置” 这个软件,并在拼音输入法中手动配置。

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

云拼音

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

笔画过滤

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

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

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

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

RIME/中州韻

用户资料目录~/.local/share/fcitx5/rime/

注意: 以下示例均以luna_pinyin为例,其余输入方案请参照修改

导入词库

以导入词库XX1.dict.yaml XX2.dict.yaml为例

1.可直接修改~/.local/share/fcitx5/rime/bin/luna_pinyin文件导入词典,不过推荐新建配置文件进行修改,因为直接修改文件可能因为升级而使修改无效

~/.local/share/fcitx5/rime/luna_pinyin.custom.yaml
patch:
    "translator/dictionary": luna_pinyin.extended #词典名字可自定义,与下方保持一致即可

若该文件已存在,则在文件末添加或修改

    "translator/dictionary": luna_pinyin.extended #词典名字可自定义,与下方保持一致即可

2.设置词库文件/索引(用于导入多个词库或后续导入词库),如果您愿意的话也可以在下面粘贴词库。

此处禁用了默认词库(需额外补充基础词库,参考),以消除大多数情况下候选词出现一堆繁体的情况,如需启用请取消注释

~/.local/share/fcitx5/rime/luna_pinyin.extended.dict.yaml
---
name: luna_pinyin.extended
version: "2020.07.08"
sort: by_weight
use_preset_vocabulary: false
import_tables:
  #- luna_pinyin #默认词库
  - XX1
  - XX2
...

3.将词库文件XX1.dict.yaml XX2.dict.yaml放入~/.local/share/fcitx5/rime/,重新部署即可

词库格式请参考碼表與詞典

模糊音设置

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

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:)