在 Mac 下的 GUI Emacs 中,用输入法输入的时候,会不会一直在抖动 ?

比如,我在用自带的拼音输入法时,用 “zhongwen” 输入 “中文” 的过程中,“zhongwen” 一直在抖动,好像一直在“刷新”。但是,诡异的是:当我在写 bug report 的时,用 LICEcap 录制成 GIF 却没抖动。大家有没有遇到这个问题?

UPDATE GIF 帧数太低了所以没捕捉到,我又录了个视频,(花了半小时)传到 Youtube 上

提交的 Bug 在: http://debbugs.gnu.org/cgi/bugreport.cgi?bug=+23412

1 个赞

录出来似乎是没有闪的原因是帧数太低了,我的没有此输入的时候可以看到光标会移动到最前面然含将刚刚输入的全部字符全部重新输入一遍。我不确定你用的是不是这样的输入法,还是使用 Emacs 内的中文输入法。C-\ 是不是就没这个问题了?

我用的是系统自带的拼音输入法。视频看起来比实际情况要好很多,但是其它的 App 根本就不会重新显示,不知道是不是 Emacs 的 bug。老是闪闪闪,我眼睛受不了 :angry:

要不是你说,我完全没有发现这个问题。可能我输入的时候完全不看的原因吧。。。

使用外部输入法,在中文状态下使用快捷键,是不是挺不方便的?有的时候会误输入字符,而且感觉emacs自带的输入法也挺不好用的,现在好纠结,每次中英文混打配合快捷键就shift到死。:sweat:

是,我开着拼音输入法的话,有些按键受影响,有些不会。比如 C-x C-f 还是一样(我猜因为输入法法并没有对 C-xC-f 这两个字符进行其它的解释),而 C-x f 就很讨厌了,输完 f 后,输入法会弹出选项框,这时候只能按 RET 再确认输入 f 了。

fcitx.el 可以在需要的时候自动关闭输入法。我输入中文的机会并不多,还是愿意自己手动切换。还有如果就是考虑到输入法并不会改变标点符号字符的长度,你可以把 C-“(中文中的双引号) 映射到 C-” (西文中的双引号),从而把这个问题减轻一点点。

2 个赞

我也遇到这个问题,楼主现在解决了嘛?

不清楚有没有解决,但是现在我用 macOS Sierra / Emacs 25.1.1 没有这个问题了。

我也是用的macOS Sierra 和 Emacs 25.1.1啊,我的Emacs是用Homebrew安装的,你是怎么安装的?

MacPorts。不过我觉得应该跟这个没关系。

(emacs-version)
     ⇒ "GNU Emacs 25.1.1 (x86_64-apple-darwin16.3.0, NS appkit-1504.76 Version 10.12.2 (Build 16C67))
 of 2017-01-06"

~$ port installed emacs-app 
The following ports are currently installed:
  emacs-app @25.1_2+imagemagick+inline (active)

同样是macOS Sierra 10.12.2 + emacs25.1.1 也发现了你说的这个问题。 只是以前都没注意过,为什么我要点进来,现在感觉也闪了。

:joy: 我第一次使用的时候就发现在闪,虽然影响不大,但是挺烦的。 或许是自带的输入法的问题?

我这边(OSX 10.11.6),homebrew 编译安装的(25.1.1)闪烁,brew cask 安装的(emacs-mac 25.1.1-z-mac.6.1)不闪烁。

搜狗也闪,看上面的回复,好像brew安装的不闪,要不你试试?

是brew cask, brew cask似乎是基于brew的。我现在卸了emacs用brew cask重新装一下试试看。

用brew cask重新安装了,还是一样的问题:pensive:

看了下emacs中"about gnu emacs"中的版本编号: GNU Emacs 25.1.1 (x86_64-apple-darwin13.4.0, NS appkit-1265.21 Version 10.9.5 (Build 13F1911))

brew cask install emacs-mac

图标是 GNU 牛头,版本信息:

(emacs-version)
"GNU Emacs 25.1.1 (x86_64-apple-darwin13.4.0, Carbon Version 157 AppKit 1265.21)
 of 2016-11-06"

我输入了

brew cask install emacs-mac

后提示:

Error: No available Cask for emacs-mac
Error: nothing to install

我在 brew cask 的官网上也没有找到emacs-mac

brew tap railwaycat/emacsmacport
brew install emacs-mac # 编译安装 
brew cask install emacs-mac # 或者直接安装二进制

在我电脑上(OSX 10.11.6),无论编译还是直接下载二进制,emacs-mac 都不会闪烁,看版本信息,好像是使用了已经淘汰(?)的 Carbon:

(emacs-version) “GNU Emacs 25.1.1 (x86_64-apple-darwin15.6.0, Carbon Version 157 AppKit 1404.47) of 2017-01-10”

而无论 brew install emacs 还是从 https://emacsformacosx.com/ 下载的二进制,都会闪烁:

(emacs-version) “GNU Emacs 25.1.1 (x86_64-apple-darwin15.6.0, NS appkit-1404.47 Version 10.11.6 (Build 15G1108)) of 2017-01-04”

不过我一直使用终端,没有闪烁困扰。

3 个赞

我按照你给出的命令采用编译安装的方式安装了emacs-mac, 已经安装成功了。但是安装后使用打开emacs都是终端版,似乎不能打开GUI Emacs。

后来我再卸载,重新用brew cask install emacs-mac安装,安装完后,通过Launchpad可以打开GUI Emacs,是一个公牛的图标,这次真的没有闪烁的问题了。然后我按照https://emacsformacosx.com/tips上面的方法,实现了终端打开Emacs,问题终于解决了。谢谢!