2012-03-19 39 views
8

Tôi đang sử dụng Emacs từ rất lâu và tôi đã tùy chỉnh nó khá nhiều. Tôi thậm chí đã viết các hàm ELisp đơn giản và bây giờ tôi bắt đầu sử dụng các macro ngày càng nhiều. Tôi không ở đâu gần một người dùng Emacs thông thái nhưng tôi không phải là người mới bắt đầu hoàn chỉnh.Emacs: lời giải thích phông chữ-khóa

Tôi đang sử dụng nxhtml, mumamo, dired, ido, keybindings tùy chỉnh và rất nhiều thứ tôi đã thêm trong suốt những năm mà tôi không nhớ tất cả chúng;)

Nhưng có điều tôi thực sự chưa bao giờ hiểu: chế độ "khóa chữ" là gì và tại sao tôi nên quan tâm?

Ví dụ: tôi đã đọc nxhtml và nxml đó, nếu tôi nhớ chính xác, không sử dụng khóa phông chữ. Có lẽ tôi không hiểu rõ phần đó nhưng theo một trong hai cách: điều gì sẽ thay đổi đối với tôi, với tư cách là một người dùng?

Hoặc lấy ví dụ mô tả này về khoảng trắng:

Lưu ý rằng khi khoảng trắng được bật, khoảng trắng tiết kiệm cho nhà nước font-khóa, có nghĩa là, nếu font-khóa được bật hoặc tắt. Và WhiteSpace khôi phục trạng thái khóa phông chữ khi nó bị tắt. Vì vậy, nếu WhiteSpace được bật và tắt phông chữ, WhiteSpace cũng sẽ bật khóa phông chữ để làm nổi bật khoảng trắng, nhưng khóa phông chữ sẽ bị tắt khi WhiteSpace bị tắt. Do đó, bật khóa chữ trước khi bật WhiteSpace, nếu bạn muốn khóa phông chữ tiếp tục sau WhiteSpace bị tắt.

OK, được. Tôi hiểu điều đó. Nhưng điều gì sẽ thay đổi nếu phông chữ khóa tiếp tục sau hay không?

Về cơ bản tôi chỉ không "hiểu", cho dù tôi đọc bao nhiêu về chủ đề.

Bất kỳ ví dụ/giải thích nào về những gì "font-lock" nằm trong Emacs và tại sao nó liên quan đến tôi sẽ được chào đón nhiều nhất!

+1

khóa phông chữ là mọi thứ có liên quan đến các hiệu ứng được áp dụng trên các ký tự để làm cho chúng trông khác với ngoại hình thông thường của chúng. Mô tả 'khoảng trắng-chế độ 'mà bạn đang trích dẫn cho bạn biết rằng' khoảng trắng-chế độ' không vi phạm mã chế độ phụ của tiến trình, mà nói rằng các chế độ nhỏ không nên làm phiền lẫn nhau.Mặc dù 'khoảng trắng-mode' cần kích hoạt tính năng khóa phông chữ để làm cho các không gian trông khác nhau, nó nhớ trạng thái khóa phông chữ trước đó của bạn để đặt mọi thứ trở lại vị trí khi bạn tắt nó. – Francesco

Trả lời

4

Mã hiển thị mã của bạn với tất cả các màu khác nhau (màu đỏ cho nhận xét, màu xanh lá cây cho tên lớp, v.v.). Nếu nó tắt, bạn sẽ nhận được mã màu đen và trắng thay thế. Mở một số mã và chạy M-x font-lock-mode một vài lần để xem nó bật và tắt.

+0

ok nhưng sau đó như thế nào đến một số chế độ như nxml hoặc nxhtml nói rằng họ không sử dụng font-lock và chưa hiển thị mọi thứ trong rất nhiều màu sắc khác nhau? –

+0

Đó có phải là những gì bạn đang thấy không? Khi tôi đưa lên một tệp xml ở chế độ nxml, tôi có thể thấy màu bật và tắt khi tôi chuyển đổi chế độ khóa-phông chữ. –

10

font-lock-mode == highligthing cú pháp đầy màu sắc. global-font-lock-mode bật tính năng khóa phông chữ cho mỗi và mọi chế độ trong Emacs. Phiên bản Emacs cũ hơn yêu cầu bạn bật nó theo cách thủ công, phiên bản mới hơn (23+ tôi nghĩ) cho phép điều này theo mặc định. Tôi không thể tưởng tượng rằng nhiều người sẽ muốn tắt tính năng này, vì nó làm cho một số loại nội dung (như mã nguồn) vô cùng dễ đọc hơn. Mỗi chế độ sử dụng khóa phông dựa trên một bộ nhất định là khuôn mặt - kết hợp các thuộc tính phông chữ như kích thước, in đậm, gạch dưới, in nghiêng và màu. Các khuôn mặt cơ bản mà hầu hết các chế độ sử dụng là:

font-lock-builtin-face 
font-lock-comment-face 
font-lock-comment-delimiter-face 
font-lock-constant-face 
font-lock-doc-face 
font-lock-doc-string-face 
font-lock-function-name-face 
font-lock-keyword-face 
font-lock-negation-char-face 
font-lock-preprocessor-face 
font-lock-string-face 
font-lock-type-face 
font-lock-variable-name-face 
font-lock-warning-face 

Bạn có thể dễ dàng ghi đè giá trị của chúng nếu bạn muốn (hoặc sử dụng chủ đề màu khác). Một số chế độ xảy ra để xác định khuôn mặt bổ sung là tốt.

Các vấn đề liên quan