2010-06-22 32 views
6

Tôi sử dụng biểu tượng cảm xúc để chỉnh sửa một số loại tệp và muốn một hàng đợi trực quan dễ dàng cho biết tệp .c từ tệp .vhd hoặc .py chẳng hạn. Làm cách nào để thêm màu nền tùy chỉnh vào chế độ chính cho ngôn ngữ đó?Màu nền tùy chỉnh của Emac theo chế độ

Trả lời

6

Bạn có thể thực hiện điều này thông qua móc. Trong số những thứ khác bạn có thể móc là khi một chế độ chính mới bắt đầu. Đặt một cái gì đó như thế này vào tập tin .emacs của bạn, và emacs sẽ thiết lập màu nền của bạn để màu tím mỗi khi bạn đi vào chế độ Python.

(add-hook 'python-mode-hook 
      (lambda() 
       (set-background-color "purple"))) 

Đặt lại màu nền thành mặc định trong trường hợp bạn chuyển về chế độ không có móc nền đặt rõ ràng để nó được để lại dưới dạng bài tập cho người đọc.

Bạn cũng có thể tự thiết lập màu nền với M-x set-background-color

+0

Cảm ơn, đó là những gì tôi đang tìm kiếm. –

+0

Lưu ý rằng bạn không thể thay đổi màu nền * cho mỗi bộ đệm * hoặc * trên mỗi cửa sổ *, chỉ trên mỗi khung hình (xem câu trả lời của Trey Jackson bên dưới). – Thomas

4

Bạn không thể đặt màu nền trên cơ sở đệm-by-đệm. Xem câu hỏi SU How can I change the background colour of a single emacs buffer?.

Câu trả lời đầu tiên cho thấy cách bạn có thể thay đổi nền cho một khung Emacs duy nhất, có thể phù hợp với bạn nếu bạn có một khung cho mỗi tệp (hoặc mỗi chế độ).

3

Đối với hậu thế, vì chuỗi này là 4 tuổi, giờ đây, bạn có thể sử dụng Emacs 24.4+ để thay đổi khuôn mặt ở cấp bộ đệm cục bộ. Chỉ cần xác định khuôn mặt và sử dụng (face-remap-add-relative) để trao đổi bất kỳ khuôn mặt nào bạn muốn với nó.

Xác định một defface:

(defface my-special-face '((t :background "aqua"))) 

Sau đó, thêm một cái móc để chế độ bạn chọn:

(add-hook 'python-mode-hook 
      (lambda() 
      (face-remap-add-relative 'default 'my-special-face))) 
Các vấn đề liên quan