Как я изменил цветовую схему командной строки?

17

Несколько лет назад я изменил цветовую схему командной строки. Теперь я забыл, как именно я это сделал.

  1. Это навсегда. Таким образом, COLORкоманда не может быть и речи.
  2. Он не поврежден независимо от того, откуда я запускаю cmd. Таким образом, об изменении цвета из свойств ярлыка не может быть и речи, потому что я получаю цветовую схему даже при запуске cmd из Run или из исходного местоположения.
  3. Это не позволяет мне переопределить его с помощью свойств ярлыка. И это проблема. Я создаю ярлык cmd и меняю его цветовую схему из свойств. Но это не отражается даже после перезагрузки.

Итак, единственный вариант, который я оставил: использовать тот же метод, который я использовал несколько лет назад. Как я изменил цвет CMD?

Apple II
источник

Ответы:

10

Цвета cmd могут быть изменены в реестре.

Перейдите к HKEY_CURRENT_USER\Software\Microsoft\Command Processorи проверьте DefaultColorзапись. Значение по умолчанию 0(ноль). Чтобы изменить цвета, введите значение из двух шестнадцатеричных цифр, первая из которых задает цвет фона, а вторая - цвет текста. Возможные значения следующие:

0 - black
1 - blue
2 - green
3 - aqua
4 - red
5 - purple
6 - yellow
7 - white
8 - grey
9 - light blue
A - light green
B - light aqua
C - light red
D - light purple
E - light yellow
F - bright white

Так, например, значение 4Aдаст вам светло-зеленый текст на красном фоне.
Обратите внимание, что значения, в которых две цифры одинаковы, недопустимы, поэтому вы не можете иметь одинаковый цвет для текста и фона.

Если вышеупомянутое не работает, проверьте ту же самую запись под HKEY_LOCAL_MACHINE, возможно, вы изменили ее там.

Индрек
источник
Конечно, вам придется перезапустить консоль после внесения изменений, чтобы она вступила в силу.
Synetech
Чтобы получить доступ к этим настройкам, нажмите [windows windows] + [r], затем введите regedit.exe, затем нажмите OK, чтобы открыть приложение редактора реестра.
Дэвид Алан Кондит
Нечто очень интересное происходит. Ваше решение сработало, но на короткое время цвет экрана стал фиолетовым. И после этой миллисекунды это белый и черный текст. Почему изначально фиолетовый фон? Хотя я изменил это в regedit. @Indrek
Пирог
Он меняется на белый фон и черный текст, потому что я изменил это значение в regedit. Но почему это фиолетовый фон на короткое время?
Пирог
16

Правильный способ навсегда установить цвета (и другие параметры) консоли / командной строки:

  1. Откройте командную строку
  2. Щелкните правой кнопкой мыши заголовок заголовка или нажмите Alt+Space
  3. Выберите по умолчанию из контекстного меню
  4. Установите нужные свойства (цвета на вкладке « Цвета »)
  5. Нажмите ОК

Метод, который дал Tapped-Out, работает, потому что в Windows 7 есть ошибка, когда опция Properties изменяет значения по умолчанию, а не только для текущей консоли, и ее можно исправить в любое время.

Метод, который дал Индрек, также работает, но использовать предоставленный интерфейс проще (и безопаснее), чем редактирование реестра вручную, особенно при настройке цветов, поскольку вам не нужно возиться с шестнадцатеричными значениями. Кроме того, вам не нужно беспокоиться о настройке разрешений с помощью интерфейса.

Наконец, слово предупреждения. Каждый тип консоли получает свой собственный набор параметров, как и каждый ярлык для консоли . Другими словами, если вы создаете ярлык для консоли, изменение параметров изменит ярлык и будет применяться только к консоли, открытой ярлыком, а не через другие ярлыки или средства. Кроме того, если вы запустите консольное приложение и измените параметры, они будут применены только к этому консольному приложению, а не к другим консолям, таким как командная строка.

