23

素晴らしいConEmu-Maximus5コンソールで256色を取得しようとしています。

更新: 8色のみが表示されるようになりました。'$ tputcolors'の出力は'8'なので、私は知っています

私は指示に従い、アクティベートしました:

  • TrueMod(24ビットカラー)のサポート
  • ConEmuHkを注入します
  • ANSI x3.64 /xterm256色

どうしたらいいのかわからない'バッファ/スライドをチェックしてください。'

  • 私はウィンドウズ7にいます。
  • カスタムダイレクトリンクでConEmuを起動するので、cygwinbashファイルが読み込まれます。
"C:\ Program Files \ ConEmu \ ConEmu64.exe" / cmd "" C:\ cygwin \ bin \ bash.exe "--login -i"
  • 私のbashrcプロファイルには->exportTERM=cygwinがあります
  • これは私のカスタムコマンドプロンプトです:
    関数プロンプト{

    ローカルRED="\ [\ 033 [0; 31m \]"
    ローカルGREEN="\ [\ 033 [0; 32m \]"
    ローカルCOOLRED="\ e [38; 5; 173m"
    ローカルCOOLGREEN="\ e [38; 5; 113m"
    PS1 = "$ COOLRED \ u @ \ h $ LIGHT_COOLGREEN \ $ PWD \ [\ e [0m \]>"

    }

    促す
  • ちなみに、ONでのConEmuANSIの値。

スクリーンショットがいくつかあります。

ここに画像の説明を入力してください

ご覧のとおり、コマンドプロンプトは、256色の設定が気に入らないため、非常に贅沢に見えます。変数COOLREDとCOOLGREENをREDとGREENに置き換えると、問題ないように見えますが、256色ではありません。

設定のその他のスクリーンショット:

ここに画像の説明を入力してください ここに画像の説明を入力してください

そして最後のシーンショットはcygwinのミントです。そこはすべて大丈夫です。フル256色をサポート。残念なことに、ミンティにはタブがありません。それが主に私がConEmuに移行しようとしている理由です。

ここに画像の説明を入力してください

助けてくれてありがとう!!!

4

4 に答える 4

13

BashはANSIシーケンスをコンソールに送信しません。それら自体を処理しようとします。また、* nix端末は通常8色(256色モードを考慮しない)であるため、bashはWindows端末に共通の16色パレットではなく8色パレットを使用します。

_isatty256色はその端末でゼロを返すため、minttyで機能すると思います。ただし、ConEmuではゼロ以外の値を返します。将来のビルドでこのパズルを解く可能性があります(一部のアプリケーションでPTY機能を備えた実際の端末を作成する方法)。

質問は

実際には256色は必要ありません。プロンプトパレットを再定義するには、「前景色を背景色に拡張する」機能を使用できます。breafの場合-ConEmuで色16、17などを設定し、bashのプロンプト背景を#5(ConEmuで構成可能)に設定し、出来上がり。

ConEmuの「Extend...」処理に小さなバグがありました。ビルド121016以降を使用してください。

PS1="\e[30;45m\u@\h \e[34;45m$PWD \[\e[0m\] > "

ConEmuと実際のコンソールウィンドウ

ConEmu設定

次の情報は質問と一致しませんが、役立つ場合があります

現在のバージョンは、「全体」のコンソールバッファで256色モードをサポートしていません(制限、はい、プランで削除します)。

だから、あなたは2つの方法で行くことができます

  • スクロールバックバッファを完全に無効にします(多くの方法、たとえば「cmd -cur_console:h0」)
  • スクロールバッファの下部で動作します。
于 2012-10-16T12:22:33.900 に答える
2

また、256色のサポートを機能させることができませんでした(色は表示されますが、16色のパレットと同じように見えました)。「xterm」の配色に切り替えたところ、ネイティブのWindows実行可能ファイル(Pythonなど)では機能しますが、Cygwinを使用するものでは機能しません。Cygwinには、オフにできないターミナルエスケープシーケンス処理があり、ConEmuHkインジェクションが無効になっているようです。

これは、ConEmuwikiのここに文書化されています。

于 2014-12-08T16:31:37.653 に答える
1

私はこの奇妙な問題と奇妙な解決策を持っていました、そしてどういうわけかそれはうまくいきます。これが他の人にもあるかどうかはわかりませんが、これが役立つ場合に備えて、情報を共有するだけです。

私はコンソールに色を付けるのが好きで、実際の256ビットのRGB色を完全に利用するのが好きです。コーンミュー/CMDer(私はフォークされたものを使用しました)命令のように構成した後。私の256ビットカラーリングテストはこのように見えました。ここに画像の説明を入力してください。少しいじって、bash256ビット機能でテストした後。つまり、次のコマンドを実行します。

for i in {1..16384}; do echo -en "\e[38;5;${i}mTest";done

*注意は{1..256}であるはずですが、より長いカラー印刷のためにそれを強制しなければならなかったので、より長い乱数を取りました..結果を与える: ここに画像の説明を入力してください

しかし、2〜3回実行すると、このきれいな灰色の色合いが突然見られました ここに画像の説明を入力してください

そしてそれはそれから働きました。 ここに画像の説明を入力してください

奇妙ですが、私はこれを機能させました。CMDerは、最適化の理由で256ビット全体を使用しておらず、キックインされたときにトリガーされる可能性がありますか??、

PS:コンソール用のCMDerコマンド:

-cur_console:fp -cur_console:d:"C:\WS":P:"<Cobalt>":t:"test":C:"C:\Arbeit\tools\Iconka-Buddy-Ninja.ico" set "PATH=%ConEmuDrive%\Program Files\Git\usr\bin;%PATH%" & "%ConEmuDrive%\Program Files\Git\git-bash.exe" --no-cd --command=%ConEmuBaseDirShort%\conemu-msys2-64.exe /usr/bin/bash.exe -l -i
于 2018-12-30T16:50:41.490 に答える
-1
local COOLRED="\e[38;5;173m"

local COOLGREEN="\e[38;5;113m"

それら\eはおそらくCprintf文字列からのものです。シェルスクリプトでは必要ありません。\033元の表記に固執します。また、あなたはクロージングを逃しています\]。これらの行は次のようになります

local COOLRED="\[\033[38;5;173m\]"

local COOLGREEN="\[\033[38;5;113m\]"
于 2012-10-16T11:13:26.367 に答える