Thay đổi tô sáng cú pháp mà không thay đổi chế độ chính?


7

Tôi muốn bắt đầu một cái vỏ trăn M-x python-shell. Nếu tôi không hài lòng với việc tô sáng cú pháp, có thể cải thiện nó (đặt thêm màu sắc vào bộ đệm) mà không thay đổi chế độ chính không? Trong vim điều này sẽ đơn giản với set filetype=python.

Cú pháp python không được tô sáng trong chế độ python-shell, tôi muốn nó được tô sáng.

Một giải pháp đơn giản sẽ được ưa chuộng vì tôi chỉ tìm hiểu về emacs.


5
Không rõ những gì bạn đang yêu cầu. "Highlighter" là gì? Nếu bạn đang hỏi liệu bạn có thể thay đổi font-lock-keywordscho một chế độ nhất định không, thì có. Nhưng tùy thuộc vào cách xác định chức năng chế độ, việc nhập lại chế độ có thể làm nổi bật lại bằng cách sử dụng chế độ được xác định font-lock-keywordsvà không phải là những gì bạn đã xác định lại. Để an toàn hơn trong điều đó (nhưng không có bảo đảm), bạn sẽ cần xác định lại font-lock-keywordstrên móc chế độ, để nó có hiệu lực mỗi khi chế độ được bật và sau khi mã chế độ thực hiện.
vẽ

1
Làm rõ: bạn có muốn tắt đánh dấu cú pháp, bạn không thích các lựa chọn màu mặc định ("khuôn mặt") và muốn thay đổi chúng, hoặc bạn muốn thêm phần tô sáng mới lên trên phần tô sáng hiện có? Như @Drew đã đề xuất, nó sẽ liên quan đến font-lock-keywordsmột cách nào đó, tùy thuộc vào những gì bạn muốn làm.
Dan

@Drew Tôi có nghĩa là cú pháp tô sáng. @ Dan chế độ python-shell hiện tại (trong emacs23) không tô màu cú pháp python nên tôi muốn thêm màu.
Joelmob

@Malabarba nên được sửa ngay bây giờ.
Joelmob

3
Bạn không thể chuyển sang một cái mới hơn python.el? IIRC, chiếc được vận chuyển kể từ emacs 24.2 cũng có khóa chữ cho vỏ.
Vamsi

Câu trả lời:


4

Mọi chế độ chính hỗ trợ khóa chữ đều thực hiện thông qua font-lock-defaults. Nếu bạn kiểm tra python-mode, bạn sẽ thấy như sau:

(set (make-local-variable 'font-lock-defaults)
     '(python-font-lock-keywords nil nil nil nil))

Nếu bạn đang ở trong một chế độ chính khác nhau, bạn sẽ có thể thiết lập font-lock-defaultsđể (python-font-lock-keywords nil nil nil nil)một trong hai cách tương tác sử dụng M-:hoặc qua một cái móc.

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.