Powershellの表示色を変更して見やすくする

MacOSのTerminalからWindowsにsshしたとき、背景白では非常に見づらい色になる。白地に黄色は老眼には辛い。

この記事がわかりやすい。

要点

  • Get-PSReadLineOption で現在の色一覧を表示する
  • 変更したい色を次のコマンドで変更する
  • 下の例はDefault,CommandColorをBlackにしている
Set-PSReadLineOption -Colors @{
 Default   = [ConsoleColor]::Black
 "Command" = [ConsoleColor]::Black
}
  • 変更されたことを確認する
  • 変更するコマンドをPowershellのprofileに追加する
    • 場所は$profileでわかる

エラーの色などは上の方法ではダメだった

$Host.PrivateData.ErrorForegroundColor = [System.ConsoleColor]::Black

現在の設定

Set-PSReadLineOption -Colors @{
        Default                 = [ConsoleColor]::Black
        "Comment"               = [ConsoleColor]::Black
        "Command"               = [ConsoleColor]::Black
        "ContinuationPrompt"    = [ConsoleColor]::Black
        "Emphasis"              = [ConsoleColor]::Black
        "Error"                 = [ConsoleColor]::Black
        "Keyword"               = [ConsoleColor]::Black
        "Member"                = [ConsoleColor]::Black
        "Number"                = [ConsoleColor]::Black
        "Operator"              = [ConsoleColor]::Black
        "Parameter"             = [ConsoleColor]::Black
        "InlinePrediction"      = [ConsoleColor]::Black
        "Selection"             = [ConsoleColor]::Black
        "String"                = [ConsoleColor]::Black
        "Type"                  = [ConsoleColor]::Black
        "Variable"              = [ConsoleColor]::Black
}
$Host.PrivateData.DebugForegroundColor = [System.ConsoleColor]::Black
$Host.PrivateData.ErrorForegroundColor = [System.ConsoleColor]::Black
$Host.PrivateData.ProgressForegroundColor = [System.ConsoleColor]::Black
$Host.PrivateData.VerboseForegroundColor = [System.ConsoleColor]::Black
$Host.PrivateData.WarningForegroundColor = [System.ConsoleColor]::Black