Làm thế nào để tôi có được chế độ chính hiện tại?


30

Nếu tôi đang chỉnh sửa tệp .tex trong emacs, theo mặc định (đối với tôi), góc dưới cùng bên phải của khung sẽ nói "LaTeX / P". Tuy nhiên, tôi sẽ không vào chế độ đó bằng cách nhập "Mx LaTeX / P-mode"; Tôi chỉ có thể lấy nó bằng cách gõ "Mx latex-mode".

Khác với Googling nó, làm thế nào tôi có thể biết thứ tôi gõ để chuyển sang chế độ đó là "chế độ latex"?

Câu trả lời:


43

Tôi nghĩ cách đơn giản nhất là kiểm tra giá trị của biến đệm cục major-modebộ, với một trong hai cách sau:

  • C-hv major-mode RET
  • M-: major-mode RET

12

C-h m cung cấp cho bạn trợ giúp về chế độ hiện tại và nó thường cho bạn biết tên của lệnh bật chế độ.

Ví dụ: trong chế độ Emacs-Lisp C-h mcho bạn biết rằng bạn đang ở Emacs-Lispchế độ. Lệnh bật chế độ chỉ là emacs-lisp-mode.

C-h mcũng cung cấp một liên kết đến thư viện xác định chế độ và nếu bạn nhấp vào liên kết đó, nó sẽ đưa bạn đến định nghĩa của lệnh chế độ. Ví dụ: trong chế độ Emacs-Lisp C-h mcho bạn biết:

Emacs-Lisp mode defined in `lisp-mode.el'

Và nếu bạn nhấp vào liên kết lisp-mode.elthì Emacs sẽ đưa bạn đến định nghĩa của lệnh emacs-lisp-mode, đó là lệnh bật chế độ:

(define-derived-mode emacs-lisp-mode prog-mode "Emacs-Lisp"
  "Major mode for editing Lisp code to run in Emacs.
  ...)

0

Có thể lấy chế độ chính chỉ bằng cách đánh giá biểu thức này:

(print major-mode)


2
Điều này dường như lặp lại câu trả lời của @ phils: kiểm tra biến major-mode( emacs.stackexchange.com/a/18084/105 ).
vẽ

Vâng, chúng tôi đang đánh giá cùng một biến điều, vì đó là thứ lưu trữ giá trị của chế độ chính. Sự khác biệt chỉ là cách bạn muốn thực hiện chức năng đó. có lẽ chúng ta có thể định nghĩa một hàm, với lệnh này tại chỗ và liên kết nó với một khóa. Vì vậy, quan điểm của tôi là elisp vs sử dụng dòng chế độ emacs.
sidharth arya
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.