Всі дистрибутиви Linux поставляються з функціональним і кастомізованим емулятором терміналу. В інтернеті, а часом навіть у самому терміналі, є безліч готових тим, щоб він красиво виглядав. Однак, щоб зробити зі стандартного терміналу (у будь-якому DE, будь-якого дистрибутива) щось гарне і водночас зручне та просте у використанні я витратив багато часу. Отже, як зробити дефолтний термінал зручним і приємним у використанні?
Додаємо функціональність
Командна оболонка
Більшість дистрибутивів поставляється із вбудованим Bash. Використовуючи доповнення можна зробити з нього все, що захочете, але набагато простіше цього досягти з
- Просунута механіка автодоповнення команд із натискання або . На відміну від Bash, вам не потрібно це налаштовувати, все працює на найвищому рівні прямо з коробки.
- Безліч готових тем, модулів, плагінів та іншого. Налаштовуваність через фреймворки (oh-my-zsh, prezto та ін.), які значно розширюють можливості кастомізації та покращення терміналу. Знову ж таки, всього цього можна досягти і в Bash, але для Zsh маса вже готових матеріалів. Для Bash їх значно менше, а декого зовсім немає.
Це основні причини, через які я перейшов з Bash на Zsh. Крім цього, Zsh має багато інших "плюшок".
Налаштування Zsh
Для початку, встановимо Zsh (якщо він вже встановлений, наприклад, як Manjaro, можете пропустити цей пункт):
sudo apt install zsh
Коли вам запропонують встановити Zsh як оболонка за замовчуванням, натисніть Y
, Щоб підтвердити.
sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
zsh: command not found: curl
Встановіть curl
:
sudo apt install curl
Підсвічування синтаксису. Набагато простіше орієнтуватися вмістом терміналу, коли різні частини команд підсвічені різними кольорами. Наприклад, директорії будуть підкреслюватися, а команди - виділятися кольором, відмінним від звичайного тексту. Встановимо плагін zsh-syntax-highlighting
:
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
zsh: command not found: git
Встановіть git:
sudo apt install git
Щоб плагін запрацював, його треба підключити.
У файлі ~/.zshrc
змінюємо рядок з plugins=
:
plugins=(git zsh-syntax-highlighting)
Якщо такого рядка немає - додайте його.
Готово! Отримуємо зручний та функціональний термінал. Тепер зробимо його візуально приємним.
Налаштовуємо зовнішній вигляд
Встановлюємо тему
git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k
Завантажуємо та додаємо в систему шрифт JetBrains Mono Nerd
(з іконками):
Виберіть один зшрифт/complete
виберіть шрифт без "Windows Compatible", із закінченням "Mono".
Підключаємо шрифт та тему.
Редагуємо ~/.zshrc
.
Якщо у файлі ці рядки вже є, замініть їх.
-
ZSH_THEME="powerlevel10k/powerlevel10k"
-
POWERLEVEL9K_MODE="nerdfont-complete"
Кольори. Важлива частина оформлення терміналу – колірна схема. Я перебрав багато різних схем, редагував їх, зупинився на Monokai Dark. Не ріже очі, але при цьому приємна та яскрава. Список квітів:
[colors]
# special
foreground = #e6e6e6
foreground_bold = #e6e6e6
cursor = #fff
background = #000
# black
color0 = #75715e
color8 = #272822
# red
color1 = #f92672
color9 = #f92672
# green
color2 = #a6e22e
color10 = #a6e22e
# yellow
color3 = #434648
color11 = #7ea35f
# blue
color4 = #66d9ef
color12 = #66d9ef
# magenta
color5 = #ae81ff
color13 = #ae81ff
# cyan
color6 = #adb3b9
color14 = #62ab9d
# white
color7 = #2AA198
color15 = #2AA198
У різних терміналах по-різному змінюється колірна схема (зазвичай це робиться через налаштування терміналу), але порядок кольорів скрізь однаковий. Ви можете імпортувати цей шаблон у форматі Termite та експортувати його для вашого терміналу через terminal.sexy
Запускаємо конфігурацію теми: p10k configure
.
Налаштуйте тему, вибираючи варіанти відображення, які вам більше подобаються.
Фінальний штрих - змінюємо конфіг теми та замінюємо вбудовані кольори.
редагуємо файл ~/.p10k.zsh
.
Якщо у файлі ці рядки вже є, замініть їх. Коди кольорів можна отримати командою
for i in {0..255}; do print -Pn "%K{$i} %k%F{$i}${(l:3::0:)i}%f " ${${(M)$((i%6)):#3}:+$'n'}; done
- Відображення лише поточної директорії:
typeset -g POWERLEVEL9K_SHORTEN_STRATEGY=truncate_to_last
- Фон блоку з директорією:
typeset -g POWERLEVEL9K_DIR_BACKGROUND=33
- Кольори стрілок:
typeset -g POWERLEVEL9K_PROMPT_CHAR_OK_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=2
и
typeset -g POWERLEVEL9K_PROMPT_CHAR_ERROR_{VIINS,VICMD,VIVIS,VIOWR}_FOREGROUND=1
- Гіт гілки фону:
typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15
Результат
Помилка:
GIT:
Джерела
Джерело: habr.com