ΠŸΡ€Π°Π²ΠΈΠΌ Linux Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° красив ΠΈ ΡƒΠ΄ΠΎΠ±Π΅Π½

Всички дистрибуции Π½Π° Linux ΠΈΠ΄Π²Π°Ρ‚ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ ΠΈ пСрсонализируСм Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚, Π° понякога Π΄ΠΎΡ€ΠΈ ΠΈ Π² самия Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π», ΠΈΠΌΠ° мноТСство Π³ΠΎΡ‚ΠΎΠ²ΠΈ Ρ‚Π΅ΠΌΠΈ, Π·Π° Π΄Π° ΠΈΠ·Π³Π»Π΅ΠΆΠ΄Π° Ρ‚ΠΎΠΉ красиво. Π’ΡŠΠΏΡ€Π΅ΠΊΠΈ Ρ‚ΠΎΠ²Π°, Π·Π° Π΄Π° направя стандартния Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» (Π² ΠΊΠΎΠΉΡ‚ΠΎ ΠΈ Π΄Π° Π΅ DE, Π½Π° която ΠΈ Π΄Π° Π΅ дистрибуция) Π½Π΅Ρ‰ΠΎ красиво, ΡƒΠ΄ΠΎΠ±Π½ΠΎ ΠΈ лСсно Π·Π° ΠΈΠ·ΠΏΠΎΠ»Π·Π²Π°Π½Π΅, посвСтих ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅. И Ρ‚Π°ΠΊΠ°, ΠΊΠ°ΠΊ Π΄Π° Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ дСфолтния Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ приятСн Π·Π° ΠΏΠΎΠ»Π·Π²Π°Π½Π΅?

ДобавямС функционалност

КомандСн ΠΈΠ½Ρ‚Π΅Ρ€ΠΏΡ€Π΅Ρ‚Π°Ρ‚ΠΎΡ€

ΠŸΠΎΠ²Π΅Ρ‡Π΅Ρ‚ΠΎ дистрибуции ΠΈΠ΄Π²Π°Ρ‚ с Π²Π³Ρ€Π°Π΄Π΅Π½ Bash. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΡ‚Π΅ ΠΊΠ°ΠΊΠ²ΠΎΡ‚ΠΎ поискатС с Π΄ΠΎΠ±Π°Π²ΠΊΠΈ, Π½ΠΎ Π΅ ΠΌΠ½ΠΎΠ³ΠΎ ΠΏΠΎ-лСсно Π΄Π° постигнСтС Ρ‚ΠΎΠ²Π° с Zsh. Π—Π°Ρ‰ΠΎ?

  • НапрСднала ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° Π·Π° Π°Π²Ρ‚ΠΎΠΌΠ°Ρ‚ΠΈΡ‡Π½ΠΎ допълванС Π½Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈ с натисканС Π½Π° ΠΈΠ»ΠΈ . Π—Π° Ρ€Π°Π·Π»ΠΈΠΊΠ° ΠΎΡ‚ Bash, Π½Π΅ Π΅ Π½ΡƒΠΆΠ½ΠΎ Π΄Π° Π³ΠΎ настройватС, всичко Ρ€Π°Π±ΠΎΡ‚ΠΈ Π½Π° високо Π½ΠΈΠ²ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΎ "ΠΎΡ‚ кутията".
  • ΠœΠ½ΠΎΠΆΠ΅ΡΡ‚Π²ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΈ Ρ‚Π΅ΠΌΠΈ, ΠΌΠΎΠ΄ΡƒΠ»ΠΈ, плъгини ΠΈ Ρ‚.Π½. НастраиваСмост Ρ‡Ρ€Π΅Π· Ρ€Π°ΠΌΠΊΠΈ (oh-my-zsh, prezto ΠΈ Π΄Ρ€.), ΠΊΠΎΠΈΡ‚ΠΎ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ Ρ€Π°Π·ΡˆΠΈΡ€ΡΠ²Π°Ρ‚ Π²ΡŠΠ·ΠΌΠΎΠΆΠ½ΠΎΡΡ‚ΠΈΡ‚Π΅ Π·Π° пСрсонализация ΠΈ ΠΏΠΎΠ΄ΠΎΠ±Ρ€Π΅Π½ΠΈΠ΅ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. ΠžΡ‚Π½ΠΎΠ²ΠΎ, всичко Ρ‚ΠΎΠ²Π° ΠΌΠΎΠΆΠ΅ Π΄Π° сС постигнС ΠΈ Π² Bash, Π½ΠΎ Π·Π° Zsh ΠΈΠΌΠ° ΠΌΠ½ΠΎΠ³ΠΎ Π³ΠΎΡ‚ΠΎΠ²ΠΈ ΠΌΠ°Ρ‚Π΅Ρ€ΠΈΠ°Π»ΠΈ. Π—Π° Bash тСхният Π±Ρ€ΠΎΠΉ Π΅ Π·Π½Π°Ρ‡ΠΈΡ‚Π΅Π»Π½ΠΎ ΠΏΠΎ-малък, Π° някои Π΄ΠΎΡ€ΠΈ Π½Π΅ ΡΡŠΡ‰Π΅ΡΡ‚Π²ΡƒΠ²Π°Ρ‚.

