フォローするhttps://unix.stackexchange.com/a/94508/674使用する色を変更しますls
。これはbashで動作します。
Emacs(Mxシェル)の「シェル」モードでバッファを開くと、変更は機能しません。 Emacs "Shell"モードに同じ変更を適用する方法が疑問に思います。
ベストアンサー1
一部のバージョンでは、ls
ターミナルがサポートするカラーコードをterminfoデータベースで知っている必要があります。
まず、次のファイル(dumb-emacs-ansi.ti)を作成します。
dumb-emacs-ansi|Emacs dumb terminal with ANSI color codes,
am,
colors#8, it#8, ncv#13, pairs#64,
bold=\E[1m, cud1=^J, ht=^I, ind=^J, op=\E[39;49m,
ritm=\E[23m, rmul=\E[24m, setab=\E[4%p1%dm,
setaf=\E[3%p1%dm, sgr0=\E[m, sitm=\E[3m, smul=\E[4m,
これは、Emacs独自のブランドANSIコードをサポートする私が作成したTerminfoエントリです(太字、イタリック体、アンダースコアを別々の属性として使用して8つの色のみをサポート)。にコンパイルしてくださいtic dumb-emacs-ansi.ti
。
次に、.bashrcに追加します。
if [ "$TERM" = dumb ] && [ "$INSIDE_EMACS" ]; then
export TERM=dumb-emacs-ansi COLORTERM=1
fi
Bashを再起動しなくても、既存のシェルセッションでエクスポートラインを実行して更新できます。