OS Xターミナルの色[終了]


492

私はOS Xを初めて使用し、しばらくの間Ubuntu Linuxを使用してMacを入手したばかりです。私が理解しようとしている多くのことの中には、私の実行中ls -laまたは(Linuxで)表示されているもののように、ターミナルウィンドウに色がないことgit status...

シェルで色をアクティブにする方法がわかりません。



32
「オフトピック」として閉じられていますが、タグを見てください:osx、シェル、ターミナル、カラー...私にはそれが完全にトピックのようです。OSXをカバーします。これはシェルについてであり、ターミナルを使用し、色を追加したいと考えています。bashプロファイルを編集する必要があるので、ええ、それはトピックに関するものだと思います。
Danijel-James W 2014

12
明らかにトピックでは、それはbashスクリプトについてです。
スーパールミナリー

5
閉じた、冗談でしょ!明らかに、これは多くの(主に新しい)Macプログラマにとって有用で価値があります。それらのクローズがトピックから外れていることについて真剣である場合は、SE Think Differentと言うように移行しないでください。他のSEグループで使用されている機能をサポートしていると思います。
Cam_Aust 2017

この答えを見てください:stackoverflow.com/a/48216286/3782119
Shayan Amani

回答:


745

グローバルターミナルの色を有効にするために私が見つけたソリューションは次のとおり です。

.bash_profile(OS X 10.8以降)—または(10.7以前の場合):.profileまたは.bashrcまたは/etc/profile(可用性に応じて)—ホームディレクトリで編集し、次のコードを追加します。

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced

CLICOLOR=1 端末のカラーリングを有効にするだけです。

LSCOLORS=... 特定のアイテムに色を付ける方法を指定します。

を編集した後.bash_profile、ターミナルを起動し、次のコマンドを実行して強制的に変更を加えます。

source ~/.bash_profile

次にTerminal > Preferences、に移動し、ProfilesタブをクリックしてからTextサブタブをクリックして、チェックしDisplay ANSI Colorsます。

Sierraで確認済み(2017年5月)。


21
これを.bash_profileに追加するだけでうまくいきました。.profileに追加しても機能しませんでした。ありがとう!
Morten、2014

10
編集したばかりで、とても/etc/profile魅力的です。
Cyclonecode

2
:@Mortenとそのbashのプロファイルに苦しんで任意の他の人に、説明と解決のためにこれらの答えを参照stackoverflow.com/a/7780055/665488superuser.com/a/244990を
カムジャクソン

4
dotfiles / .aliasesには素晴らしいexport LS_COLORSステートメントがあります
bobobobo 2013

16
Linuxと同じ色(少なくともDebianとUbuntu)が必要な場合は、LSCOLORS=ExGxFxdxCxDxDxxbaDecac
remram

125

起動スクリプトの1つでLinuxベースの構文を使用できます。これをOS X Mountain Lionボックスでテストしたところです。

例えば。あなたの~/.bash_profile

export TERM="xterm-color" 
export PS1='\[\e[0;33m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

これはあなたに素敵な色のプロンプトを与えます。色付きのls出力を追加するには、を追加できalias ls="ls -G"ます。

テストするには、a source ~/.bash_profileを実行して現在の端末を更新します。

