Введення
Zsh, або Z Shell, — це потужна та багатофункціональна оболонка командного рядка для Unix-подібних операційних систем, включаючи Linux і BSD (Berkeley Software Distribution). Це розширена версія Bourne Shell (sh) з численними вдосконаленнями та додатковими функціями. Zsh має на меті забезпечити більш інтерактивний і зручний досвід для користувачів оболонки.
Ось кілька причин, чому Zsh часто вважають однією з найкращих оболонок для систем Unix/Linux/BSD:
-
Редагування командного рядка: Zsh пропонує розширені можливості редагування командного рядка, що дозволяє користувачам легко переходити та редагувати команди. Він підтримує такі функції, як розширення історії, виправлення орфографії та вдосконалене зіставлення шаблонів.
-
Налаштування: Zsh можна налаштувати. Користувачі можуть налаштовувати різні аспекти поведінки оболонки, такі як швидкий вигляд, прив’язки клавіш і параметри завершення. Великі параметри конфігурації дозволяють адаптувати його до індивідуальних уподобань і робочих процесів.
-
Автодоповлення команд: Zsh забезпечує Автодоповлення команд з урахуванням контексту, полегшуючи навігацію файловою системою та завершуючи імена та аргументи команд. Він може завершувати не лише команди, але й шляхи до файлів, змінні тощо.
-
Плагіни та розширення: Zsh підтримує плагіни та розширення, які покращують його функціональність. Такі інструменти, як Oh-My-Zsh і Prezto, є популярними фреймворками, які спрощують керування конфігураціями Zsh і додають додаткові функції за допомогою плагінів.
-
Виправлення орфографії: Zsh має вбудовану функцію виправлення орфографії, яка допомагає користувачам уникати помилок. Якщо ви неправильно введете команду або шлях до файлу, Zsh може запропонувати виправлення.
-
Інтерактивні функції: Zsh містить інтерактивні функції, які покращують загальну взаємодію з користувачем, наприклад можливість легко переглядати історію команд, здійснювати пошук серед попередніх команд і повторно використовувати або ефективно змінювати команди.
-
Сумісність із оболонкою Bourne: Zsh сумісний із синтаксисом оболонки Bourne (sh), що робить його відповідною заміною для sh або Bash. Існуючі сценарії оболонки, швидше за все, працюватимуть у Zsh без змін.
Хоча Zsh пропонує багатий набір функцій, вибір «найкращої» оболонки часто залежить від індивідуальних уподобань і конкретних випадків використання. Інші популярні оболонки включають Bash (Bourne Again SHell) і Fish (Friendly Interactive SHell), кожна з яких має свої сильні сторони та характеристики. Зрештою, найкраща оболонка — це та, яка узгоджується з вашим робочим процесом і відповідає вашим конкретним вимогам.
Встановлення
Встановіть пакет ZSH
Щоб установити пакет ZSH у вашій системі Linux, розгляньте можливість використання менеджера пакунків, який постачається з вашим дистрибутивом. Це робиться по-різному залежно від вашого дистрибутива, наприклад:
Для Arch Linux:
sudo pacman -S zsh
Для Fedora, Red Hat:
sudo dnf install zsh
Для Debian, Ubuntu, Linux Mint, ElementaryOS:
sudo apt install zsh
У моєму випадку я встановлюю його для Arch Linux:
Встановлення ZSH оболонкою за замовчуванням
Щоб зробити новий встановлений ZSH стандартним для вашого користувача, введіть команду нижче та введіть свій пароль користувача для підтвердження:
chsh -s $(which zsh)
Після цього рекомендується перезавантажити систему, при наступному перезавантаженні оболонка ZSH буде використана для вашого користувача. Щоб перезавантажити комп’ютер, ви можете скористатися командою sudo reboot
або просто скористатися графічним інтерфейсом робочого середовища для виконання перезавантаження.
Перше налаштування
Щойно ви відкриєте програму терміналу після перезавантаження, zsh запропонує вам створити файли конфігурації за замовчуванням. Для застосування конфігурації натисніть на клавіатурі «0».
Встановлення Oh My ZSH
Oh My Zsh — це платформа з відкритим вихідним кодом і менеджер конфігурації для Zsh, Z Shell. Він був створений, щоб полегшити користувачам керування конфігураціями Zsh і покращити роботу командного рядка. Oh-My-Zsh надає колекцію плагінів, тем і допоміжних функцій, які можна легко інтегрувати в Zsh, дозволяючи користувачам налаштовувати та розширювати функціональність свого середовища оболонки.
Найпростіший спосіб щоб інсталювати ZSH — скористатися сценарієм інсталяції зі Oh My Zsh GitHub Repository. Можна виконати інсталяційний сценарій, завантаживши його, ось так:
sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)"
Після завершення скрипта ви побачите встановлену оболонку Oh My Zsh, як на знімку екрана нижче.
Налаштування теми Oh My ZSH
Oh My Zsh має багато попередньо встановлених тем, які знаходяться в папці ~/.oh-my-zsh/themes/
.
Ви можете змінити свій файл .zshrc
і використовувати попередньо встановлену тему.
nano .zshrc
А щоб змінити тему на agnoster
, наприклад, знайдіть параметр ZSH_THEME
і змініть його так:
ZSH_THEME="agnoster"
Встановлення сторонної теми Oh My ZSH
Особисто мені тема Powerlevel10k найбільше подобається серед інших, тому в цьому прикладі я покажу, як її встановити.
Встановлення сумісного шрифта терміналу
Щоб тема могла правильно відображати деякі символи, ваш термінал має використовувати спеціальний сумісний фон Meslo LGS NF. Для цього ви можете виконати інструкції зі сховища GitHub.
Найпростіший спосіб - завантажити 4 файли шрифтів:
Щоб зробити їх доступними для всієї системи, перемістіть ці 4 файли до папки /usr/share/fonts
:
|
|
Щоб очистити кеш шрифтів, виконайте команду:
sudo fc-cache
Останнім кроком є зміна шрифту вашого терміналу. Це може залежати від терміналу, який ви використовуєте, але зазвичай ви можете просто змінити його в графічних налаштуваннях терміналу. У моєму випадку я налаштував його на використання Meslo LGS NF Regular 12
.
Встановлення теми Powerlevel10k
Спочатку завантажте тему Powerlevel10k у свій каталог користувальницьких тем, це можна легко зробити за допомогою однієї команди:
git clone --depth=1 https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k
Потім змініть файл .zshrc
:
nano .zshrc
і встановіть параметр ZSH_THEME
рівним powerlevel10k/powerlevel10k
:
ZSH_THEME="powerlevel10k/powerlevel10k"
Після збереження файлу скористайтеся наведеною нижче командою, щоб застосувати зміни:
source ~/.zshrc
Перше налаштування Powerlevel10k
Під час першого запуску нового спеціального рівня Powerlevel10k запуститься майстер налаштування теми Powerlevel10k. Ви завжди можете знову запустити цей майстер, використовуючи команду терміналу p10k configure
. Майстер має кілька кроків, просто натисніть відповідні клавіші на клавіатурі, щоб відповісти. Нижче я покажу, як конфігурація виглядає в моєму випадку.
1. Переконайтеся, що кілька символів шрифту відображаються правильно.
Я просто відповів «так» на ці запитання (натиснувши «y» на клавіатурі), тому що все, що стосується відтворення символів, відображалося правильно.
2. Налаштуйте стиль теми
Усі параметри в цьому розділі дозволяють змінити дизайн теми відповідно до ваших особистих уподобань. Я покажу, які відповіді я ввів у майстер, якщо ви захочете відтворити точну поведінку теми з цього посібника.
Швидке налаштування стилю дозволить налаштувати основний вигляд і відчуття, тут я відповів «3».
Набір символів є важливим параметром, і насправді Юнікод дозволяє відображати більше символів, тому я настійно рекомендую відповісти тут «1».
Цей параметр дозволяє показувати або приховувати поточний час у терміналі. Я не бачу в цьому жодної практичної користі, тому відповів n
тут.
Наступні налаштування стосуються зовнішнього вигляду теми, ви можете вибрати те, що вам подобається особисто.
Функція instant prompt дозволяє скоротити час завантаження оболонки ZSH, тому я настійно рекомендую ввімкнути її, відповівши тут «1».
Останнім кроком є застосування змін до .zshrc
, просто дайте тут відповідь y
.
Якщо все налаштовано правильно, ви побачите нову тему оболонки.
Увімкніть вбудовані плагіни Oh My ZSH
Zsh підтримує плагіни та розширення, які покращують його функціональність. Oh-My-Zsh дозволяє легко керувати конфігураціями Zsh і додавати додаткові функції за допомогою плагінів.
Щоб переглянути список плагінів, які входять до складу Oh My ZSH, ви можете ввести команду:
ls -a ~/.oh-my-zsh/plugins/
У моєму випадку у мене є такі плагіни:
Потім ви можете змінити свій файл .zshrc
:
nano .zshrc
і встановити параметр plugins
для завантаження потрібних вам плагінів, у моєму випадку (як розробника Android) мені потрібні плагіни git
і adb
:
plugins=(git adb)
Потім застосуйте зміни до оболонки:
source ~/.zshrc
Встановлення сторонніх плагінів
Також Oh My ZSH дозволяє встановлювати та використовувати сторонні плагіни. Наприклад, давайте встановимо плагіни zsh-autosuggestions
, щоб мати хороші рекомендації щодо команд введення на основі історії.
Встановлення дуже схоже на встановлення спеціальної теми. Спочатку клонуйте плагін у каталог настроюваних плагінів.
git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions
Тоді ви можете змінити свій файл .zshrc
так само, як я показав у розділі статті вище, тому в результаті ви матимете:
plugins=(git adb zsh-autosuggestions)
Потім застосуйте зміни до оболонки:
source ~/.zshrc
Після цього спробуйте щось набрати, і ви побачите пропозицію. Наприклад, я ввів “neo”, а плагін пропонує використовувати “neofetch”:
Увімкнення автоматичних оновлень
Oh-My-Zsh має вбудований механізм оновлення, який допомагає користувачам підтримувати інсталяцію в актуальному стані за допомогою останніх змін, удосконалень і виправлень помилок, внесених спільнотою. Він також надає можливість автоматичного оновлення, але за умовчанням його вимкнено.
Щоб налаштувати автоматичне оновлення, вам слід встановити цю директиву у файлі .zshrc
:
zstyle ':omz:update' mode auto
Висновки
Таким чином, ZSH є більш багатофункціональною оболонкою, яка може зробити вашу роботу ефективнішою, розширюючи функціональність оболонки за допомогою спеціальних плагінів, тому її можна вважати кращою альтернативою bash, яка є оболонкою за замовчуванням у будь-якому сучасному дистрибутиві Linux.