3

我试过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 文件中定位错误行)之外,还有其他解决方案吗?

或者只是使用不同的编辑器?

4

2 回答 2

3

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

于 2013-10-04T22:49:26.943 回答
2

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

同时可能对您有所帮助的事情... line-number-mode,,goto-line以及narrow-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)
于 2013-10-03T12:52:57.070 回答