Чтобы уточнить, происходит следующее: все консоли (командные строки и консольные приложения) используют настройки по умолчанию (хранятся в HKCU\Console) до тех пор, пока они не будут специально изменены, после чего они будут копировать эти настройки и использовать их с этого момента. Например, если вы откроете edit.com, он первоначально будет использовать настройки в HKCU\Console, но если вы внесете в него изменения, будет сделана копия HKCU\Console\c:windows_system32_edit.com, и изменения по умолчанию больше не будут отражаться, потому что настройки command.comсуществуют (и переопределяют значения по умолчанию). ). Это похоже на то, как пользовательские настройки переопределяют системные настройки (например, HKCU переопределяет значения по умолчанию HKLM).

Synetech
источник
Я не понимаю ваш последний абзац. Я использую командную строку vim для редактирования текстовых файлов. Когда я меняю цветовую схему из свойств ярлыка cmd, такая же схема применяется к консоли редактирования файла vim. Как?
Apple II
1
Все консоли используют значения по умолчанию, но если вы затем установите параметры для определенного консольного приложения, он создаст копию специально для этого приложения, и они будут использоваться с этого момента. Когда вы изменяете обычные настройки командной строки, VIM использует их, но если вы затем внесете изменения в сам VIM, он будет использовать их и перестанет использовать настройки по умолчанию. Я отредактирую ответ, чтобы расширить это.
Synetech
Но свойства ярлыка cmd не являются глобальными значениями по умолчанию. Как VIM получает это?
Apple II
Как я уже сказал, все консоли, которые не имеют своих специфических свойств, используют значения по умолчанию в HKCU\Console. Командная строка VIM является консольным приложением и поэтому использует консольную подсистему, поэтому при запуске CSRSS задает для нее настройки по умолчанию, как и любое другое консольное приложение. Если вы измените настройки для VIM, он будет использовать их вместо. Если вы сделаете ярлык для VIM, вы можете изменить настройки только для этого ярлыка и заставить VIM использовать значения по умолчанию при запуске другими способами. Вы даже можете сделать несколько ярлыков, каждый со своими настройками.
Synetech
Нет .. Нет ... Я не говорю о ярлыке VIM. Я говорю о ярлыке cmd. Консоль VIM использует цветовую схему консоли cmd, с которой вы ее инициировали. Вы можете проверить это.
Apple II
5

На самом деле измените цвета консоли Windows (измените, что такое «синий»)

Чтобы фактически изменить цвета (тему) консоли (Powershell, cmd, bash и т. Д.) Для Windows 10, используйте Color Tool , который поддерживается консольной командой Microsoft.

colortool -b solarized_dark

Узнайте больше о colortool .

введите описание изображения здесь

Чтобы изменить используемый цвет (выберите другой цвет для синего из ограниченного набора цветов)

Конечно, вы можете попробовать это с самой командной строкой, но вы можете изменить только цвет текста:

  1. щелкните значок командной строки в верхнем левом углу окна и выберите «Свойства».
  2. Выберите вкладку Цвета, а затем
  3. выберите цвет, который вы хотите для текста на экране и фона. Вы также можете ввести свою собственную цветовую комбинацию RGB, если хотите.
IgorBeaz
источник
Это, безусловно, лучший ответ - все остальное позволяет выбирать только из ограниченного набора цветов.
mikemaccana
3

В cmd щелкните правой кнопкой мыши строку заголовка и выберите свойства:

контекстное меню строки заголовка

Нажмите на вкладку Цвета:

свойства - вкладка цвета

Вы можете изменить настройки цвета командной строки здесь. Из моего тестирования, это глобально меняет цветовую схему.

nc4pk
источник
1
Это напрямую связано с горячими свойствами. Когда сессия не запускается из ярлыка, она временная ...
Apple II
Ну, вы также можете щелкнуть левой кнопкой мыши по значку cmd (в строке заголовка), чтобы попасть туда.
Apple II
Я установил пользовательские цвета таким образом, а затем запустил его из диалогового окна «Выполнить» (Win + R). Пользовательские цвета были сохранены между сеансами. Как это временно?
nc4pk
1
Это известная ошибка: superuser.com/questions/323059/…
Apple II
1

Независимо от того, в каком каталоге вы просто используете эту команду, чтобы изменить цвет текста:

color 0aцвет будет изменен на зеленый;
color 0bцвет будет изменен на синий;
color 0c, цвет будет изменен на красный.

Харшпал Сингх
источник
Это не отвечает на вопрос, потому что ОП четко сказал, что « COLORкоманда вне вопроса».
Камиль Мачоровский