archlinux 安装ibus-rime

中州韵输入法引擎(英语:Rime Input Method Engine,又称Rime 输入法)是由佛振编写的开源中文输入法,目前项目网站、源代码均托管在GitHub[注 1]。基于同一个核心架构,该输入法分为三个官方发行版:Linux 发行版中州韵(ibus-rime)、Windows发行版小狼毫(Weasel)、macOS 发行版鼠须管(Squirrel)。另有数个第三方发行版:Linux 发行版fcitx-rime、Windows发行版PRIME、macOS 发行版XIME、Android发行版同文输入法(Trime)、iOS发行版iRime。

文档

rime官方安装文档

https://rime.im/download/#linux

IBus-ArchWiki

https://wiki.archlinux.org/title/IBus

安装输入法

安装

pacman -S ibus
pacman -S ibus-rime

要在用户登录时启动 IBus,请使用以下命令创建自动启动条目:

ibus-daemon -drxR

卸载或者停止其他输入法的开机启动,比如我在i3中使用的fcitx3让其不要开机启动。防止出现冲突。

# fcitx3 输入法
#exec --no-startup-id fcitx5 &

配置环境变量
~/.xprofile 内容如下:

export GTK_IM_MODULE=ibus
export XMODIFIERS=@im=ibus
export QT_IM_MODULE=ibus
ibus-daemon -x -d

最后一行,可选的,用于开机自动启动。如果已经自动开机启动了,不需要这一行。

配置输入法
命令行中输入

ibus-setup

archlinux 安装ibus-rime_第1张图片
在这里增加rime输入法。重启电脑就可以使用输入法了。

配置rime

我要安装五笔输入法,详细可以参考这篇文章。
https://zhuanlan.zhihu.com/p/141089002?from_voters_page=true
简单的介绍关键点。

  1. 下载五笔码表
    https://github.com/KyleBing/rime-wubi86-jidian
  2. 把配置文件保存到
~/.config/ibus/rime/
  1. 左键点击任务栏中的输入法图标,选部署。

这样输入法就配置完成了。

横排显示

输入法候选词默认是竖排显示,有些不习惯。我在设置中设置成横排,也不生效。

解决办法:
Arch Linux, Gnome 3.32, Wayland 环境下的可行办法:
创建空白文件:

~/.config/ibus/rime/build/ibus_rime.yaml

向 ibus_rime.yaml 写入并保存以下内容:

style:
   horizontal: true

重新部署 ibus-rime
参考:https://github.com/rime/ibus-rime/issues/52

踩过的坑

我在安装rime中遇到一个大坑,
我不清楚是什么原因导致,我的ibus输入法中的拼音输入法,无法正常打字。也就是使用拼音输入法,没法打汉字,打出来也是英文。
导致我以为我rime没有安装成功。一直在调试,把wiki看了好看遍也无法解决。

后来我发现,我直接切rime输入法,就可以打字了。也就是说这个拼音输入法有问题,而rime可以正常使用。

我试了别的输入法也不可以输入,就rime可以,不知道是不是我哪个地方没有配置好导致的。

TODO:
目前不太清楚,为什么我的电脑上安装的ibus无法使用除了rime以前的其他输入法,有知道的朋友麻烦评论区选择我。虽然对我来说不影响,不知道解决办法,心里不痛快。

脚本切换中英文

在使用vim的过程中一般会希望按esc自动的切到英文输入法。
具体可以用这个插件来实现:
https://github.com/kevinhwang91/nvim-ibus-sw

对于nvim我是自己写的插件。通过学习上面插件的源码得知:

获取当前输入法名称

ibus engine

比如我这里中文输入法是:rime 英文输入法是:xkb:us::eng

切换到中文

ibus engine rime

切换到英文

ibus engine xkb:us::eng

vscode vim自动切换英文输入法

"vim.autoSwitchInputMethod.enable": true,
"vim.autoSwitchInputMethod.defaultIM": "xkb:us::eng",
"vim.autoSwitchInputMethod.obtainIMCmd": "/usr/bin/ibus engine",
"vim.autoSwitchInputMethod.switchIMCmd": "/usr/bin/ibus engine {im}"

参考:
https://segmentfault.com/a/1190000017233132

links

https://zh.wikipedia.org/zh-cn/%E4%B8%AD%E5%B7%9E%E9%9F%BB%E8%BC%B8%E5%85%A5%E6%B3%95%E5%BC%95%E6%93%8E
https://gist.github.com/weynhamz/5970670

你可能感兴趣的:(archlinux,ibus-rime)