Π’ΠΎΠ²Π° са основнитС ΠΏΡ€ΠΈΡ‡ΠΈΠ½ΠΈ, ΠΏΠΎΡ€Π°Π΄ΠΈ ΠΊΠΎΠΈΡ‚ΠΎ ΠΏΡ€Π΅ΠΌΠΈΠ½Π°Ρ… ΠΎΡ‚ Bash Π½Π° Zsh. ОсвСн Ρ‚ΠΎΠ²Π°, Zsh ΠΏΡ€Π΅Π΄Π»Π°Π³Π° ΠΌΠ½ΠΎΠ³ΠΎ Π΄Ρ€ΡƒΠ³ΠΈ "плюсовС".

Настройка Π½Π° Zsh

А Π·Π° Π½Π°Ρ‡Π°Π»ΠΎ, инсталирайтС Zsh (Π°ΠΊΠΎ Π²Π΅Ρ‡Π΅ Π½Π΅ Π΅ инсталиран, Π½Π°ΠΏΡ€ΠΈΠΌΠ΅Ρ€, Π² Manjaro, ΠΌΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° пропуснСтС Ρ‚Π°Π·ΠΈ ΡΡ‚ΡŠΠΏΠΊΠ°):

sudo apt install zsh

ΠšΠΎΠ³Π°Ρ‚ΠΎ Π²ΠΈ ΠΏΡ€Π΅Π΄Π»ΠΎΠΆΠ°Ρ‚ Π΄Π° инсталиратС Zsh ΠΊΠ°Ρ‚ΠΎ ΠΏΠΎ ΠΏΠΎΠ΄Ρ€Π°Π·Π±ΠΈΡ€Π°Π½Π΅, натиснСтС Y, Π·Π° Π΄Π° ΠΏΠΎΡ‚Π²ΡŠΡ€Π΄ΠΈΡ‚Π΅.

Oh-My-Zsh β€” популярСн ΠΈ Π°ΠΊΡ‚ΠΈΠ²Π½ΠΎ Ρ€Π°Π·Π²ΠΈΡ‚ΠΈ Ρ€Π°ΠΌΠΊΠ° Zsh, която позволява гъвкава настройка Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π½Π°Ρ‚Π° ΠΎΠ±Π²ΠΈΠ²ΠΊΠ°. НСка Π³ΠΎ инсталирамС:

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

zsh: command not found: curl
УстановСтС curl:

sudo apt install curl

