Tôi muốn xem liệu có cách nào để thay đổi chế độ nền trước và nền màu chế độ trên chế độ chính,Thay đổi màu chế độ dòng Emacs dựa trên chế độ chính
Tôi đã suy nghĩ để thêm logic trong số
(add-hook 'after-change-major-mode-hook
Nhưng, tôi không có tất cả các emacs lisp kinh nghiệm để thực hiện thay đổi đó. Đây là logic:
switch major-mode:
case "emacs-lisp-mode":
(set-face-foreground 'mode-line "ivory")
(set-face-background 'mode-line "DarkOrange2")
case "ruby-mode":
(set-face-foreground 'mode-line "white")
(set-face-background 'mode-line "red")
...
default:
(set-face-foreground 'mode-line "black")
(set-face-background 'mode-line "white")
end switch
Rất cám ơn trước !.
THANK YOU VERY MUCH. Điều này làm việc đẹp :) Bạn cũng có thể tử tế để giúp tôi kết hợp add-hook của bạn bằng cách sử dụng một danh sách được xác định trước? Tương tự như gợi ý "sds" nhưng thêm móc cho tất cả các chế độ trong danh sách được xác định trước với màu sắc? Cảm ơn! –
Bạn có nghĩa là như '(dolist (x '((emacs-lisp-mode: foreground" ngà ": background" DarkOrange2 ") (ruby-mode: foreground" white ": background" red "))) (add-hook (intern (concat (ký hiệu-tên (car x)) "-mode")) (lambda() (dòng-remap-add-relative 'mode-line (khuyết điểm (cdr x)' (mode-line))))))) 'tho hãy cẩn thận rằng nó sẽ chỉ hoạt động trong bộ đệm' lexical-binding: t'. – Stefan