Chỉ tắt chế độ thụt điện cho một chế độ (chế độ latex)


11

Tôi không thích cách chế độ thụt điện hoạt động ở chế độ latex. Ở mọi nơi khác (ít nhất là mọi nơi tôi sử dụng), thật tuyệt.

Làm thế nào tôi có thể vô hiệu hóa vĩnh viễn chế độ thụt điện chỉ cho chế độ latex, nhưng giữ nó ở mọi nơi khác?

Tôi đoán đó là một hack lisp một dòng trong tập tin cấu hình của tôi, hoặc một cái gì đó tương tự, nhưng tôi thật kinh khủng ở mức không thể, vì vậy tôi không thể tìm ra nó.

Câu trả lời:


8

Lệnh bạn cần là electric-indent-local-mode. Bạn có thể sử dụng điều này để tắt chế độ thụt điện trong bất kỳ bộ đệm nào bằng cách gọi thủ công : M-x electric-indent-local-mode. Đây là một sự thay đổi, vì vậy việc gọi lại nó trong cùng một bộ đệm sẽ bật lại.

Để thực hiện điều này tự động từ tệp init của bạn, bạn cần thiết lập một hook. Đầu tiên, xác định hook:

(defun remove-electric-indent-mode ()
  (electric-indent-local-mode -1))

Sau đó thêm nó vào các móc chế độ thích hợp. Để tắt chế độ thụt điện cho chế độ LaTeX do Aocateex cung cấp, hãy sử dụng:

(add-hook 'LaTeX-mode-hook 'remove-electric-indent-mode)

Đối với texmode mặc định, sử dụng:

(add-hook 'tex-mode-hook 'remove-electric-indent-mode)

Mẫu tương tự giữ cho bất kỳ chế độ nào khác mà bạn muốn tắt thụt điện.

Để biết thêm chi tiết về móc chế độ, hãy xem nút thủ công Emacs tích hợp [(emacs) Hooks][1]. Bạn có thể đến đó từ Emacs thông qua C-h i r m Hooks <enter>: C-hđể được trợ giúp, iđể biết thông tin, rđể đọc hướng dẫn, mcho mục menu và Hooksđể chọn mục menu. (hoặc bạn có thể theo liên kết ở trên để xem phiên bản html).


Bạn không cần xác định một chức năng bổ sung: (add-hook 'LaTeX-mode-hook (lambda () (electric-indent-local-mode -1)))đủ.
Emil Jeřábek

Đúng, nhưng nếu bạn xác định một hàm, bạn có thể sử dụng lại nó trong nhiều hook khác nhau mà không cần sao chép mã. Nó cũng dễ dàng hơn để loại bỏ một chức năng được xác định hơn một chức năng ẩn danh. Điều đó có thể hữu ích khi gỡ lỗi
Tyler
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.