一条设置解决了一个长期存在的我的emacs的性能问题

设置如下:

  (setq line-move-visual nil)

虽然不知道这个设置具体干了啥,但是之前光标上下移动经常卡的很,加了这条设置瞬间就不卡了,效果灰常好。

3 个赞

有非常非常长的行的时候,Emacs 会折行。这个时候物理上一行的内容,屏幕上会显示成多行。

line-move-visual 是控制上下移动光标的时候按物理行还是屏幕显示行移动。

你如果经常移动卡,是不是你的文件有很多这种很长的行

额,还真不是,我的代码很注意手动折行的。

多谢楼主!!

我是天天用auctex,偶尔哪天用就会有这个问题,明显移动有卡顿,神奇的是确实不是buffer内容相关的,而且是个不稳定出现的bug, 而且肯定不是电脑性能导致的。

试试老哥这个小经验~

看了一下它的文档,

When non-nil, ‘line-move’ moves point by visual lines.
This movement is based on where the cursor is displayed on the
screen, instead of relying on buffer contents alone.  It takes
into account variable-width characters and line continuation.

应该是Emacs和Mac交互产生的bug,因为这个基于确认cursor在屏幕上的位置,但这个在Mac上是不准的而且有时很慢,比如company-at-point, postip这类,在窗口不是最大化时,都是有点问题的(不知道飘哪里去了)