Skip to content

ZSH ​

🧠 Π‘ΡƒΡ‚ΡŒ ​

Zsh + Oh My Zsh β€” ΡƒΠ»ΡƒΡ‡ΡˆΠ΅Π½Π½Ρ‹ΠΉ shell с Π°Π²Ρ‚ΠΎΠ΄ΠΎΠΏΠΎΠ»Π½Π΅Π½ΠΈΠ΅ΠΌ, подсвСткой, Ρ‚Π΅ΠΌΠ°ΠΌΠΈ.

βš™οΈ Установка ​

bash
sudo pacman -S zsh
chsh -s /usr/bin/zsh
  • pacman -S zsh β€” установка Zsh
  • chsh -s /usr/bin/zsh β€” смСна shell ΠΏΠΎ ΡƒΠΌΠΎΠ»Ρ‡Π°Π½ΠΈΡŽ Π½Π° Zsh

ПослС chsh β€” Ρ€Π΅Π»ΠΎΠ³ΠΈΠ½.

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

Установка Oh My Zsh β€” Ρ„Ρ€Π΅ΠΉΠΌΠ²ΠΎΡ€ΠΊΠ° для управлСния ΠΊΠΎΠ½Ρ„ΠΈΠ³Π°ΠΌΠΈ ΠΈ ΠΏΠ»Π°Π³ΠΈΠ½Π°ΠΌΠΈ Zsh.

πŸ’» ΠŸΠ»Π°Π³ΠΈΠ½Ρ‹ ​

bash
git clone https://github.com/zsh-users/zsh-autosuggestions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-syntax-highlighting \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

git clone https://github.com/zsh-users/zsh-completions \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-completions

git clone https://github.com/zsh-users/zsh-autocomplete \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autocomplete
  • zsh-autosuggestions β€” подсказки ΠΏΡ€ΠΈ Π²Π²ΠΎΠ΄Π΅ Π½Π° основС истории
  • zsh-syntax-highlighting β€” подсвСтка синтаксиса ΠΊΠΎΠΌΠ°Π½Π΄ (ошибки красным)
  • zsh-completions β€” Π΄ΠΎΠΏΠΎΠ»Π½ΠΈΡ‚Π΅Π»ΡŒΠ½Ρ‹Π΅ автодополнСния
  • zsh-autocomplete β€” Π²Ρ‹ΠΏΠ°Π΄Π°ΡŽΡ‰ΠΈΠΉ список автодополнСния
bash
plugins=(
  git
  zsh-autosuggestions
  zsh-syntax-highlighting
  zsh-completions
  zsh-autocomplete
)

ΠŸΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π΅Π½ΠΈΠ΅ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π² ~/.zshrc. zsh-syntax-highlighting Π΄ΠΎΠ»ΠΆΠ΅Π½ Π±Ρ‹Ρ‚ΡŒ послСдним.

πŸ’» Π’Π΅ΠΌΠ° Powerlevel10k ​

bash
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git \
  ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k

--depth=1 β€” ΡΠΊΠ°Ρ‡Π°Ρ‚ΡŒ Ρ‚ΠΎΠ»ΡŒΠΊΠΎ послСдний ΠΊΠΎΠΌΠΌΠΈΡ‚ (быстрСС).

Π’ ~/.zshrc добавь:

bash
# Powerlevel10k ΠΏΠΎΠ΄ΠΊΠ»ΡŽΡ‡Π°Π΅Ρ‚ΡΡ автоматичСски ΠΏΡ€ΠΈ Π½Π°Π»ΠΈΡ‡ΠΈΠΈ Π² ZSH_CUSTOM

ПослС β€” p10k configure для настройки внСшнСго Π²ΠΈΠ΄Π°.

πŸ’» fzf (поиск) ​

bash
sudo pacman -S fzf

FZF β€” fuzzy finder для поиска ΠΏΠΎ истории, Ρ„Π°ΠΉΠ»Π°ΠΌ, процСссам.

Π’ ~/.zshrc:

bash
[ -f /usr/share/fzf/key-bindings.zsh ] && source /usr/share/fzf/key-bindings.zsh
[ -f /usr/share/fzf/completion.zsh ] && source /usr/share/fzf/completion.zsh
  • key-bindings.zsh β€” Ctrl+R для поиска ΠΏΠΎ истории
  • completion.zsh β€” ** + Tab для автодополнСния ΠΏΡƒΡ‚Π΅ΠΉ

πŸ’» CLI инструмСнты ​

bash
sudo pacman -S bat exa ripgrep fd dust btop fzf tree unzip zip lazygit
Π˜Π½ΡΡ‚Ρ€ΡƒΠΌΠ΅Π½Ρ‚Π—Π°ΠΌΠ΅Π½Π°Π§Ρ‚ΠΎ Π΄Π΅Π»Π°Π΅Ρ‚
batcatΠŸΠΎΠ΄ΡΠ²Π΅Ρ‚ΠΊΠ° синтаксиса, Π½ΠΎΠΌΠ΅Ρ€Π° строк
exalsЦвСта, иконки, дСрСво
ripgrepgrepБыстрый поиск ΠΏΠΎ содСрТимому
fdfindБыстрый поиск Ρ„Π°ΠΉΠ»ΠΎΠ²
dustduВизуализация Ρ€Π°Π·ΠΌΠ΅Ρ€Π° ΠΏΠ°ΠΏΠΎΠΊ
btophtopΠœΠΎΠ½ΠΈΡ‚ΠΎΡ€ΠΈΠ½Π³ процСссов
lazygitgitTUI-интСрфСйс для Git
treeβ€”Π”Π΅Ρ€Π΅Π²ΠΎ Ρ„Π°ΠΉΠ»ΠΎΠ²
unzip/zip—Архивация

πŸ’» Алиасы Π² Zsh ​

bash
nano ~/.oh-my-zsh/custom/aliases.zsh

OMZ автоматичСски ΠΏΠΎΠ΄Π³Ρ€ΡƒΠΆΠ°Π΅Ρ‚ всС *.zsh ΠΈΠ· custom/ β€” Π½Π΅ Π½ΡƒΠΆΠ½ΠΎ ΠΏΡ€Π°Π²ΠΈΡ‚ΡŒ .zshrc.

πŸ’» АвтообновлСниС ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² ​

bash
omz update

ОбновлСниС Oh My Zsh ΠΈ всСх ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ².

bash
crontab -e
0 5 * * 1  omz update > /dev/null 2>&1

АвтоматичСскоС ΠΎΠ±Π½ΠΎΠ²Π»Π΅Π½ΠΈΠ΅ ΠΊΠ°ΠΆΠ΄Ρ‹ΠΉ понСдСльник Π² 5:00 Ρ‡Π΅Ρ€Π΅Π· cron.

⚠️ ΠŸΠΎΠ΄Π²ΠΎΠ΄Π½Ρ‹Π΅ ΠΊΠ°ΠΌΠ½ΠΈ ​

  • ΠŸΠΎΡ€ΡΠ΄ΠΎΠΊ ΠΏΠ»Π°Π³ΠΈΠ½ΠΎΠ² Π²Π°ΠΆΠ΅Π½: zsh-syntax-highlighting послСдним
  • ПослС chsh β€” ΠΎΠ±ΡΠ·Π°Ρ‚Π΅Π»ΡŒΠ½ΠΎ Ρ€Π΅Π»ΠΎΠ³ΠΈΠ½
  • source ~/.zshrc ΠΈΠ»ΠΈ exec zsh для примСнСния

Built with VitePress