Π”Π΅Π»Π°Π΅ΠΌ Linux Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» красивым ΠΈ ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ

ВсС дистрибутивы Linux ΠΏΠΎΡΡ‚Π°Π²Π»ΡΡŽΡ‚ΡΡ с Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½Ρ‹ΠΌ ΠΈ кастомизируСмым эмулятором Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π°. Π’ ΠΈΠ½Ρ‚Π΅Ρ€Π½Π΅Ρ‚Π΅, Π° ΠΏΠΎΡ€ΠΎΠΉ Π΄Π°ΠΆΠ΅ Π² самом Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π΅, Π΅ΡΡ‚ΡŒ масса Π³ΠΎΡ‚ΠΎΠ²Ρ‹Ρ… Ρ‚Π΅ΠΌ, Ρ‡Ρ‚ΠΎΠ± ΠΎΠ½ красиво выглядСл. Однако, Ρ‡Ρ‚ΠΎΠ± ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· стандартного Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π»Π° (Π² любом DE, любого дистрибутива) Π½Π΅Ρ‡Ρ‚ΠΎ красивоС ΠΈ ΠΎΠ΄Π½ΠΎΠ²Ρ€Π΅ΠΌΠ΅Π½Π½ΠΎ ΡƒΠ΄ΠΎΠ±Π½ΠΎΠ΅ ΠΈ простоС Π² использовании я ΠΏΠΎΡ‚Ρ€Π°Ρ‚ΠΈΠ» ΠΌΠ½ΠΎΠ³ΠΎ Π²Ρ€Π΅ΠΌΠ΅Π½ΠΈ. Π˜Ρ‚Π°ΠΊ, ΠΊΠ°ΠΊ ΠΆΠ΅ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Π΄Π΅Ρ„ΠΎΠ»Ρ‚Π½Ρ‹ΠΉ Ρ‚Π΅Ρ€ΠΌΠΈΠ½Π°Π» ΡƒΠ΄ΠΎΠ±Π½Ρ‹ΠΌ ΠΈ приятным Π² использовании?

ДобавляСм Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΎΠ½Π°Π»ΡŒΠ½ΠΎΡΡ‚ΡŒ

Командная ΠΎΠ±ΠΎΠ»ΠΎΡ‡ΠΊΠ°

Π‘ΠΎΠ»ΡŒΡˆΠΈΠ½ΡΡ‚Π²ΠΎ дистрибутивов поставляСтся со встроСнным Bash. Π˜ΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡ дополнСния ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ ΠΈΠ· Π½Π΅Π³ΠΎ всС Ρ‡Ρ‚ΠΎ Π·Π°Ρ…ΠΎΡ‚ΠΈΡ‚Π΅, Π½ΠΎ Π³ΠΎΡ€Π°Π·Π΄ΠΎ ΠΏΡ€ΠΎΡ‰Π΅ этого Π΄ΠΎΠ±ΠΈΡ‚ΡŒΡΡ с Zsh. ΠŸΠΎΡ‡Π΅ΠΌΡƒ?

  • ΠŸΡ€ΠΎΠ΄Π²ΠΈΠ½ΡƒΡ‚Π°Ρ ΠΌΠ΅Ρ…Π°Π½ΠΈΠΊΠ° автодополнСния ΠΊΠΎΠΌΠ°Π½Π΄ ΠΏΠΎ Π½Π°ΠΆΠ°Ρ‚ΠΈΡŽ <Tab> ΠΈΠ»ΠΈ <Arrow Up>. Π’ ΠΎΡ‚Π»ΠΈΡ‡ΠΈΠ΅ ΠΎΡ‚ 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 (c ΠΈΠΊΠΎΠ½ΠΊΠ°ΠΌΠΈ):
Π’Ρ‹Π±Π΅Ρ€ΠΈΡ‚Π΅ΠΎΠ΄ΠΈΠ½ ΠΈΠ· списка, Π² ΠΏΠ°ΠΏΠΊΠ΅ ΡˆΡ€ΠΈΡ„Ρ‚/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

Π”ΠΎΠ±Π°Π²ΠΈΡ‚ΡŒ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