色についての補足:色の前にはエスケープシーケンスが\eあり、エスケープシーケンスで構成[style;color+m]およびラップされた色の値によって定義され[]ます。例えば。

  • 赤= \[\e[0;31m\]
  • 太字の赤(スタイル1)= \[\e[1;31m\]
  • クリアカラーリング= \[\e[0m\]

ルートの.bash_profileに常に少し変更したカラースキームを追加して、ユーザー名を赤にしているので、ルートとしてログインしているかどうかを常にはっきりと確認できます(多くのターミナルウィンドウを開いている場合の間違いを防ぐために便利です)。

/root/.bash_profile

PS1='\[\e[0;31m\]\u\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$ '

オンラインのすべてのSSHアカウントについて、ホスト名を赤で表示して、ローカル端末とリモート端末のどちらにいるかを区別します。.bash_profileサーバーのホームディレクトリにあるファイルを編集するだけです。サーバーに.bash_profileファイルがない場合は、ファイルを作成できます。ログイン時にそのファイルを入手する必要があります。

これが期待どおりに機能しない場合は、MacOSをあまり使用していないため、以下のコメントをいくつか読んでください。

これをリモートサーバーで実行する場合は、~/.bash_profileファイルが存在するかどうかを確認します。そうでない場合は、作成してください。次回のログイン時に自動的に読み込まれます。


2
オンラインでSSHアカウントのbash_profileをどのように編集しますか?
アンディ

1
私のようにPS1とのより良い$PWD代わりの\uような、:PS1=\[\e[0;31m\]$PWD\[\e[0m\]@\[\e[0;32m\]\h\[\e[0m\]:\[\e[0;34m\]\w\[\e[0m\]\$
cregox

1
プロンプトのコードの詳細は次のとおりですwiki.archlinux.org/index.php/Color_Bash_Prompt#Step_by_step
JohnK、2013

1
これらのリンクも役に立ちます:ANSIカラーコードエスケープシーケンスPS1コードの詳細
JohnK、2013

1
El Capitan(OS X 10.11)でこれらのカラーコードを使用すると、PROMPT_COMMANDカラーが正しく表示されないという問題がありました。でPROMPT_COMMAND使用する場合、の\033代わりに構文を使用する必要があることがわかります\e。プロンプトの前に色付きのタイムスタンプを追加する例(~/.bashrcまたはにこれを含めます~/.bash_profile):PROMPT_COMMAND="${PROMPT_COMMAND}; echo; echo -e '\033[0;35m'\[\$(date +%F\ %T)\]'\033[m'"
user5359531

42

MartinVonMartinsgrünメソッドと4Levelsメソッドは、Mac OS X Mountain Lionでうまく機能することが確認されています。

更新する必要があるファイルは〜/ .profileでした。

しかし、私のお気に入りのアプリケーションであるiTerm 2を推奨しない限り、この質問を残すことはできませんでした。

iTerm 2では、ファイルからグローバルカラースキームを読み込むことができます。いろいろな色スキームを試して、試すのは本当に簡単です。

これは、iTerm 2ウィンドウと色設定のスクリーンショットです。 iTerm2 Color PreferencesスクリーンショットMac

以下を〜/ .profileファイルに追加すると、iTerm 2は色を上書きできました。

export CLICOLOR=1
export LSCOLORS=GxFxCxDxBxegedabagaced
export PS1='\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '

ここにいくつかの素晴らしいプリセットがある素晴らしいリポジトリがあります:

mbadolatoによるGithubのiTerm2カラースキーム

おまけ:「システム全体のホットキーでiTerm2を表示/非表示」を選択し、キーをBetterTouchToolにバインド して、マウスジェスチャーで端末を瞬時に非表示/表示します。


1
iTerm2がシステムで頻繁にクラッシュしたため、oh-my-zsh github.com/robbyrussell/oh-my-zshに切り替えました。利用可能なテーマもあります
LuckyMalaka 2013

おい!baskervilleリンクを適切なものに変更してください。コピーと貼り付けが間違っているようです。
Jevgeni Smirnov 2014

@NickWoodhams、スクリーンショットで使用しているカラーテーマは何ですか?
Indradhanush Gupta

1
@IndradhanushGupta配色がわからない、それは少し前のことだった。しかし、今私はPure ZSHテーマを使用していて、それを愛しています。github.com/sindresorhus/pure
Nick Woodhams

1
これは素敵な配色で、// dirsなどのアイテムタイプをチェックするために必要なもの
rio

17

lsをカラー化したい場合は、〜/ .bash_profileファイルを編集し、次の行を追加する必要があります(まだ記述されていない場合)。

source .bashrc

次に〜/ .bashrcファイルを編集または作成し、lsコマンドにエイリアスを書き込みます。

alias ls="ls -G"

source .bashrcすでに起動されている場合は、端末を入力するか、単に新しい端末を開く必要があります。

lsJusteにさらにオプションが必要な場合は、マニュアル(man ls)をお読みください。オプションは、GNU / Linuxシステムの場合とまったく同じではありません。


6
やや良いオプションは、「エイリアス」の定義を「エクスポートCLICOLOR = ""」に置き換えることです。これには、ターミナルセッション中にシェルを切り替えた場合でも、環境変数が継承されている限り、通常は機能し続けるという利点があります(エイリアスは継承されません)。
Ned Deily、2009年

5

tcshを使用している場合は、~/.cshrcファイルを編集して次の行を含めます。

setenv CLICOLOR 1
setenv LSCOLORS dxfxcxdxbxegedabagacad

マーティンが言うように、LSCOLORSは使用する配色を指定します。

使用したいLSCOLORSを生成するには、このサイトをチェックアウトしてください



1
私はあなたが正しいと思います。私は新しいマックを手に入れました、そしてそれはデフォルトとしてbashを持っていました。ITは私の仕事で私のMacをデフォルトでtcshに設定し続けていると思います。
smaccoun 2013年

1
リンクは素晴らしいです!
Sankalp 2016

4

$ TERMが与えるものを確認してください:私はxterm-colorで、ls -alGはカラー化された出力を行います。


まあ、キャピタンと一緒にxterm-256color、私は色が出ません。CLICOLORそしてLSCOLORSそれを変更しないでください):
drevicko 2016

2

ラボでMac OS Xを使用して作業していたときに、(X11ではなく)ターミナルを使用してターミナルの色を取得し、(Macのメニューバーから)プロファイルを編集することができました。インターフェイスは色が少し奇妙ですが、変更されたテーマをデフォルトとして設定する必要があります。

編集により、さらなる設定が機能しました.bashrc

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.