Як я можу змінити колір тла одного буфера emacs?


8

Я хочу зробити інтерактивні буфери SQL, які підключені до виробничих БД дуже очевидними, тому моя думка полягала в тому, щоб змінити фон буфера на темно-червоний колір.

set-background-colorне працює, хоча; він встановлює колір усіх кадрів на вказаний колір.

Як я можу змінити фон лише одного буфера?

Відповіді:


9

Для цього я створив пакет пакету emacs: https://github.com/vic/color-theme-buffer-local, він використовує Emacs 'Face face' для перестановки обличчя для локальної установки тем.


(require 'color-theme-buffer-local)
(add-hook 'java-mode-hook (lambda nil (color-theme-buffer-local 'color-theme-robin-hood (current-buffer)) ))


6

Ви не можете.

Колір фону, як правило, залежить від кадру.

Ви можете встановити колір фону defaultобличчя як конкретний кадр, використовуючи set-face-background, наприклад:

(set-face-background 'default "#CCCCCC" (window-frame (frame-selected-window))

Налаштування кадру, як правило, контролюються за допомогою параметрів кадру . Тепер, якщо уважно подивитись на background-colorпараметри кадру , ви побачите, що колір тла за замовчуванням береться з defaultобличчя - саме тому вищевказаний elisp має ефект.

Минуле це, здається, закриваєш, що ти можеш прийти до кольору фонового буфера, використовуючи мінорний режим buffer-face-mode(доданий у 23.1) - однак це змінює лише фон тексту тексту буфера, а не весь фон.


Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.