рд▓рд┐рдирдХреНрд╕ рдЯрд░реНрдорд┐рдирд▓ рд╕реБрдВрджрд░ рдЖрдгрд┐ рд╕реЛрдпреАрд╕реНрдХрд░ рдмрдирд╡рдгреЗ

рд╕рд░реНрд╡ Linux рд╡рд┐рддрд░рдг рдлрдВрдХреНрд╢рдирд▓ рдЖрдгрд┐ рдХрд╕реНрдЯрдорд╛рдЗрдЭ рдХрд░рдгреНрдпрд╛рдпреЛрдЧреНрдп рдЯрд░реНрдорд┐рдирд▓ рдПрдореБрд▓реЗрдЯрд░рд╕рд╣ рдпреЗрддрд╛рдд. рдЗрдВрдЯрд░рдиреЗрдЯрд╡рд░, рдЖрдгрд┐ рдХрдзреАрдХрдзреА рдЕрдЧрджреА рдЯрд░реНрдорд┐рдирд▓рдордзреНрдпреЗрд╣реА, рддреЗ рд╕реБрдВрджрд░ рджрд┐рд╕рдгреНрдпрд╛рд╕рд╛рдареА рдЕрдиреЗрдХ рддрдпрд╛рд░-рддрдпрд╛рд░ рдереАрдо рдЖрд╣реЗрдд. рддрдерд╛рдкрд┐, рдПрдХ рдорд╛рдирдХ рдЯрд░реНрдорд┐рдирд▓ (рдХреЛрдгрддреНрдпрд╛рд╣реА DE рдордзреНрдпреЗ, рдХреЛрдгрддреНрдпрд╛рд╣реА рд╡рд┐рддрд░рдгрд╛рдордзреНрдпреЗ) рд╕реБрдВрджрд░ рдЖрдгрд┐ рддреНрдпрд╛рдЪ рд╡реЗрд│реА рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрдгрд┐ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реЛрдкрд╛ рдмрдирд╡рдгреНрдпрд╛рд╕рд╛рдареА, рдореА рдмрд░рд╛рдЪ рд╡реЗрд│ рдШрд╛рд▓рд╡рд▓рд╛. рддрд░, рддреБрдореНрд╣реА рдбрд┐рдлреЙрд▓реНрдЯ рдЯрд░реНрдорд┐рдирд▓ рд╡рд╛рдкрд░рдгреНрдпрд╛рд╕ рд╕реЛрдпреАрд╕реНрдХрд░ рдЖрдгрд┐ рдЖрдирдВрджрджрд╛рдпреА рдХрд╕реЗ рдмрдирд╡реВ рд╢рдХрддрд╛?

рдХрд╛рд░реНрдпрдХреНрд╖рдорддрд╛ рдЬреЛрдбрдд рдЖрд╣реЗ

рдХрдорд╛рдВрдб рд╢реЗрд▓

