Đó là một thực tế phổ biến để viết các tệp cấu hình Emacs bằng cách sử dụng kiểu lập trình biết chữ trong chế độ Org.
Thật không may, trong khi cải thiện khả năng đọc, điều này đi kèm với những bất lợi đáng kể về lập trình. Đặc biệt, vì không có .el
tệp sao lưu , Emacs chỉ biết mã trong khối nguồn hiện tại. Điều này có nghĩa là ngoại trừ khối hiện đang được chỉnh sửa, điều hướng, định nghĩa biểu tượng và flycheck đều không khả dụng.
#+BEGIN_SRC emacs-lisp
(defun literate-but-invisible ()
(interactive)
(message "I close my eyes..."))
#+END_SRC
#+BEGIN_SRC emacs-lisp
(defun humans-can-read-but-emacs-cannot ()
(interactive)
(literate-but-invisible) ; No navigation! Flycheck reports undefined symbol!
(message "...so that the room will be empty"))
#+END_SRC
Có cách nào để bảo Emacs rối và sử dụng .el
tệp được tạo để cung cấp các tính năng này trong chế độ Org không? Một tính năng như vậy sẽ cải thiện khả năng duy trì của mã viết tắt Emacs Lisp.
Lưu ý rằng mặc dù nó sẽ là một tính năng tuyệt vời khi thấy Flycheck hoạt động đồng thời cho Org và Emacs Lisp trong một bộ đệm, tôi chỉ hỏi về cách sử dụng org-edit
bộ đệm (môi trường bạn nhận được khi bạn gọi org-edit-special
(thường C-c '
)). Điều này sẽ dễ dàng hơn vì chỉ có một chế độ hoạt động cho bộ đệm.
Tôi đã mở một yêu cầu tính năng trên kho lưu trữ Flycheck ở đây và có một số nghiên cứu có liên quan trong một vấn đề khác ở đây . Tuy nhiên, tôi chưa thể xây dựng một giải pháp.
find-file-hook
vv để phát hiện xem mở tập tin org emacs config.