2 min read

ZSH + Oh My Zsh + Powerlevel10k в WSL: настройка с нуля

ZSH + Oh My Zsh + Powerlevel10k в WSL: настройка с нуля

Bash устраивает большинство, пока не попробуешь нормальное автодополнение и подсветку синтаксиса в реальном времени. После ZSH с нужными плагинами возвращаться к голому Bash уже не хочется.

Разбираю установку под WSL Ubuntu — от нуля до рабочего терминала.

Устанавливаем ZSH

Сначала обновляем пакеты:

sudo apt update && sudo apt upgrade -y

Устанавливаем ZSH и нужные пакеты:

sudo apt install zsh git fonts-font-awesome -y

Запускаем первый раз и проходим начальную конфигурацию:

zsh

Делаем ZSH оболочкой по умолчанию:

chsh -s $(which zsh)

Если chsh не даёт результата (в WSL иногда так), добавляем в ~/.bashrc:

if test -t 1; then
  exec zsh
fi

Powerline-шрифты

Темы ZSH используют специальные символы — без нужных шрифтов в терминале будут кракозябры вместо иконок. Ставится на Windows, в PowerShell от администратора:

git clone https://github.com/powerline/fonts.git
cd fonts
.\install.ps1

После установки выбираешь один из Powerline-шрифтов в настройках Windows Terminal.

Oh My Zsh

Фреймворк для управления плагинами и темами. Без него настройка занимает в разы больше времени:

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

Плагины

Два плагина, которые меняют работу в терминале больше всего:

Autosuggestions — предлагает команды из истории по мере набора:

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

Syntax Highlighting — подсвечивает команды: зелёным валидные, красным — нет:

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

Auto-update — обновляет Oh My Zsh автоматически:

git clone https://github.com/Pilaton/OhMyZsh-full-autoupdate.git \
${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/ohmyzsh-full-autoupdate

Открываешь ~/.zshrc и добавляешь плагины в список:

plugins=(
    command-not-found
    extract
    docker
    git
    github
    gitignore
    history-substring-search
    node
    npm
    nvm
    yarn
    volta
    vscode
    sudo
    zsh-autosuggestions
    zsh-syntax-highlighting
)
Плагины в .zshrc

Применяешь изменения:

source ~/.zshrc

Тема Powerlevel10k

Одна из лучших тем для ZSH — информативный промпт с веткой git, статусом команды, временем выполнения и многим другим:

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

В ~/.zshrc меняешь тему:

ZSH_THEME="powerlevel10k/powerlevel10k"

Перезапускаешь ZSH — запустится мастер настройки промпта. Он задаст несколько вопросов про внешний вид и сконфигурирует всё автоматически. Переделать в любой момент:

p10k configure
Powerlevel10k в терминале

Автоматическая установка

Если не хочешь делать всё руками — я собрал скрипт, который устанавливает ZSH с плагинами и Powerlevel10k одной командой: Install-ZSH-in-WSL-Ubuntu-Linux.


Если настраиваешь рабочее окружение для команды или нужна помощь с автоматизацией конфигурации — пиши на [email protected] или заходи на 1it.pro.

Связаться с нами
Telegram
WhatsApp
Email