Bagaimana saya bisa mengkonfigurasi warna direktori 'ls' di bawah zsh

20

Saya menggunakan 'zsh'. Di beberapa direktori, ketika saya melakukan 'ls --color = tty'. Saya melihat beberapa direktori memiliki 'teks biru' dengan 'latar belakang hijau', yang membuatnya sulit dibaca.

Bisakah Anda memberi tahu saya cara mengkonfigurasi ini?

Terima kasih.

michael
sumber

Jawaban:

29

Dengan asumsi Anda menggunakan GNU ls, Anda dapat menentukan warna dengan variabel lingkungan LS_COLORS (perhatikan bahwa ini adalah lsfitur GNU dan tidak khusus untuk zsh).

GNU Coreutils memiliki program yang dipanggil dircolorsuntuk membantu Anda mengonversi file konfigurasi yang mudah diedit menjadi variabel LS_COLORS yang tepat (rumit). Lihat man dircolorsuntuk perintah, dan man dir_colorsuntuk sintaksis file konfigurasi.

Kamu bisa

  1. gunakan dircolors --print-database >! dircolors.defaultuntuk menyimpan default (berisi beberapa teks penjelasan) dan kemudian memodifikasinya.
  2. Google untuk file dircolors mewah yang telah dikonfigurasi sebelumnya (seperti ini https://github.com/seebi/dircolors-solarized (saya tidak punya hubungan dengan ini)).

Setelah selesai, Anda harus dircolorsmengubahnya menjadi LS_COLORS yang tepat. Perhatikan bahwa dircolorsoutput dalam format bash dan csh, karena zshAnda harus menggunakan bashoutput -format.

PS: Gunakan ls --color=autosebagai ganti ls --color=tty.

Francisco
sumber
ini tidak berlaku untuk warna khusus. LS_COLORtidak bekerja secara default di zsh karena suatu alasan. Lihat banyak posting lain yang mengeluh tentang ini: 1) superuser.com/questions/700406/zsh-not-recognizing-ls-colors 2) github.com/robbyrussell/oh-my-zsh/issues/5349
Charlie Parker