感觉在Org-mode下输入中文卡卡的

在orgmode下移动光标感觉都比其他模式卡,不知道是不是因为有中文。

还有rime输入的时候,每输入一个字母,它都需要搜索一下,给出所有candidates,没有debouce time,导致感觉也卡卡的。。

不知道大家有没有类似的情况。

我把profiling的图放下下面了

系统是macos, emacs是28

2 个赞

doom emacs?

是的,子鼠补丁

暂时无解,不用 posframe 试试?

rime 如何不用posframe?

通过 rime-show-candidate 变量选择提示候选的方式。

试了一下感觉message跟posframe速度差不多,另外两个更慢。

我感觉也不是posframe的锅,好像就是doom下orgmode中文多了它就卡

怀疑是macos的锅 同样的配置在linux下就很流畅 在macos下就特别卡 感觉是界面渲染的问题

(use-package hl-line+ :config (hl-line-when-idle-interval 0.3) (toggle-hl-line-when-idle 1))

我关掉postframe,以及用hl-line+,现在很流畅了… 刚卡的受不了去检查了下配置,发现hl-line+的配置项没开启,postframe我本来就是关的,配置好一下子舒坦了

2 个赞

我也有类似体验,doom的org-mode下输入中文卡顿有点厉害

1 个赞

你是用的rime吗,移动光标不是呢么卡了,但是rime还是卡卡的,我试了posfram和message的选项

我也是rime的配置 用emacs没多久 配置是到处抄的 刚看了下我posframe还是开着的 感觉应该不是rime的原因?

;;; input/chinese+/config.el -*- lexical-binding: t; -*-

(use-package! rime
  :custom
  (default-input-method "rime")
  (rime-user-data-dir (expand-file-name "rime" doom-local-dir))
  (rime-show-candidate 'posframe)
  (rime-posframe-style 'horizontal)
  (rime-cursor "˰")
  (rime-disable-predicates '(rime-predicate-hydra-p
                             rime-predicate-evil-mode-p
                             rime-predicate-ace-window-p
                             rime-predicate-prog-in-code-p
                             rime-predicate-space-after-cc-p
                             rime-predicate-org-latex-mode-p
                             rime-predicate-org-in-src-block-p
                             rime-predicate-after-ascii-char-p
                             rime-predicate-tex-math-or-command-p
                             rime-predicate-punctuation-line-begin-p
                             rime-predicate-punctuation-after-ascii-p
                             rime-predicate-current-uppercase-letter-p
                             rime-predicate-punctuation-after-space-cc-p)))
(define-key rime-mode-map (kbd "C-M-z") 'rime-force-enable)

(cond (IS-MAC
      (setq rime-user-data-dir "~/Library/Rime/")
      (setq rime-librime-root (expand-file-name "dist" rime-user-data-dir))
      ))

(use-package! pangu-spacing
  :hook (text-mode . pangu-spacing-mode)
  :config
  ;; Always insert `real' space in org-mode.
  (setq-hook! 'org-mode-hook pangu-spacing-real-insert-separtor t))

我以前观察到的现象是补全的childframe会导致屏幕抖动,然后就会非常卡,后来关掉就好了。我感觉上似乎只要导致屏幕需要发复渲染的情形都会导致mac下emacs卡顿,体验特别差。

但是我也不是太确定… 我对emacs的基础知识还很欠缺,甚至不知道怎么debug/profile, 配置也是根据其他语言的经验以及简单的lisp 模仿修改的 :cold_sweat: 然而我还是很喜欢在emacs上用vim键位的体验 :joy:

大家还有别的解决方案吗?

用 doom 的同事说设置字体会好一些。

他用的是 WenQuanYi Mono 和 JetBrains Mono。

他是中文英文分开设置的?如何做到的?

我设置成WenQuanYi Mono后还是很卡。。

我用 emacs-mac 非常卡,posframe 一直闪烁,换成 emacs-plus 就没事儿了

我用的是emacs-plus 28

我也是,Emac-plus 27,28 在有大量中文字符的文件里移动都很卡,包括evil 和原生的移动方式。换了字体,把hl-mode 也关了都不行。

之前遇到类似的问题,我是这样设置之后就好了 (set-language-environment 'utf-8) 可以试一下。