Emacs内のターミナルエミュレータで8色以上を取得する


14

私の理解では、ansi-term8色しかサポートされていません(これについては、こちらのredditで説明します)。

一方、端末エミュレータ(例えば数の増加tmuxiTerm2OS Xで)サポートTrue color(24ビット、すなわち1600万色)。良いリストはここにあります

  • 8色のキャップがに固有の場合、ansi-termこの制限に対処しようとしているターミナルエミュレーション用のパッケージは他にありますか?
  • True colorEmacsのターミナルエミュレータをサポートする予定はありますか?

そして多分確認するために:

  • ansi-termバッファーに8色以上を効果的に使用する方法はあり ますか?
  • Emacsで色ansi-color-names-vectorを設定する推奨方法はまだ調整されていますか?ansi-term25

エミュレータが「トゥルーカラー」をサポートしているかどうかをテストする方法:

以下は、エミュレータがTrue Colorをサポートしているかどうかをテストする上記のリンクの抜粋です。

awk 'BEGIN{
    s="/\\/\\/\\/\\/\\"; s=s s s s s s s s;
    for (colnum = 0; colnum<77; colnum++) {
        r = 255-(colnum*255/76);
        g = (colnum*510/76);
        b = (colnum*255/76);
        if (g>255) g = 510-g;
        printf "\033[48;2;%d;%d;%dm", r,g,b;
        printf "\033[38;2;%d;%d;%dm", 255-r,255-g,255-b;
        printf "%s\033[0m", substr(s,colnum+1,1);
    }
    printf "\n";
}'

サポートされている場合、最終行には以下に示すような素敵なグラデーションが表示されます。

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


私が読んだものから、NeoVim(VIMエディター)が2015年にサポートを追加し、Emacsのバグに追加を要求されました。


Emacs 26の時点では、ansi-color-names-vectorカスタマイズできる変数としては見えません。それに加えて、multi-termzshをシェルとして実行します。スクリプトは正の出力を生成しません:
spav

回答:


2

ansi-termは8色しかサポートしていないのは正しいですが、ansi-color.elの代わりにxterm-color.elを使用すると、256色になります。

「ANSIおよびxterm-256 Emacs用カラーテキストプロパティトランスレーター」

https://github.com/atomontage/xterm-color


ansi-termEmacsでこれをどのくらい正確に使用しますか?
アメリオバスケスレイナ

これは意図した使用方法ではありませんが、次を参照してください:github.com/atomontage/xterm-color/issues/2
Erik B
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.