Π‘ΠΈΠ½Ρ‚Π°ΠΊΡ‚ΠΈΡ‡Π½Π° подсвСтка. Много ΠΏΠΎ-лСсно Π΅ Π΄Π° сС ΠΎΡ€ΠΈΠ΅Π½Ρ‚ΠΈΡ€Π°Ρ‚Π΅ Π² ΡΡŠΠ΄ΡŠΡ€ΠΆΠ°Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°, ΠΊΠΎΠ³Π°Ρ‚ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈΡ‚Π΅ части ΠΎΡ‚ ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ са подсвСтСни Π² Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅. НапримСр, Π΄ΠΈΡ€Π΅ΠΊΡ‚ΠΎΡ€ΠΈΠΈΡ‚Π΅ Ρ‰Π΅ Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ΄Ρ‡Π΅Ρ€Ρ‚Π°Π²Π°Π½ΠΈ, Π° ΠΊΠΎΠΌΠ°Π½Π΄ΠΈΡ‚Π΅ β€” ΠΎΡ†Π²Π΅Ρ‚Π΅Π½ΠΈ с Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ ΠΎΡ‚ обикновСния тСкст. НСка инсталирамС плъгина zsh-syntax-highlighting:

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

zsh: command not found: git
Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΉΡ‚Π΅ git:

sudo apt install git

Π—Π° Π΄Π° Π·Π°Ρ€Π°Π±ΠΎΡ‚ΠΈ плъгина, Ρ‚ΠΎΠΉ трябва Π΄Π° бъдС ΡΠ²ΡŠΡ€Π·Π°Π½.

Π’ Ρ„Π°ΠΉΠ»Π° ~/.zshrc смСнямС Ρ€Π΅Π΄Π° с plugins=:

plugins=(git zsh-syntax-highlighting)

Ако Ρ‚Π°ΠΊΡŠΠ² Ρ€Π΅Π΄ няма β€” Π΄ΠΎΠ±Π°Π²Π΅Ρ‚Π΅ Π³ΠΎ.

Π“ΠΎΡ‚ΠΎΠ²ΠΎ! ΠŸΠΎΠ»ΡƒΡ‡Π°Π²Π°ΠΌΠ΅ ΡƒΠ΄ΠΎΠ±Π΅Π½ ΠΈ Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»Π΅Π½ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π». Π‘Π΅Π³Π° Ρ‰Π΅ Π³ΠΎ Π½Π°ΠΏΡ€Π°Π²ΠΈΠΌ Π²ΠΈΠ·ΡƒΠ°Π»Π½ΠΎ приятСн.

НастройвамС външния Π²ΠΈΠ΄

Π˜Π½ΡΡ‚Π°Π»ΠΈΡ€Π°ΠΌΠ΅ Ρ‚Π΅ΠΌΠ° PowerLevel10K:

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

БвалямС ΠΈ добавямС ΡˆΡ€ΠΈΡ„Ρ‚Π° Π² систСмата JetBrains Mono Nerd (с ΠΈΠΊΠΎΠ½ΠΊΠΈ):
Π˜Π·Π±Π΅Ρ€Π΅Ρ‚Π΅ Π΅Π΄ΠΈΠ½ ΠΎΡ‚ списъка., Π² ΠΏΠ°ΠΏΠΊΠ°Ρ‚Π° ΡˆΡ€ΠΈΡ„Ρ‚/complete ΠΈΠ·Π±Π΅Ρ€Π΅Ρ‚Π΅ ΡˆΡ€ΠΈΡ„Ρ‚ Π±Π΅Π· Β«Windows CompatibleΒ», с Ρ€Π°Π·ΡˆΠΈΡ€Π΅Π½ΠΈΠ΅ Β«MonoΒ».

Π‘Π²ΡŠΡ€Π·Π²Π°ΠΌΠ΅ ΡˆΡ€ΠΈΡ„Ρ‚Π° ΠΈ Ρ‚Π΅ΠΌΠ°Ρ‚Π°.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅ ~/.zshrc.

