GNU/Linux >> Belajar Linux >  >> Linux

Mewarnai Lingkungan Terminal dan Shell Anda?

Saya menghabiskan sebagian besar waktu saya bekerja di lingkungan Unix dan menggunakan emulator terminal. Saya mencoba menggunakan warna pada baris perintah, karena warna membuat output lebih berguna dan intuitif.

Opsi apa yang ada untuk menambahkan warna ke lingkungan terminal saya? Trik apa yang Anda gunakan? Jebakan apa yang Anda temui?

Sayangnya, dukungan untuk warna bervariasi tergantung pada jenis terminal, OS, pengaturan TERM, utilitas, implementasi kereta, dll.

Berikut adalah beberapa tips dari pengaturan saya, setelah banyak eksperimen:

  1. Saya cenderung menyetel TERM=xterm-color , yang didukung di sebagian besar host (tetapi tidak semua).
  2. Saya bekerja pada sejumlah host yang berbeda, versi OS yang berbeda, dll. Saya menggunakan semuanya dari macOS X, Ubuntu Linux, RHEL/CentOS/Scientific Linux dan FreeBSD. Saya mencoba untuk membuat semuanya tetap sederhana dan umum, jika memungkinkan.
  3. Saya melakukan banyak pekerjaan menggunakan GNU screen , yang menambahkan lapisan kesenangan lainnya.
  4. Banyak OS mengatur hal-hal seperti dircolors dan secara default, dan saya tidak ingin mengubah ini pada ratusan host yang berbeda. Jadi saya mencoba untuk tetap dengan default. Sebagai gantinya, saya mengubah konfigurasi warna terminal saya.
  5. Gunakan warna untuk beberapa perintah Unix (ls , grep , less , vim ) dan prompt Bash. Perintah-perintah ini tampaknya menggunakan "urutan pelarian ANSI" standar. Misalnya:

    alias less='less --RAW-CONTROL-CHARS'
    export LS_OPTS='--color=auto'
    alias ls='ls ${LS_OPTS}'
    

Saya akan memposting .bashrc saya dan jawab pertanyaan saya sendiri Jeopardy Style.

Jawaban yang Diterima:

Berikut adalah beberapa hal yang dapat Anda lakukan:

Editor + Kode
Banyak editor memiliki dukungan penyorotan sintaks. vim dan emacs mengaktifkannya secara default. Anda juga dapat mengaktifkannya di bawah nano .

Anda juga dapat menyintak kode sorotan di terminal dengan menggunakan Pygments sebagai alat baris perintah.

mengerti
grep --color=auto menyoroti semua pertandingan. Anda juga dapat menggunakan export GREP_OPTIONS='--color=auto' untuk membuatnya persisten tanpa alias. Jika Anda menggunakan --color=always , itu akan menggunakan warna bahkan saat pemipaan, yang membingungkan banyak hal.

l

ls --color=always

Warna ditentukan oleh:

export LS_COLORS='rs=0:di=01;34:ln=01;36:mh=00:pi=40;33'

(petunjuk:dircolors bisa membantu)

PS1
Anda dapat mengatur PS1 (shell prompt) untuk menggunakan warna. Misalnya:

PS1='e[33;[email protected]: e[31mWe[0m$ '

Akan menghasilkan PS1 seperti:

[kuning][dilindungi email]:[merah]~[normal]$

Anda bisa menjadi sangat kreatif dengan ini. Sebagai ide:

PS1='e[se[0;0He[1;33mh    tne[1;32mThis is my computere[u[[email protected]:  w]$ '

Letakkan bilah di bagian atas terminal Anda dengan beberapa info acak. (Untuk hasil terbaik, gunakan juga alias clear="echo -e 'e[2Jnn'" .)

Menyingkirkan Urutan Escape

Terkait:Resolusi layar tidak terdaftar?

Jika ada sesuatu yang macet menghasilkan warna saat Anda tidak menginginkannya, saya menggunakan sed baris untuk menghapus urutan pelarian:

sed "s/[^[[0-9;]*[a-zA-Z]//gi"

Jika Anda menginginkan pengalaman yang lebih otentik, Anda juga dapat menghilangkan baris yang dimulai dengan e[8m , yang menginstruksikan terminal untuk menyembunyikan teks. (Tidak didukung secara luas.)

sed "s/^[^[8m.*$//gi"

Perhatikan juga bahwa ^[s itu harus aktual, literal ^[s. Anda dapat mengetiknya dengan menekan ^V^[ di bash, yaitu Ctrl + V , Ctrl + [ .


Linux
  1. Perbedaan Penggunaan Antara Variabel Shell Dan Variabel Lingkungan?

  2. Simpan Dan Pulihkan Tab Terminal Anda?

  3. Perbedaan antara perintah dalam skrip bash dan perintah di terminal

  1. Cara mengubah warna terminal Linux Anda

  2. Kecepatan terminal:Bergerak cepat di cangkang Anda

  3. Rekam terminal Anda dengan skrip dan pemutaran ulang skrip

  1. Lakukan petualangan di terminal Linux Anda

  2. Cara Mempercantik Terminal dan Shell Linux Anda

  3. Cara Mengatur/Membuat Variabel Lingkungan dan Shell di Linux