В этом руководстве показано, как установить zsh и настроить фреймворк Oh my zsh на компьютере с Linux.
Z shell (Zsh) – один из самых мощных интерпретаторов оболочки, который представляет собой расширенную версию bash, tcsh и ksh.
Это очень популярный инструмент командной строки для рабочего процесса веб-разработчиков.
Некоторые из характерных особенностей:
- Лучшее завершение вкладки
- Удобная навигация по каталогам
- Поддерживает множество тем и плагинов
- Подсветка синтаксиса
- Автозаполнение
- Интерактивная конфигурация
- Настройка цвета
Установка ZSH на Linux
По умолчанию в дистрибутивах Ubuntu и Debian нет zsh.
Чтобы установить zsh в ubuntu 20.04 и Debian 10, запустите:
$ sudo apt install zsh
На CentOS 8:
$ sudo yum install zsh
Чтобы проверить установку zsh:
$ which zsh /usr/bin/zsh
Изменить текущую оболочку
Сначала проверьте, в какой оболочке вы сейчас работаете, с помощью следующей команды echo:
$ echo $0 -bash
или
$ echo $SHELL /bin/bash
$ chsh -s $(which zsh)
Выйдите из текущего сеанса, теперь, когда вы войдете заново в терминал, у вас будет оболочка Zsh вместо bash по умолчанию.
$ echo $0 -zsh
Примечание: в CentOS 8 установите пакет util-linux-user, чтобы иметь chsh:
$ sudo dnf install util-linux-user
или
$ sudo yum install util-linux-user
Установка фреймворка Oh my zsh
Oh My Zsh – это фреймворк с открытым исходным кодом, работающий поверх Zsh.
Он поставляется с множеством функций, тем и плагинов.
Во-первых, вам нужно установить wget и git для загрузки необходимых инструментов установки:
$ sudo apt install git wget
На CentOS:
$ sudo dnf install wget git
$ wget https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh -O - | zsh
$ ls ~/.oh-my-zsh CODE_OF_CONDUCT.md LICENSE.txt cache lib oh-my-zsh.sh templates tools CONTRIBUTING.md README.md custom log plugins themes
$ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc $ source .zshrc
Как изменить тему
По умолчанию Oh-my-zsh использует тему robbyrussell.
Вы можете найти это, открыв файл .zshrc:
# If you come from bash you might have to change your $PATH. # export PATH=$HOME/bin:/usr/local/bin:$PATH # Path to your oh-my-zsh installation. export ZSH=$HOME/.oh-my-zsh # Set name of the theme to load --- if set to "random", it will # load a random theme each time oh-my-zsh is loaded, in which case, # to know which specific one was loaded, run: echo $RANDOM_THEME # See https://github.com/ohmyzsh/ohmyzsh/wiki/Themes ZSH_THEME="robbyrussell"
Есть много других тем в каталоге ~/.oh-my-zsh/themes/.
Чтобы изменить тему по умолчанию, отредактируйте файл .zshrc и измените тему по умолчанию.
Например, чтобы изменить тему на «kiwi», обновите, как показано далее:
ZSH_THEME="kiwi"
Затем примените изменение, запустив:
$ source .zshrc
Как включить плагины
Oh-my-zsh предлагает множество плагинов.
Вы можете посмотреть в каталоге ~/.oh-my-zsh/plugins.
Чтобы включить плагины, отредактируйте файл .zshrc и добавьте соответствующие плагины в строку «plugins».
Например:
plugins=(git docker gcloud terraform vagrant)
Настроика подсветки синтаксиса на Zsh
Если вы хотите включить подсветку синтаксиса в оболочке Zsh, клонируйте zsh-syntax-hightlighting из github и переместите его в папку плагинов:
$ git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ mv zsh-syntax-highlighting ~/.oh-my-zsh/plugins
$ echo "source ~/.oh-my-zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh” >> ~/.zshrc $ source ~/.zshrc
Настроика автозаполнения на Zsh
При вводе команды в оболочке zsh полезно, если оболочка поддерживает механизм автозаполнения.
К счастью, oh-my-zsh очень хорошо поддерживает эту функцию.
Чтобы включить автоматическое предложение, установите плагин zsh-autosuggestions:
$ git clone https://github.com/zsh-users/zsh-autosuggestions $ mv zsh-autosuggestions ~/.oh-my-zsh/custom/plugins
Затем добавьте плагин в список плагинов в файле ~/.zshrc:
plugins=(git docker gcloud terraform vagrant zsh-autosuggestions)
Теперь примените изменение, запустив:
$ source ~/.zshrc
Заключение
В этом руководстве мы узнали, как установить и настроить ZSH на машинах с Ubuntu 20.04 и CentOS 8.
Fish shell – еще одна хорошая альтернатива, которую стоит попробовать, чтобы получить больше удовольствия от терминала
Спасибо за чтение и, пожалуйста, оставьте свои мысли в разделе комментариев ниже.