Ако Π² Ρ„Π°ΠΉΠ»Π° Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° Ρ‚Π΅Π·ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ β€” Π·Π°ΠΌΠ΅Π½Π΅Ρ‚Π΅ Π³ΠΈ.

  • ZSH_THEME="powerlevel10k/powerlevel10k"
  • POWERLEVEL9K_MODE="nerdfont-complete"

Π¦Π²Π΅Ρ‚ΠΎΠ²Π΅. Π’Π°ΠΆΠ½Π° част ΠΎΡ‚ ΠΎΡ„ΠΎΡ€ΠΌΠ»Π΅Π½ΠΈΠ΅Ρ‚ΠΎ Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° β€” Ρ†Π²Π΅Ρ‚ΠΎΠ²Π° схСма. ΠŸΡ€ΠΎΠ±Π²Π°Π» съм ΠΌΠ½ΠΎΠ³ΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ схСми, Ρ€Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°Π» съм Π³ΠΈ ΠΈ сС спрях Π½Π° Monokai Dark. НС Π΄Ρ€Π°Π·Π½ΠΈ ΠΎΡ‡ΠΈΡ‚Π΅, Π½ΠΎ Π΅ приятна ΠΈ ярка. Бписък с Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅:

[colors]

# special
foreground      = #e6e6e6
foreground_bold = #e6e6e6
cursor          = #fff
background      = #000

# black
color0  = #75715e
color8  = #272822

# red
color1  = #f92672
color9  = #f92672

# green
color2  = #a6e22e
color10 = #a6e22e

# yellow
color3  = #434648
color11 = #7ea35f

# blue
color4  = #66d9ef
color12 = #66d9ef

# magenta
color5  = #ae81ff
color13 = #ae81ff

# cyan
color6  = #adb3b9
color14 = #62ab9d

# white
color7  = #2AA198
color15 = #2AA198

Π’ Ρ€Π°Π·Π»ΠΈΡ‡Π½ΠΈ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»ΠΈ Ρ†Π²Π΅Ρ‚Π½Π°Ρ‚Π° схСма сС промСня ΠΏΠΎ Ρ€Π°Π·Π»ΠΈΡ‡Π΅Π½ Π½Π°Ρ‡ΠΈΠ½ (ΠΎΠ±ΠΈΠΊΠ½ΠΎΠ²Π΅Π½ΠΎ, Ρ‚ΠΎΠ²Π° става Ρ‡Ρ€Π΅Π· настройкитС Π½Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°), Π½ΠΎ Ρ€Π΅Π΄ΡŠΡ‚ Π½Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅Ρ‚Π΅ Π΅ навсякъдС Π΅Π΄ΠΈΠ½ ΠΈ ΡΡŠΡ‰. ΠœΠΎΠΆΠ΅Ρ‚Π΅ Π΄Π° ΠΈΠΌΠΏΠΎΡ€Ρ‚ΠΈΡ€Π°Ρ‚Π΅ Ρ‚ΠΎΠ·ΠΈ шаблон Π² Ρ„ΠΎΡ€ΠΌΠ°Ρ‚ Termite ΠΈ Π΄Π° Π³ΠΎ СкспортиратС Π·Π° вашия Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» Ρ‡Ρ€Π΅Π· terminal.sexy

Π‘Ρ‚Π°Ρ€Ρ‚ΠΈΡ€Π°ΠΌΠ΅ конфигурацията Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚Π°: p10k configure.
НастройтС Ρ‚Π΅ΠΌΠ°Ρ‚Π°, ΠΈΠ·Π±ΠΈΡ€Π°ΠΉΠΊΠΈ ΠΏΡ€Π΅Π΄ΠΏΠΎΡ‡ΠΈΡ‚Π°Π½ΠΈΡ‚Π΅ ΠΎΠΏΡ†ΠΈΠΈ Π·Π° ΠΈΠ·Π³Π»Π΅Π΄.

