https://wiki.archlinux.org/api.php?action=feedcontributions&user=Madper+Xie&feedformat=atom
ArchWiki - User contributions [en]
2024-03-29T09:06:32Z
User contributions
MediaWiki 1.41.0
https://wiki.archlinux.org/index.php?title=Fcitx_(%E7%AE%80%E4%BD%93%E4%B8%AD%E6%96%87)&diff=248689
Fcitx (简体中文)
2013-02-28T08:31:02Z
<p>Madper Xie: /* 疑难杂症 */</p>
<hr />
<div>[[Category:简体中文]]<br />
[[Category:Internationalization (简体中文)]]<br />
[[en:Fcitx]]<br />
'''Fcitx''' (Flexible Input Method Framework) ──即小企鹅输入法,它是一个以 GPL 方式发布的输入法平台(即原来的 G 五笔),包括五笔、拼音(全拼和双拼)、二笔、区位等输入模块,支持简入繁出,是在 Linux 操作系统中常用的中文输入法。它的优点是,短小精悍、跟程序的兼容性比较好。<br />
<br />
==安装 FCITX ==<br />
{{Pkg|fcitx}} 在 [community] 库中,可以通过 [[Pacman]] 来安装:<br />
<br />
为了在 gtk 与 qt 程序中获得良好的输入体验(例如光标跟随与显示预编辑字符串)并避免一些 xim 无法解决的 bug, 请根据需要安装对应的输入法模块: {{Pkg|fcitx-gtk2}}, {{Pkg|fcitx-gtk3}} 以及 {{Pkg|fcitx-qt}}. 若要一次性安装 Fcitx 主程序和相关的模块,可使用此命令:<br />
<br />
pacman -S fcitx-im<br />
<br />
==使用 FCITX 输入中文==<br />
<br />
使用 FCITX 之前,你必须先进行一些环境设定:<br />
*如果你采用 KDM、GDM、LightDM 等显示管理器,请在~/.xprofile (没有则新建一个)中加入如下3行,如果你采用 startx 或者 Slim 启动 (即使用.xinitrc的场合),则在 ~/.xinitrc 中加入:<br />
<br />
export GTK_IM_MODULE=fcitx<br />
export QT_IM_MODULE=fcitx<br />
export XMODIFIERS="@im=fcitx"<br />
<br />
以上设置使用了fcitx提供的gtk/qt输入法模块, 请根据需要安装 {{Pkg|fcitx-gtk2}}, {{Pkg|fcitx-gtk3}} 以及 {{Pkg|fcitx-qt}}.<br />
<br />
你可以选择在gtk/qt程序中使用xim, 为此你可以将上面的环境变量的对应设置改成如下的值<br />
<br />
export GTK_IM_MODULE=xim<br />
export QT_IM_MODULE=xim<br />
<br />
{{warning| 使用xim输入很可能会遇到一些包括不能输入, 没有光标跟随, 重启输入法时应用程序卡死在内的无法由fcitx解决的问题. 对于在使用xim时遇到的这些问题, fcitx无法提供任何支持.}}<br />
<br />
*重新登录后让环境变量生效。<br />
<br />
如果你使用 XDG 兼容的桌面环境如 [[KDE]], [[GNOME]], [[XFCE]], [[LXDE]], 当你重新登录后,Fcitx 应该会自动启动,如果没有的话,可以打开控制台并运行:<br />
<br />
fcitx<br />
<br />
为检验 fcitx 是否正常运行, 打开一个程序,比如 leafpad, 按 CTRL+Space 激活 Fcitx 并试着输入几个字。<br />
<br />
如果 Fcitx 没有随桌面环境自动启动或者希望修改fcitx启动参数,请用桌面环境提供的自动启动工具配置或者编辑用户目录{{ic|~/.config/autostart/}}下的{{ic|fcitx-autostart.desktop}}文件确认自动启动是否被禁用. 如果用户目录下的文件尚不存在, 你可以复制自动启动文件 {{ic|/etc/xdg/autostart/fcitx-autostart.desktop}} 到用户目录<br />
<br />
cp /etc/xdg/autostart/fcitx-autostart.desktop ~/.config/autostart/<br />
<br />
如果你使用的桌面环境不自动支持xdg的自动启动设置, 请在你使用的启动脚本里面添加<br />
<br />
fcitx<br />
<br />
以实现自动启动<br />
<br />
当ibus等其它输入法程序同时启动且开启了xim支持时, 可能会造成fcitx启动失败, 请确认禁用了其它输入法程序的自动启动.<br />
<br />
== 全局配置说明 ==<br />
<br />
Fcitx 提供了图形界面的配置程序,你可以安装他们:{{Pkg|kcm-fcitx}}(基于KDE 的 kcm), {{Pkg|fcitx-configtool}}(基于 gtk3), 或者从 [[Arch User Repository|AUR]] 安装 {{AUR|fcitx-configtool-gtk2}}(基于 gtk2, 不支持)。<br />
<br />
==桌面环境整合==<br />
<br />
===Gnome-Shell===<br />
<br />
你可以在 [[Arch User Repository|AUR]] 安装 {{AUR|gnome-shell-extension-kimpanel-git}}, 它提供了类似 ibus-gjs 的用户体验.<br />
<br />
===KDE===<br />
<br />
你可以安装 {{Pkg|kcm-fcitx}} 以及 {{Pkg|kdeplasma-addons-applets-kimpanel}}.<br />
<br />
== 快捷键 ==<br />
默认快捷键<br />
Ctrl+Space 激活输入法<br />
左Shift 临时切换到英文<br />
Ctrl+Shift 输入法间切换<br />
-/= 向前/向后翻页<br />
<br />
你可以在配置界面的全局配置中修改这些快捷键<br />
<br />
== 禁用输入法 ==<br />
或许你并不希望看到一些输入法,比如双拼。那么你可以在配置界面里禁用相应的输入法<br />
<br />
== 扩充拼音词库 ==<br />
用户配置拼音词库是在~/.config/fcitx/pinyin下,其中pybase.mb是拼音单字库 pyphrase.mb拼音词库(如果这两文件没有,那么fcitx就读取此目录/usr/share/fcitx/pinyin),将你下载的词库放置到此目录后,重启(ctrl+5)fcitx就可以了。<br />
mv pybase.mb pyphrase.mb ~/.config/fcitx/pinyin/<br />
<br />
== Vim ==<br />
如果你经常在vim下使用fcitx,可以安装[http://www.vim.org/scripts/script.php?script_id=3764 fcitx.vim]。或者简单地在{{ic|~/.vimrc}}添加如下代码,可实现退出插入模式时,关闭fcitx;进入插入模式时,启用fcitx:<br />
"##### auto fcitx ###########<br />
let g:input_toggle = 1<br />
function! Fcitx2en()<br />
let s:input_status = system("fcitx-remote")<br />
if s:input_status == 2<br />
let g:input_toggle = 1<br />
let l:a = system("fcitx-remote -c")<br />
endif<br />
endfunction<br />
<br />
function! Fcitx2zh()<br />
let s:input_status = system("fcitx-remote")<br />
if s:input_status != 2 && g:input_toggle == 1<br />
let l:a = system("fcitx-remote -o")<br />
let g:input_toggle = 0<br />
endif<br />
endfunction<br />
<br />
set ttimeoutlen=150<br />
"退出插入模式<br />
autocmd InsertLeave * call Fcitx2en()<br />
"进入插入模式<br />
autocmd InsertEnter * call Fcitx2zh()<br />
"##### auto fcitx end ######<br />
<br />
要注意的是,由于要调用外部程序,这将明显拖慢会反复进出插入模式的映射。建议改写这样的映射。使用带 Python 支持的 Vim 配合 fcitx.vim 亦可改善这种情况。<br />
<br />
==疑难杂症==<br />
<br />
* '''注意:'''<br />
当LC_CTYPE为英文时, 会出现Emacs下无法使用输入法的情况, 如出现此情况, 请在启动Emacs时将LC_CTYPE设为zh_CN.UTF-8. (终端下使用emacs无此问题, 输入法会由终端程序处理).<br />
<br />
* '''输入法模块'''<br />
{{warning|即使未安装输入法模块, 一般还是可以在大部分程序中使用输入法, 不过很可能出现从无法光标跟随, 无法显示预编辑字符串, 到无法输入甚至程序卡死等情况. 如无特殊情况请安装全部输入法模块}}<br />
<br />
如果你已经将IM MODULE设定为fcitx且遇到了无法激活输入法的问题, 请根据出现问题的程序检查对应的输入法模块包是否已经安装<br />
<br />
部分程序无法使用gtk/qt的输入法模块, 如果你需要使用这些程序, 请注意xim设置以及xim下可能遇到的以上问题. 这些程序包括: 所有不使用gtk/qt的程序(如使用tk, motif, 或者直接使用xlib的程序), emacs, opera, openoffice, libreoffice, skype<br />
<br />
* '''火狐右键和菜单无法弹出的问题'''<br />
firefox升级到13后可能与xim发生冲突造成菜单无法弹出等问题,解决办法是把环境配置文件中的<br />
export GTK_IM_MODULE=xim<br />
export QT_IM_MODULE=xim<br />
换成<br />
export GTK_IM_MODULE=fcitx<br />
export QT_IM_MODULE=fcitx<br />
<br />
* '''Ctrl + Space 在GTK2程序中无法调出输入法'''<br />
locale为英文时,有可能会出现在GTK2程序中无法用Ctrl+Space键调出输入法,此时应该手动进行如下设置( [http://fcitx.github.com/handbook/faq.html#ctrl_space FAQ]) <br />
gtk-query-immodules-2.0 > /etc/gtk-2.0/gtk.immodules<br />
#编辑 gtk.immodules,找到类似于以下的行,并如下添加 en:<br />
"xim" "X Input Method" "gtk20" "/usr/share/locale" "en:ko:ja:th:zh"<br />
{{warning|升级gtk相应模块时有可能会重新生成此文件,此时请重新编辑该文件.}}<br />
<br />
* '''Ctrl + ; 会调出fcitx的粘贴插件'''<br />
严格的说, 这不是一个问题, Ctrl + ; 会覆盖很多用户自己的快捷键. (emacs用户居多). 并且, 由于这不是一个输入法的基本功能, 所以在升级fcitx 4.2.7后会不知道是何程序覆盖了自己的快捷键. 关闭这个插件的方法为修改文件: /usr/share/fcitx/addon/fcitx-clipboard.conf<br />
设置为: <br />
Enabled=False<br />
<br />
== 外部资源 ==<br />
*[https://github.com/fcitx/fcitx/ Fcitx GitHub]<br />
*[https://code.google.com/p/fcitx/ Fcitx Google Code]<br />
*[http://fcitx-im.org/ Fcitx Wiki]</div>
Madper Xie