GNU/Linux >> Znalost Linux >  >> Linux

Zbarvení vašeho terminálu a prostředí Shell?

Většinu času trávím prací v prostředí Unix a používáním terminálových emulátorů. Snažím se používat barvy na příkazovém řádku, protože díky barvě je výstup užitečnější a intuitivnější.

Jaké možnosti existují pro přidání barvy do mého terminálového prostředí? Jaké triky používáte? S jakými nástrahami jste se setkali?

Podpora barev se bohužel liší v závislosti na typu terminálu, OS, nastavení TERM, obslužném programu, chybných implementacích atd.

Zde je několik tipů z mého nastavení po dlouhém experimentování:

  1. Mám tendenci nastavovat TERM=xterm-color , který je podporován na většině hostitelů (ale ne na všech).
  2. Pracuji na mnoha různých hostitelích, různých verzích OS atd. Používám vše od macOS X, Ubuntu Linux, RHEL/CentOS/Scientific Linux a FreeBSD. Snažím se, aby věci byly jednoduché a obecné, pokud je to možné.
  3. Dělám spoustu práce pomocí GNU screen , což přidává další vrstvu zábavy.
  4. Mnoho operačních systémů nastavuje věci jako dircolors a ve výchozím nastavení a nechci to upravovat na stovkách různých hostitelů. Takže se snažím držet výchozích hodnot. Místo toho upravím konfiguraci barev svého terminálu.
  5. Použijte barvu pro některé unixové příkazy (ls , grep , less , vim ) a výzva Bash. Zdá se, že tyto příkazy používají standardní „únikové sekvence ANSI“. Například:

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

Zveřejním svůj .bashrc a odpovědět na mou vlastní otázku Jeopardy Style.

Přijatá odpověď:

Zde je několik věcí, které můžete udělat:

Editoři + kód
Mnoho editorů má podporu zvýrazňování syntaxe. vim a emacs mít to ve výchozím nastavení zapnuté. Můžete jej také povolit pod nano .

Kód zvýraznění syntaxe na terminálu můžete také použít pomocí Pygments jako nástroje příkazového řádku.

grep
grep --color=auto zvýrazní všechny zápasy. Můžete také použít export GREP_OPTIONS='--color=auto' aby byla trvalá bez aliasu. Pokud použijete --color=always , bude používat barvu i při potrubí, což věci mate.

ls

ls --color=always

Barvy specifikované:

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

(nápověda:dircolors může být užitečné)

PS1
Svůj PS1 (výzva shellu) můžete nastavit tak, aby používal barvy. Například:

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

Vyrobí PS1 jako:

[žlutá][chráněný e-mail]:[červená]~[normální]$

S tím můžete být opravdu kreativní. Jako nápad:

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

Vloží do horní části vašeho terminálu pruh s náhodnými informacemi. (Pro nejlepší výsledky použijte také alias clear="echo -e 'e[2Jnn'" .)

Jak se zbavit únikových sekvencí

Související:Neuvedené rozlišení obrazovky?

Pokud se něco zasekne na výstupu barvy, když si to nepřejete, použiji toto sed řádek pro odstranění escape sekvencí:

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

Pokud chcete autentičtější zážitek, můžete se také zbavit řádků začínajících e[8m , který terminálu přikáže skrýt text. (Ne široce podporováno.)

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

Všimněte si také, že tyto ^[s by měly být skutečné, doslovné ^[s. Můžete je zadat stisknutím ^V^[ v bash, to je Ctrl + V , Ctrl + [ .


Linux
  1. Jak změnit barvu vašeho terminálu Linux

  2. Vydejte se na dobrodružství ve svém linuxovém terminálu

  3. Jak předvánočně upravit váš linuxový terminál a Shell

  1. Koncová rychlost:Pohyb ve vaší skořápce rychle

  2. Jak nastavit/vytvořit proměnné prostředí a prostředí v Linuxu

  3. Rozdíl v použití mezi proměnnými shellu a proměnnými prostředí?

  1. Nahrajte svůj terminál pomocí skriptu a scriptreplay

  2. Uložit a obnovit své karty terminálu?

  3. 9 UNIX / Linux tput Příklady:Ovládání barvy a kurzoru terminálu