28

大きなファイルを表示すると、Emacs がハングすることがあります。しかし、それは速い(global-font-lock-mode -1)です。

Preludeのフォークを使用しています。

Emacs バージョン: 24.3 cocoa システム: OS X 10.8.4

更新:(setq jit-lock-defer-time 0.05)スクロール速度を改善する方法が見つかりました。

4

4 に答える 4

18

非常に大きなファイルで作業する必要がある場合は、「大きなファイルをまとめて表示、編集、検索」できるView Large Filesパッケージを使用できます。requireパッケージを ing した後、大きなファイルをM-x vlfi.

于 2013-08-19T16:48:52.560 に答える
4

私は通常、長い行を展開し、タグ (HTML、XML、JSON など) でインデントします。

このような操作を可能にするために、次を追加します。

(setq line-number-display-limit large-file-warning-threshold)
(setq line-number-display-limit-width 200)

(defun my--is-file-large ()
  "If buffer too large and my cause performance issue."
  (< large-file-warning-threshold (buffer-size)))

(define-derived-mode my-large-file-mode fundamental-mode "LargeFile"
  "Fixes performance issues in Emacs for large files."
  ;; (setq buffer-read-only t)
  (setq bidi-display-reordering nil)
  (jit-lock-mode nil)
  (buffer-disable-undo)
  (set (make-variable-buffer-local 'global-hl-line-mode) nil)
  (set (make-variable-buffer-local 'line-number-mode) nil)
  (set (make-variable-buffer-local 'column-number-mode) nil) )

(add-to-list 'magic-mode-alist (cons #'my--is-file-large #'my-large-file-mode))

通常は空のように使用せず、優先find-file-hooksされることに注意してください。magic-mode-alist追加find-file-hooksする場合は、最初に XML ファイルを検証してnxml-modeからに切り替えfundamental-modeます。

XML it: の場合、正規表現で行を分割しますC-M-% >< RET >NL< RET !

Emacs が長い行を分割した後、多くの*-modesコードを有効にして再インデントすることができます。

于 2015-02-11T14:47:50.787 に答える