Làm thế nào tôi có thể làm gián đoạn emacs mở một tệp lớn?


7

Thỉnh thoảng khi tôi mở một tệp lớn trong emacs, nó sẽ bị treo vĩnh viễn, ngoại trừ GUI sẽ vẫn phản hồi! Tôi có thể di chuyển chuột giữa các khung và con trỏ sẽ điền vào, di chuột qua các tệp ở chế độ được chuyển hướng vẫn làm nổi bật chúng, v.v. nhưng nhấp vào không gây ra bất kỳ hành động nào thực sự được thực hiện. Tất nhiên, lý tưởng nhất là bất kỳ lỗi nào trong emacs sẽ được sửa chữa, nhưng bây giờ, liệu tôi có thể làm gián đoạn tải các tệp, hoặc thay đổi .emac của tôi để làm cho nó bị gián đoạn không? Ctrl + G không hoạt động.

Làm rõ: Tôi đang cố gắng không để mất công việc của mình - vì vậy tôi có nghĩa là gián đoạn emacs mà không giết nó , như trong, để nó trở lại như trước khi tôi thử mở tệp.


Bạn đã thử trốn thoát 3 lần? ESC ESC ESC
kjfletch

vâng, không giúp được gì
momeara

Câu trả lời:


9

Tôi sử dụng hook sau để buộc Emacs mở các tệp lớn ở chế độ cơ bản, chỉ đọc và không hoàn tác. Điều này không tăng tốc độ xem các tệp lớn vì tránh bất kỳ thời gian nào trong quá trình phông chữ. Tôi thấy đây là hành vi hữu ích và tôi luôn có thể bật bất kỳ tính năng nào một cách dễ dàng nếu tôi muốn. CẬP NHẬT - sửa lỗi chính tả với 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)
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.