2013-10-03 144 views
3

我試過linumnlinum。對於100k +行的文件,它們都有可怕的表現。Emacs行編號性能

$ 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

行號顯示在模式行中。 –

+0

這對我來說是瞬時的Emacs 24.3.50.1 – Tyler

+0

@Tyler它對我來說不是即時的,在Ubuntu精確的3.5.0-40-generic上運行24.3.1,並加載默認配置(如你所見,我是使用-q)。在rxvt窗口中運行。 –

回答

1

我想你發現了一個bug,你可能會報告(report-emacs-bug)它。根據泰勒的評論,它可能已經解決了。

東西,可以幫助你在同時... line-number-modegoto-linenarrow-to-region這個小氣鬼號碼 - 我的線-IN-A-TMP的緩衝絕招:

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

至於我知道,即使你沒有看到它們,linum及其派生的nlinum數字行也是如此。在100k +行的情況下,如果對單行進行編號需要超過十分之幾毫秒,則這可能會很慢。對我來說(Fedora 19,Emacs 24.3.1),沒有明顯的延遲。嘗試line-num.el,它只能對當前可見的行進行編號,看看它是否解決了問題。