Emacs线路编号性能

时间:2013-10-03 11:15:48

标签: performance emacs line-numbers

我已尝试linumnlinum。两者在具有100k +行的文件上都具有可怕的性能。

$ for x in {1.100000}; do echo $x; done > 100k.txt
$ emacs -q 100k.txt
M-x load-library linum
M-x linum-mode
M-> ;; it's not too bad to go to end of file
M-< ;; now this completely locks up emacs

joe等编辑一样的操作是即时的。

除了用大文件关闭行号(除了你想用行号导航的文件类型之外)还有其他解决方案 - 我想在串联的Javascript文件中找到错误行吗?

或者只是使用其他编辑器?

2 个答案:

答案 0 :(得分:2)

据我所知,即使你没有看到linum及其衍生的nlinum数字线。在100k +线的情况下,如果单个线的编号超过十分之几毫秒,则这可能会很慢。对我来说,(Fedora 19,Emacs 24.3.1),没有明显的延迟。试试line-num.el,它只对当前可见的行进行编号,并查看它是否解决了问题。

答案 1 :(得分:1)

我认为您发现了一个错误,并且您可能会报告(report-emacs-bug)。根据泰勒的评论,它可能已经解决了。

同时可以帮助你的事情...... line-number-modegoto-linenarrow-to-region以及这个cheapo-number-my-lines-in-a-tmp-buffer技巧:

(shell-command-on-region (point-min) (point-max)
    (concat "grep -n ^ " buffer-file-name)
    (get-buffer-create "*tmp-linum*") nil t)