Робимо Linux термінал гарним і зручним

Робимо Linux термінал гарним і зручним
4 хв. читання
22 серпня 2020

Всі дистрибутиви Linux поставляються з функціональним емулятором терміналу який можна налаштовувати. В інтернеті, а часом навіть в самому терміналі, є маса готових тем, щоб він красиво виглядав. Однак, щоб зробити зі стандартного термінала (в будь-якому DE, будь-якого дистрибутива) щось красиве й одночасно зручне та просте у використанні я витратив багато часу. Отже, як же зробити термінал зручним і приємним у використанні?

Додаємо функціональність

Командна оболонка

Більшість дистрибутивів поставляється з вбудованим Bash. Використовуючи доповнення можна зробити з нього все що захочете, але набагато простіше цього домогтися з Zsh. Чому?

  • Просунута механіка автодоповнення команд після натискання <Tab> або <Arrow Up> На відміну від Bash, вам не потрібно це налаштовувати, все працює на вищому рівні прямо «з коробки».
  • Безліч готових тем, модулів, плагінів, тощо. Налаштування через фреймворки (oh-my-zsh, prezto та ін.), Які значно розширюють можливості кастомізації та поліпшення терміналу. Знову ж, всього цього можна домогтися і в Bash, але для Zsh маса вже готових матеріалів. Для Bash їх значно менше, а деяких зовсім немає.

Це основні причини, за якими я перейшов з Bash на Zsh. Крім цього, Zsh має багато інших переваг.

Налаштування Zsh

Для початку, встановимо Zsh (якщо він вже встановлений, наприклад, як в Manjaro, можете пропустити цей пункт):

sudo apt install zsh

Коли вам запропонують встановити Zsh як оболонку за замовчуванням, натисніть Y, щоб підтвердити. Oh-My-Zsh - популярний фреймворк що активно розвивається  і дозволяє гнучко налаштувати оболонку термінала. Встановимо його:

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)

Якщо такого рядка немає - додайте його.Готово! Отримуємо зручний і функціональний термінал. Тепер зробимо його візуально приємним.

Налаштовуємо зовнішній вигляд

Встановлюємо тему PowerLevel10K :

git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k

Підключаємо тему. Редагуємо ~/.zshrc.Якщо у файлі ці рядки вже є - замініть їх.

  • ZSH_THEME="powerlevel10k/powerlevel10k"

Після встановлення плагіну вам будуть заданий ряд питань стосовно вигляду терміналу відповідаючи на які ви зможете налаштувати вигляд який вам більше сподобається. Якщо ви захочете переналаштувати термінал скористайтеся командою

p10k configure

Кольори. Важлива частина оформлення терміналу - колірна схема. Я перебрав багато різних схем, редагував їх, зупинився на 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
  • Фон гілки Git:
    typeset -g POWERLEVEL9K_VCS_CLEAN_BACKGROUND=15

Результат

Зовнішній вигляд терміналуУ випадку помилки:Зовнішній вигляд помилкиВигляд терміналу при використанні Git:Зовнішній вигляд GIT каталогу

Джерела

Помітили помилку? Повідомте автору, для цього достатньо виділити текст з помилкою та натиснути Ctrl+Enter
Коментарі (1)
Щоб залишити коментар необхідно авторизуватися.

Вхід / Реєстрація