Все об Arch Linux

Arch Linux будет тем, что вы из него сделаете!

Zsh темы и конфигурация — превращаем терминал в мощный инструмент

Zsh Terminal Zsh (Z Shell) — мощная командная оболочка, которая превосходит bash по функциональности и возможностям настройки. С правильной конфигурацией Zsh превращается из простого терминала в полноценную рабочую среду.

Почему Zsh?

  • Автодополнение — умное дополнение команд и аргументов
  • История команд — расширенная история с поиском
  • Темы и плагины — кастомизация внешнего вида
  • Алиасы — сокращение команд
  • Скрипты — мощные возможности автоматизации

Установка Zsh

Arch Linux

sudo pacman -S zsh

Ubuntu/Debian

sudo apt install zsh

Fedora

sudo dnf install zsh

Установка Oh My Zsh

Oh My Zsh — фреймворк для управления конфигурацией Zsh с сотнями плагинов и тем.

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

Или через wget:

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

Популярные темы Zsh

1. Powerlevel10k

Самая популярная тема с мощными возможностями кастомизации:

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

В ~/.zshrc:

ZSH_THEME="powerlevel10k/powerlevel10k"

Запустите конфигуратор:

p10k configure

2. Agnoster

Классическая тема с информацией о git-ветке:

ZSH_THEME="agnoster"

3. Bira

Простая и информативная тема:

ZSH_THEME="bira"

4. Robbyrussell

Тема по умолчанию, минималистичная:

ZSH_THEME="robbyrussell"

Обязательные плагины

Git

Встроенный плагин для работы с git:

plugins=(git)

Добавляет алиасы:

  • gstgit status
  • gcogit checkout
  • gcmgit commit
  • gpgit push

Zsh-autosuggestions

Автодополнение на основе истории:

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

В ~/.zshrc:

plugins=(... zsh-autosuggestions)

Zsh-syntax-highlighting

Подсветка синтаксиса команд:

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

В ~/.zshrc:

plugins=(... zsh-syntax-highlighting)

Zsh-completions

Дополнительные автодополнения:

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

В ~/.zshrc:

plugins=(... zsh-completions)

Полная конфигурация

Пример ~/.zshrc:

# Path to your oh-my-zsh installation.
export ZSH="$HOME/.oh-my-zsh"

# Theme
ZSH_THEME="powerlevel10k/powerlevel10k"

# Plugins
plugins=(
  git
  zsh-autosuggestions
  zsh-syntax-highlighting
  zsh-completions
  docker
  kubectl
  npm
  yarn
)

source $ZSH/oh-my-zsh.sh

# User configuration
export EDITOR='nano'
export LANG=en_US.UTF-8

# Алиасы
alias ll='ls -la'
alias la='ls -A'
alias l='ls -CF'
alias ..='cd ..'
alias ...='cd ../..'
alias grep='grep --color=auto'

# NVM (Node Version Manager)
export NVM_DIR="$HOME/.nvm"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh"

# Pyenv (Python Version Manager)
export PYENV_ROOT="$HOME/.pyenv"
export PATH="$PYENV_ROOT/bin:$PATH"
eval "$(pyenv init -)"

Полезные алиасы

Добавьте в ~/.zshrc:

# Системные
alias update='sudo pacman -Syu'
alias install='sudo pacman -S'
alias remove='sudo pacman -Rns'
alias search='pacman -Ss'

# Git
alias gs='git status'
alias ga='git add'
alias gc='git commit'
alias gp='git push'
alias gl='git log --oneline'

# Docker
alias dps='docker ps'
alias di='docker images'
alias dex='docker exec -it'

# Navigational
alias home='cd ~'
alias documents='cd ~/Documents'
alias downloads='cd ~/Downloads'

# Разное
alias ip='ip addr show'
alias ports='netstat -tulanp'
alias weather='curl wttr.in'

История команд

Улучшенная история в ~/.zshrc:

# История команд
HISTSIZE=10000
SAVEHIST=10000
setopt HIST_IGNORE_DUPS
setopt HIST_IGNORE_SPACE
setopt HIST_FIND_NO_DUPS
setopt SHARE_HISTORY

Быстрый поиск по истории

Используйте Ctrl+R для поиска по истории команд. Для ещё более быстрого поиска установите fzf:

sudo pacman -S fzf

Добавьте в ~/.zshrc:

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

Теперь используйте Ctrl+R для интерактивного поиска.

Интеграция с другими инструментами

Docker

plugins=(... docker docker-compose)

Kubernetes

plugins=(... kubectl)

Node.js

plugins=(... npm yarn nvm)

Python

plugins=(... python pip)

Решение проблем

Проблема: Медленный запуск Zsh

Отключите тяжёлые плагины или используйте zsh-defer для ленивой загрузки:

git clone https://github.com/romkatv/zsh-defer.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-defer

Проблема: Не работают автодополнения

Убедитесь, что плагины установлены в правильной директории:

ls ~/.oh-my-zsh/custom/plugins/

Проблема: Сломалась конфигурация

Запустите Zsh без конфигурации для отладки:

zsh --no-rcs

Рекомендации

  1. Начните с базовой конфигурации и постепенно добавляйте плагины
  2. Используйте Powerlevel10k для максимальной кастомизации
  3. Создайте бэкап .zshrc перед изменениями
  4. Изучите алиасы для ускорения работы
  5. Используйте историю для повторения команд

Полезные ресурсы


Автор: ordanax.github.io
Telegram: @linux4at
MAX: Присоединиться



Читайте также

Комментарии

Загрузка…

Откроется GitHub: создайте новый issue с вашим комментарием (кнопка «Submit new issue»). После отправки обновите эту страницу — комментарий появится ниже.