欢迎尝试 emacs-rime,计划中功能已全部完成。

在 org-mode 的 hook 下去激活输入法,用函数 set-input-method。

1 个赞

@DogLooksGood 请教一个问题。如果在文本中打开输入法正常输入,但并没有选中确认候选词,这时候按组合键,比如 C-x,然后显示就混乱了。有配置能解决这个问题吗?输入命令时输入框应该自动隐藏。

初步想法是在 pre-command-hook 上去判断下是不是 emacs-rime 相关的命令,我觉得我可以试一下

原理上行得通。

另外还有一个问题,调整字体字号显示会变得非常卡,去掉:font 配置就正常了。不知道是否于emacs版本有关。我测试的是emacs-mac版本,显示方式是posframe。

想请教一下, emacs-rime 有没有提供一种临时切换一下输入的东西?

就是说,在开启断言模式时,在某一个位置,我想通过一个快捷键切换一下,输入一个汉字或者英文(像外面的其他的输入法一样),然后输入完这个汉字或者英文后又进入断言模式?

更新一下 Debian sid,以前是一星期一次,这次隔了好久,没想到 fcitx 在 urxvt / xterm / emacs 下都激活不了了,以前都是好的。Firefox 和其他一些 GTK-3 的程序都没问题。为解燃眉之急,装了这个,已经用上了。我在 Spacemacs 下的 evil mode,虽然没有 Shift 来切换中英文,也已经够用了。赞一个先。

urxvt 和 xterm 启动时候出现“urxvt: the locale is not supported by Xlib, continuing without locale support”或者“Warning: locale not supported by Xlib, locale set to C”,没找到是什么原因,Debian 上也没人报 bug,但 libx11-6 这个包确实有更新。有没人遇到相同的问题?

用debian sid肯定会翻车的

有个命令,rime-force-enable 你是说这个?

啊,不是,这个当然知道了。

我是想在一个地方敲击忽略断言,直接切换中英文,就像其他的输入法一样, rime -force-enable 这个不是只能强制中文吗?

一共有两个断言:

一个是控制输入法的开关 rime-disable-predicates,用 rime-force-enable 来绕过这个断言,这个断言一般只会用在 evil 的状态上,使用并不频繁。

一个是控制行内英文模式 rime-inline-predicates,用 rime-inline-ascii 来切换这个模式,比如说在 rime-active-mode-map 上给 TAB 绑定这个命令,就可以把行内英文模式直接切换成编码输入了。

就是下面两个图里的情况切换:

2 个赞

提交了一个更新,在不是 rime-* 的命令的时候会自动的清理输入法的状态。

字体的问题,在 Linux 的 Emacs 上面好像没有办法重现,换字体第一次弹出 posframe 的时候会卡一下,之后就不会卡了。

所以没有我提到的可以临时切换语言(不单单是强制切到中文输入)的东西吗?

输入框问题已经解决了。字体问题我再琢磨下。谢谢!

@DogLooksGood 我录了一个视频,可以看看卡顿的现象。不确定其他平台和其他版本是否也有这问题。

emacs

去掉 doom-modeline 看看,之前发现好像这俩有点小冲突,不设置字体没问题,一设置字体就出问题了。

做了下profiling,结果如下:

似乎是有影响,但profiling看不出来。很奇怪

这么明显,我回头搞个 mac 试试。

今天截了一张更全的。

  1. gc有影响,增大 gc-cons-threshold有改善但不明显。
  2. posn-at-point 会出发doom-modeline 渲染,影响很小,但确实很奇怪。posframe应该是禁止mode-line显示的,只可能是父窗口的行为。

emmm,我正在找 emacs exwm emacs-rime 环境下其他应用如何使用输入法的解决方案,多谢,这就去试试 exwm-edit。