Π€ΠΈΠ½Π°Π»Π΅Π½ Ρ‰Ρ€ΠΈΡ… β€” промСнямС конфигурацията Π½Π° Ρ‚Π΅ΠΌΠ°Ρ‚Π° ΠΈ замСнямС Π²Π³Ρ€Π°Π΄Π΅Π½ΠΈΡ‚Π΅ Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅.

Π Π΅Π΄Π°ΠΊΡ‚ΠΈΡ€Π°ΠΌΠ΅ Ρ„Π°ΠΉΠ»Π° ~/.p10k.zsh.

Ако Π² Ρ„Π°ΠΉΠ»Π° Π²Π΅Ρ‡Π΅ ΠΈΠΌΠ° Ρ‚Π΅Π·ΠΈ Ρ€Π΅Π΄ΠΎΠ²Π΅ β€” Π·Π°ΠΌΠ΅Π½Π΅Ρ‚Π΅ Π³ΠΈ. ΠšΠΎΠ΄ΠΎΠ²Π΅Ρ‚Π΅ Π½Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²Π΅Ρ‚Π΅ ΠΌΠΎΠ³Π°Ρ‚ Π΄Π° Π±ΡŠΠ΄Π°Ρ‚ ΠΏΠΎΠ»ΡƒΡ‡Π΅Π½ΠΈ с ΠΊΠΎΠΌΠ°Π½Π΄Π°Ρ‚Π°

for i in {0..255}; do print -Pn "%K{$i}  %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'n'}; done

  • ΠžΡ‚ΠΎΠ±Ρ€Π°ΠΆΠ΅Π½ΠΈΠ΅ само Π½Π° Ρ‚Π΅ΠΊΡƒΡ‰Π°Ρ‚Π° дирСктория:
    typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
  • Π€ΠΎΠ½ Π½Π° Π±Π»ΠΎΠΊΠ° с дирСкторията:
    typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
  • Π¦Π²Π΅Ρ‚ΠΎΠ²Π΅ Π½Π° стрСлкитС:
    typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2

    ΠΈ

    typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=1

  • Π€ΠΎΠ½ Π½Π° ΠΊΠ»ΠΎΠ½Π° Π½Π° Git:
    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15

Π Π΅Π·ΡƒΠ»Ρ‚Π°Ρ‚

ΠŸΡ€Π°Π²ΠΈΠΌ Linux Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° красив ΠΈ ΡƒΠ΄ΠΎΠ±Π΅Π½
Π“Ρ€Π΅ΡˆΠΊΠ°:
ΠŸΡ€Π°Π²ΠΈΠΌ Linux Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° красив ΠΈ ΡƒΠ΄ΠΎΠ±Π΅Π½
GIT:
ΠŸΡ€Π°Π²ΠΈΠΌ Linux Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° красив ΠΈ ΡƒΠ΄ΠΎΠ±Π΅Π½

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΡ†ΠΈ

ДокумСнтация PowerLevel10K
Онлайн Π΄ΠΈΠ·Π°ΠΉΠ½Π΅Ρ€ Π½Π° Ρ†Π²Π΅Ρ‚ΠΎΠ²ΠΈ схСми Π·Π° Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»
Π Π°Π·Π»ΠΈΠΊΠΈ ΠΌΠ΅ΠΆΠ΄Ρƒ Bash ΠΈ Zsh

Π˜Π·Ρ‚ΠΎΡ‡Π½ΠΈΠΊ: habr.com

ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ πŸ”₯ ΠšΡƒΠΏΠ΅Ρ‚Π΅ Π½Π°Π΄Π΅ΠΆΠ΄Π΅Π½ хостинг Π·Π° сайтовС със Π·Π°Ρ‰ΠΈΡ‚Π° ΠΎΡ‚ DDoS, VPS ΠΈ VDS ΡΡŠΡ€Π²ΡŠΡ€ΠΈ | ProHoster