我已尝试linum
和nlinum
。两者在具有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文件中找到错误行吗?
或者只是使用其他编辑器?
答案 0 :(得分:2)
据我所知,即使你没有看到linum及其衍生的nlinum数字线。在100k +线的情况下,如果单个线的编号超过十分之几毫秒,则这可能会很慢。对我来说,(Fedora 19,Emacs 24.3.1),没有明显的延迟。试试line-num.el,它只对当前可见的行进行编号,并查看它是否解决了问题。
答案 1 :(得分:1)
我认为您发现了一个错误,并且您可能会报告(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)