рдмрд╣реБрддреЗрдХ рд╡рд┐рддрд░рдгреЗ рдЕрдВрдЧрднреВрдд рдмреЕрд╢рд╕рд╣ рдпреЗрддрд╛рдд. рдЕреЕрдб-рдСрдиреНрд╕ рд╡рд╛рдкрд░реВрди рддреБрдореНрд╣реА рдпрд╛рддреВрди рддреБрдореНрд╣рд╛рд▓рд╛ рд╣рд╡реЗ рдЕрд╕рд▓реЗрд▓реЗ рдХрд╛рд╣реАрд╣реА рдмрдирд╡реВ рд╢рдХрддрд╛, рдкрд░рдВрддреБ рд╣реЗ рд╕рд╛рдзреНрдп рдХрд░рдгреЗ рдЦреВрдк рд╕реЛрдкреЗ рдЖрд╣реЗ zsh. рдХрд╛?

  • рджрд╛рдмрд▓реНрдпрд╛рд╡рд░ рдЖрджреЗрд╢рд╛рдВрдЪреНрдпрд╛ рд╕реНрд╡рдпрдВ-рдкреВрд░реНрдгрддреЗрд╕рд╛рдареА рдкреНрд░рдЧрдд рдпрд╛рдВрддреНрд░рд┐рдХреА рдХрд┐рдВрд╡рд╛ . рдмреЕрд╢рдЪреНрдпрд╛ рд╡рд┐рдкрд░реАрдд, рддреБрдореНрд╣рд╛рд▓рд╛ рд╣реЗ рдХреЙрдиреНрдлрд┐рдЧрд░ рдХрд░рдгреНрдпрд╛рдЪреА рдЖрд╡рд╢реНрдпрдХрддрд╛ рдирд╛рд╣реА, рд╕рд░реНрд╡рдХрд╛рд╣реА рдмреЙрдХреНрд╕рдЪреНрдпрд╛ рдЕрдЧрджреА рдЙрдЪреНрдЪ рд╕реНрддрд░рд╛рд╡рд░ рдХрд╛рд░реНрдп рдХрд░рддреЗ.
  • рдмрд░реНтАНрдпрд╛рдЪ рд░реЗрдбреАрдореЗрдб рдереАрдо, рдореЙрдбреНрдпреВрд▓, рдкреНрд▓рдЧрдЗрди рдЖрдгрд┐ рдмрд░реЗрдЪ рдХрд╛рд╣реА. рдлреНрд░реЗрдорд╡рд░реНрдХ (oh-my-zsh, prezto, рдЗ.) рджреНрд╡рд╛рд░реЗ рд╕рд╛рдиреБрдХреВрд▓рддрд╛, рдЬреЗ рдЯрд░реНрдорд┐рдирд▓ рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдЖрдгрд┐ рд╕реБрдзрд╛рд░рдгреНрдпрд╛рдЪреНрдпрд╛ рд╢рдХреНрдпрддрд╛рдВрдЪрд╛ рд▓рдХреНрд╖рдгреАрдп рд╡рд┐рд╕реНрддрд╛рд░ рдХрд░рддреЗ. рдкреБрдиреНрд╣рд╛, рд╣реЗ рд╕рд░реНрд╡ рдмреЕрд╢рдордзреНрдпреЗ рдкреНрд░рд╛рдкреНрдд рдХреЗрд▓реЗ рдЬрд╛рдК рд╢рдХрддреЗ, рдкрд░рдВрддреБ Zsh рд╕рд╛рдареА рдПрдХ рдЯрди рддрдпрд╛рд░ рд╕рд╛рдордЧреНрд░реА рдЖрд╣реЗ. рдмреЕрд╢рд╕рд╛рдареА рддреНрдпрд╛рдкреИрдХреА рд▓рдХреНрд╖рдгреАрдп рдХрдореА рдЖрд╣реЗрдд рдЖрдгрд┐ рдХрд╛рд╣реА рдЕрдЬрд┐рдмрд╛рдд рдЙрдкрд▓рдмреНрдз рдирд╛рд╣реАрдд.

рдореА Bash рд╡рд░реВрди Zsh рд╡рд░ рд╕реНрд╡рд┐рдЪ рдХрд░рдгреНрдпрд╛рдЪреА рд╣реА рдореБрдЦреНрдп рдХрд╛рд░рдгреЗ рдЖрд╣реЗрдд. рдпрд╛рд╢рд┐рд╡рд╛рдп, Zsh рдХрдбреЗ рдЗрддрд░ рдЕрдиреЗрдХ рд╡рд╕реНрддреВ рдЖрд╣реЗрдд.

Zsh рд╕реЗрдЯ рдХрд░рдд рдЖрд╣реЗ

рдкреНрд░рдердо, Zsh рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВ (рдЬрд░ рддреЗ рдЖрдзреАрдЪ рд╕реНрдерд╛рдкрд┐рдд рдХреЗрд▓реЗ рдЕрд╕реЗрд▓, рдЙрджрд╛рд╣рд░рдгрд╛рд░реНрде, рдорд╛рдВрдЬрд╛рд░реЛ рдкреНрд░рдорд╛рдгреЗ, рддреБрдореНрд╣реА рд╣реА рдкрд╛рдпрд░реА рд╡рдЧрд│реВ рд╢рдХрддрд╛):

sudo apt install zsh

рдбреАрдлреЙрд▓реНрдЯ рд╢реЗрд▓ рдореНрд╣рдгреВрди Zsh рд╕реНрдерд╛рдкрд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рд╕рд╛рдВрдЧрд┐рддрд▓реЗ рддреЗрд╡реНрд╣рд╛, рдХреНрд▓рд┐рдХ рдХрд░рд╛ YрдкреБрд╖реНрдЯреА рдХрд░рдгреНрдпрд╛рд╕рд╛рдареА.

рдУрд╣-рдорд╛рдп-рдЭреЗрд╢ рдПрдХ рд▓реЛрдХрдкреНрд░рд┐рдп рдЖрдгрд┐ рд╕рдХреНрд░рд┐рдпрдкрдгреЗ рд╡рд┐рдХрд╕рд┐рдд рд╣реЛрдд рдЕрд╕рд▓реЗрд▓реЗ Zsh рдлреНрд░реЗрдорд╡рд░реНрдХ рдЖрд╣реЗ рдЬреЗ рддреБрдореНрд╣рд╛рд▓рд╛ рдЯрд░реНрдорд┐рдирд▓ рд╢реЗрд▓ рд▓рд╡рдЪрд┐рдХрдкрдгреЗ рд╕рд╛рдиреБрдХреВрд▓рд┐рдд рдХрд░рдгреНрдпрд╛рд╕ рдЕрдиреБрдорддреА рджреЗрддреЗ. рдЪрд▓рд╛ рддреЗ рд╕реНрдерд╛рдкрд┐рдд рдХрд░реВрдпрд╛:

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

