Z shell, zsh — является одной из современных командных оболочек UNIX
, использующаяся непосредственно как интерактивная оболочка, либо как скриптовый интерпретатор. Zsh
является расширенным bourne shell
с большим количеством улучшений.
Особенности
Некоторые полезные особенности:
- программируемое автодополнение, которое помогает пользователям вводить как команды, так и их аргументы, со встроенной поддержкой нескольких сотен команд;
- разделяет историю команд между всеми запущенными экземплярами оболочки;
- расширенное дополнение названий файлов, что позволяет указать файл без необходимости запускать внешние программы, наподобие find;
- расширенная поддержка переменных и массивов;
- редактирование многострочных команд в едином буфере;
- коррекция опечаток;
- имеет различные режимы совместимости (то есть, вы можете использовать zsh вместо bourne shell при запуске, как /bin/sh);
- модифицируемые приглашения (prompts), включающие возможность расположить приглашение справа и настроить автоскрытие при наборе длинных команд.
Установка и настройка Z-shell (Oh My Zsh) в Ubuntu
Обновляем пакеты
sudo apt update
Установливаем необходимые пакеты (ZSH, powerline и powerline шрифты)
sudo apt install zsh
sudo apt install powerline fonts-powerline
Клонируем репозиторий Oh My Zsh
git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
Создаем новый zsh конфигурационный файл
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
С помощью редактора nano
открываем файл .zshrc
для того, чтобы выбраться для zsh терминала тему оформления
nano ~/.zshrc
Найдите строку ZSH_THEME="robbyrussell"
замените тему robbyrussell
на agnoster
. (CTRL+X затем Enter для сохранения)
ZSH_THEME="agnoster"
Просмотреть список тем и выбрать более подхлдящую можно на странице https://github.com/robbyrussell/oh-my-zsh/wiki/Themes
Теперь введя команду zsh
можем запустить командную оболочку. Для того, чтобы обратно вернуться в bash вводим bash
.
Установка подсветки синтаксиса Oh My Zsh
Клонируем репозиторий ZSH Syntax Highlighting
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git "$HOME/.zsh-syntax-highlighting" --depth 1
Добавляем syntax-highlighting
в файл конфигурации .zshrc
echo "source $HOME/.zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> "$HOME/.zshrc"
Устанавливаем плагин автодополнения для zsh
Клонируем репозиторий плагина zsh-autosuggestions
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
Добавляем плагин:
- Открываем
~/.zshrc
nano ~/.zshrc
- Ищем строку:
plugins=(git)
и придаём ей следующий вид:plugins=(git zsh-autosuggestions)
- Сохраняем
- Обновляем конфиг:
source ~/.zshrc
Устанавливаем командную оболочку по умолчанию
Чтобы выбрать zsh
командной оболочкой по умолчанию при загрузке системы, нужно выполнить команду
chsh -s /bin/zsh
Если нужно вернуть bash
как командную оболочку по умолчанию обратно, выполняем команду
chsh -s /bin/bash
Обновление и удаление oh-my-zsh
Подробная информация тут https://github.com/robbyrussell/oh-my-zsh#manual-updates
cd .oh-my-zsh
upgrade_oh_my_zsh