Bagaimana cara saya mendapatkan warna berbeda untuk direktori, dll. Di iTerm2?

26

Saya memiliki MacBookPro baru, dan saya menginstal rilis terbaru dari iTerm2.

Bahkan setelah saya mengimpor berbagai skema warna, saya perhatikan bahwa mereka hanya mengubah warna teks dan latar belakang saja.

Apa yang saya harapkan untuk melihat adalah berbagai warna untuk file direktori VS, file tersembunyi VS, dll. Bagaimana saya melakukannya pada iTerm2?

Pertanyaan terkait adalah bagaimana cara saya menentukan warna direktori, file, dll?

Terima kasih

Spacey
sumber
Kemungkinan rangkap dari Mengganti warna folder, file, eksekutif di iTerm2
John N
Terima kasih @JohnN, itu membantu, tapi tolong lihat edit saya.
Spacey

Jawaban:

26

Anda harus melakukan dua hal:

  • atur LSCOLORSvariabel lingkungan
  • buat alias untuk lsjadi itu menunjukkan warna secara default

Di ~/.bash_profiletambahkan Anda yang berikut ini:

export LSCOLORS="EHfxcxdxBxegecabagacad" 

alias ls='ls -lGH'        <-----This shows in list format, follow symlinks colorized

Warna-warna diatur oleh setiap bit di atas; latar depan yang pertama dan latar belakang yang kedua. Dua karakter pertama merujuk ke direktori yang memiliki latar depan biru tebal dan latar belakang abu-abu terang.

Namun, ada utilitas online yang bagus untuk melihat apa arti dan warna masing-masing secara real time. Bahkan akan menghasilkan "kode" untuk Anda. (Saya tidak berafiliasi dengan ini sama sekali). Ini akan bekerja di MacOS / FreeBSD dan Linux. Pastikan Anda memilih opsi BSD untuk macOS.

Kalkulator LSCOLORS


Urutan atribut adalah sebagai berikut:

1. direktori
2. tautan simbolik
3. soket
4. pipa
5. dieksekusi
6. blok spesial
7. karakter spesial
8. dieksekusi dengan setuid set bit
9. executable dengan setgid bit set
10. direktori dapat ditulisi oleh orang lain, dengan sedikit lengket
11. direktori dapat ditulisi oleh orang lain, tanpa lengket

Penentu warna adalah sebagai berikut:

hitam
b merah
c hijau
d coklat
e biru
f magenta
g cyan
h abu-abu terang
Hitam tebal, biasanya terlihat abu-abu gelap
B tebal merah
C tebal hijau
D tebal cokelat, biasanya tampak kuning
Biru tebal
Magenta tebal
G cyan berani
H abu-abu terang; terlihat seperti putih cerah
x foreground atau background default
Allan
sumber
Hai Allan, terima kasih! Beberapa pertanyaan, dapatkah Anda menjelaskan lebih lanjut tentang i) Mengapa saya harus memasukkannya ke dalam .bash_profile dan tidak mengatakan, .zshrc yang saya kira, dan ii) sedikit lebih banyak tentang bagian ekspor LSCOLORS? Apakah saya pergi ke situs yang Anda sebutkan dan mengatur skema warna saya dari sana? Lalu bagaimana ini dengan skema warna iterm2? Terima kasih!
Spacey
Mungkin ini yang membingungkan saya: Saya menggunakan iterm2. Apa artinya ini untuk file mana yang kita ubah? (.bash_profile VS .zshrc)? Untuk apa nilainya, pada mesin baru ini saya saat ini tidak punya ...
Spacey
Ah, ok, gema itu menunjukkan bash. Jadi saya harus membuat ~ / .bash_profile baru yang saya duga karena tidak ada.
Spacey
4

Alternatif lain LSCOLORSadalah GRC (the GeneRic Colouriser) , yang dapat digunakan dengan hampir semua aplikasi command-line, bukan hanya ls.

Jika Homebrew diinstal, instal grcdengan brew install grc- ini akan mengatur alias secara otomatis, termasuk untuk ls. Itu datang dengan alias dan file konfigurasi untuk berbagai perintah, dan itu (relatif) sepele untuk meretas file konfigurasi menggunakan ekspresi reguler Python untuk setiap perintah yang grcsaat ini tidak mencakup ( tmutildan launchctl, misalnya).

(Saya akan menambahkan ini ke pertanyaan yang saya tandai sebagai kemungkinan penipuan, tetapi dengan hasil edit Anda mungkin lebih berguna di sini!)

John N.
sumber
Saya menginstal grc dan ls tidak berwarna sama sekali. 'ketik ls' memberi '/ bin / ls', tidak ada yang alias. Kembali ke solusi profil bash, kurasa.
6005
@ 6005, apakah Anda menginstal GRC brew? (Dan apakah itu berhasil menginstal, tanpa kesalahan?) Apa yang brew doctordilaporkan - masalah? Shell apa yang Anda gunakan, dan sudahkah Anda memodifikasi konfigurasi shell? Anda mungkin perlu mengedit .bash_profile(atau mengkonfigurasi shell apa pun yang Anda gunakan) untuk mendapatkan alias GRC. Saya .bash_profilememiliki ini (meskipun saya menambahkannya sendiri - konfigurasi bash saya cukup esoteris ...):[ -f /usr/local/etc/grc.bashrc ] && . /usr/local/etc/grc.bashrc
John N
4

Buka bash_profile menggunakan perintah:

open ~/.bash_profile

dan tambahkan baris berikut:

export PS1="\[\033[36m\]\u\[\033[m\]@\[\033[32m\]\h:\[\033[33;1m\]\w\[\033[m\]\$ "
export CLICOLOR=1
export LSCOLORS=ExFxBxDxCxegedabagacad
alias ls='ls -GFh'

lalu sumber bash_profile menggunakan:

source ~/.bash_profile
KayV
sumber
KayV apa tepatnya yang dilakukan ini? Bisakah Anda memperluas?
TheGrapeBeyond