zsh: рдЖрджреЗрд╢ рд╕рд╛рдкрдбрд▓рд╛ рдирд╛рд╣реА: рдХрд░реНрд▓
рд╕реЗрдЯ 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: рдХрдорд╛рдВрдб рд╕рд╛рдкрдбрд▓реА рдирд╛рд╣реА: 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 рдлреЙрдиреНрдЯ рдирд┐рд╡рдбрд╛ рди "рд╡рд┐рдВрдбреЛрдЬ рдХрдВрдкреЕрдЯрд┐рдмрд▓", рд╢реЗрд╡рдЯ "рдореЛрдиреЛ" рд╕рд╣.

рдЖрдореНрд╣реА рдлреЙрдиреНрдЯ рдЖрдгрд┐ рдереАрдо рдХрдиреЗрдХреНрдЯ рдХрд░рддреЛ.

рд╕рдВрдкрд╛рджрди ~/.zshrc.

рдлрд╛рдЗрд▓рдордзреНрдпреЗ рдЖрдзреАрдЪ рдпрд╛ рдУрд│реА рдЕрд╕рд▓реНрдпрд╛рд╕, рддреНрдпрд╛ рдмрджрд▓рд╛.

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

рд░рдВрдЧ. рдЯрд░реНрдорд┐рдирд▓ рдбрд┐рдЭрд╛рдЗрдирдЪрд╛ рдПрдХ рдорд╣рддреНрддреНрд╡рд╛рдЪрд╛ рднрд╛рдЧ рдореНрд╣рдгрдЬреЗ рд░рдВрдЧрд╕рдВрдЧрддреА. рдореА рдмрд░реНтАНрдпрд╛рдЪ рд╡реЗрдЧрд╡реЗрдЧрд│реНрдпрд╛ рдпреЛрдЬрдирд╛рдВрдордзреВрди рдЧреЗрд▓реЛ, рддреНрдпрд╛ рд╕рдВрдкрд╛рджрд┐рдд рдХреЗрд▓реНрдпрд╛ рдЖрдгрд┐ рдореЛрдиреЛрдХрд╛рдИ рдбрд╛рд░реНрдХрд╡рд░ рд╕реНрдерд╛рдпрд┐рдХ рдЭрд╛рд▓реЛ. рд╣реЗ рдбреЛрд│реНрдпрд╛рдВрдирд╛ рджреБрдЦрд╛рдкрдд рдХрд░рдд рдирд╛рд╣реА, рдкрд░рдВрддреБ рддреЗ рдЖрдирдВрджрджрд╛рдпреА рдЖрдгрд┐ рддреЗрдЬрд╕реНрд╡реА рдЖрд╣реЗ. рд░рдВрдЧрд╛рдВрдЪреА рдпрд╛рджреА:

[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

рдкрд░рд┐рдгрд╛рдо

рд▓рд┐рдирдХреНрд╕ рдЯрд░реНрдорд┐рдирд▓ рд╕реБрдВрджрд░ рдЖрдгрд┐ рд╕реЛрдпреАрд╕реНрдХрд░ рдмрдирд╡рдгреЗ
рдЪреВрдХ:
рд▓рд┐рдирдХреНрд╕ рдЯрд░реНрдорд┐рдирд▓ рд╕реБрдВрджрд░ рдЖрдгрд┐ рд╕реЛрдпреАрд╕реНрдХрд░ рдмрдирд╡рдгреЗ
GIT:
рд▓рд┐рдирдХреНрд╕ рдЯрд░реНрдорд┐рдирд▓ рд╕реБрдВрджрд░ рдЖрдгрд┐ рд╕реЛрдпреАрд╕реНрдХрд░ рдмрдирд╡рдгреЗ

рд╕реНрддреНрд░реЛрдд

PowerLevel10K рджрд╕реНрддрдРрд╡рдЬреАрдХрд░рдг
рдСрдирд▓рд╛рдЗрди рдЯрд░реНрдорд┐рдирд▓ рд░рдВрдЧ рдпреЛрдЬрдирд╛ рдбрд┐рдЭрд╛рдЗрдирд░
Bash рдЖрдгрд┐ Zsh рдордзреАрд▓ рдлрд░рдХ

рд╕реНрддреНрд░реЛрдд: www.habr.com

рдПрдХ рдЯрд┐рдкреНрдкрдгреА рдЬреЛрдбрд╛