emacs遇到长行,比如一行有1w个字符,光标卡顿严重,有没有解决办法?试过-nw也一样的卡。
试试 so-long-mode
?
试过了,用so-long有一点点改善,但遇到长行时还是卡顿。另外我也试了gvim,非常流畅。
没什么好办法,什么场景需要编辑这么长的文件内容呢?如果只是查看不编辑的话,可以先折行再看。
是一种log文件,没法修改格式。只需要查看,不编辑。
默认设置是wrap at window edge。光标一行一行的往下移动,移到长行内部时,光标仍然在wrap at window edge后的行内一行一行的移动。
其实我想C-n不考虑长行的行内,直接跳到真实的下一行。
设成trancate long lines后,光标移动规律是对的,直接跳到真实的下一行,但速度还是会慢一些。
没办法,Emacs 里处理这种还是不太行。
可以考虑用外部程序处理好格式之后再看,不然就算流畅了,一万多字符一行也没办法阅读。
好的,谢谢!我再想想。
如果没有秘密的话, 可以把文件发出来看看, 这种超长行的文件查看, 我应该有办法, 不忙的话, 今年12月份之前找一个周末就可以实现。
是什么原因,vim里面可以流畅处理,emacs就是不可以呢,内部的哪些方面影响的。
我造了个100行,每行1000w字符的文件
从行首跳到行尾或者跳到下一行,要刷几下,大概要2s
其他的操作,比如随便跳到中间删除字符,插入字符都没有延迟。
单行1亿的话,确实卡。
整体性能跟nvim差不多
现实中很少这样的纯文本。
试试:
-
运行命令:
$ emacs -nw -Q --eval "\ (progn (switch-to-buffer \"*scratch\") (insert \"(prin1 global-map (current-buffer))\") (eval-buffer))"
-
长按
C-n
向下移动光标 (至少滚动3屏),看看会不会跳帧/卡顿。
C-x ] 然后 C-p 比较有效。 困难不是往前走是往后。
向后翻的确,哪怕用终端版本也会很卡
但是不管是 GUI 还是 terminal (setq bidi-inhibit-bpa t)
都能显著解決这个问题。(Emacs 29)
你们的电脑都比我的好。
你这不会是向前翻都比较困准吧?我用的是 2015 年的 MBP,2.2GHz 的 i7 配 16GB 放现在也没法做什么机器学习,但用 AVX 做一些计算还是挺可以的。
C-n
看起来还算流畅,用鼠标滚轮和触摸板滑动就非常卡了
也可以順便试试 C-h h
打开 hello 文件会不会卡。
用如下配置在 Emacs 29 打开
哪怕在 GUI 打开 javascript-mode 的 font lock 用触摸板都只有轻微卡