Изменение цвета фона активного буфера / панели в Emacs или Vim - PullRequest
11 голосов
/ 14 октября 2010

Я обычно работаю в полноэкранном режиме с Vim и Emacs на 30-дюймовом мониторе, что означает, что я склонен к большим расщеплениям. Моделин активной панели меняет фон в Vim и Emacs, но иногда это не так легко увидеть индикатор активногоpane.

Есть ли способ изменить цвет фона активной панели, чтобы я мог сразу увидеть, в каком разделении я сейчас нахожусь?

Решение Vim или Emacsбыло бы хорошо.

Ответы [ 7 ]

7 голосов
/ 14 октября 2010

Как насчет настройки цвета вашей активной строки режима?

M-x customize-face RET mode-line 

Измените фон на «красный», а на переднем плане - «белый», и вы не сможете сосредоточиться на чем-либоиначе, кроме вашего активного буфера:)

2 голосов
/ 06 февраля 2013

Три года прошло с тех пор, как этот вопрос. Есть режим, который позволяет сделать это сейчас, взгляните на color-theme-buffer-local .

1 голос
/ 27 августа 2017

Mx package-install RET auto-dim-other-buffers RET .

"Визуально делает устаревшие буферы менее заметными"

Репо здесь: https://github.com/mina86/auto-dim-other-buffers.el

1 голос
/ 14 октября 2010

Vim ничем не отличается от Emacs тем, что фактический цвет фона не может быть изменен в пределах общего окна приложения, все "окна" в Vim должны иметь одинаковый фон.Как говорит dash-tom-bang, строка состояния может использоваться, чтобы дать некоторую визуальную подсказку, какое окно активно.Это делается с помощью команды highlight, чтобы задать для групп подсветки StatusLine и StatusLineNC разные цвета, активное окно будет иметь строку состояния с цветом подсветки StatusLine, а все остальные окна будут иметь «Нет».Курсор 'StatusLineNC выделение.

Существует также плагин txtfmt, который (несмотря на некоторые вводящие в заблуждение скриншоты) на самом деле не позволяет иметь разные фоны, но может быть полезным, чтобы придать некоторую дополнительную дифференциацию окнамнемного неуклюже, требуя от вас добавить маркерные символы в ваш текст: http://www.txtfmt.webs.com/

0 голосов
/ 05 мая 2019

С этим пакетом 'highlight-focus' это возможно и очень легко сделать:

https://github.com/kriyative/highlight-focus

Что мне нужно было сделать:

Mx пакет-install RET use-package RET.

Поместите файл 'highlight-focus.el' в папку, которую ищет emacs.

При необходимости поместите что-то подобное в ваш .emacs:

(add-to-list 'load-path "~/.emacs.d/folder_with_lisp_files/")

Тогда в моих .emacs:

    (use-package highlight-focus
      :config
      ;; set the background of the mode-line
      (setq highlight-focus:face 'mode-line
            highlight-focus:face-property :background
            highlight-focus:face-property-value "DarkMagenta")
       ;; set the background
        (setq highlight-focus:face 'default
            highlight-focus:face-property :background
            highlight-focus:face-property-value "black")) ;; change color to desired value here
0 голосов
/ 14 октября 2010

В Vim есть цветовые схемы, благодаря которым строка состояния действительно появляется. Это не совсем то, что вы ищете, но вы можете заставить его работать. Поиграйте со встроенными цветовыми схемами в окне с большим количеством разделений (и типов файлов), и вы сможете увидеть эффекты. Я помню, как думал, что один из них был ужасен из-за изменения цвета строки состояния, с инвертированных цветов на что-то с ярко-желтым текстом в активном окне. Я ненавидел это повсюду, но на днях я добавлю что-то подобное в мою собственную цветовую схему.

0 голосов
/ 14 октября 2010

Для Emacs вы не можете этого сделать. Вы можете изменить фон только для рамки.

См. Связанные вопросы:

Одним из вариантов может быть использование менеджера окон листов и использование нескольких различных кадров Emacs. И тогда вы можете использовать пакет FrameMove , чтобы легко перемещаться между кадрами.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...