대용량 파일을 여는 emacs를 어떻게 중단할 수 있습니까?

대용량 파일을 여는 emacs를 어떻게 중단할 수 있습니까?

가끔씩 Emacs에서 큰 파일을 열면 GUI가 계속 응답한다는 점을 제외하면 파일이 영원히 멈추는 경우가 있습니다! 프레임 사이에서 마우스를 움직일 수 있으며 커서가 채워지고, 지정된 모드에서 파일 위로 마우스를 가져가면 여전히 해당 파일이 강조 표시됩니다. 그러나 클릭해도 실제로 수행되는 작업은 발생하지 않습니다. 물론 이상적으로는 emacs에 있는 모든 버그가 결국 수정될 것입니다. 그러나 지금으로서는 emacs의 파일 로드를 중단하거나 .emacs를 변경하여 중단 가능하게 만들 수 있습니까? Ctrl+G가 작동하지 않습니다.

설명: 작업 내용을 잃지 않으려고 노력 중입니다. 즉, emacs를 중단하라는 의미입니다.죽이지 않고에서와 같이 파일을 열기 전의 상태로 돌아가도록 합니다.

답변1

나는 다음 후크를 사용하여 Emacs가 실행 취소 없이 읽기 전용 모드로 큰 파일을 열도록 강제합니다. 이렇게 하면 글꼴을 만드는 동안 시간을 ​​낭비하지 않아도 되므로 대용량 파일을 보는 속도가 빨라집니다. 저는 이것이 도움이 되는 행동이라고 생각하며, 원할 경우 언제든지 이러한 기능을 쉽게 켤 수 있습니다. 업데이트 - find-file-hook의 오타가 수정되었습니다.

(defun my-find-file-check-make-large-file-read-only-hook ()
  "If a file is over a given size, make the buffer read only."
  (when (> (buffer-size) (* 10 1024 1024))
    (setq buffer-read-only t)
    (buffer-disable-undo)
    (fundamental-mode)
    ; (message "Buffer is set to read-only because it is large.  Undo also disabled.")
    ))

(add-hook 'find-file-hook 'my-find-file-check-make-large-file-read-only-hook)

관련 정보