Мой путь к идеальному терминалу с iTerm2

iTerm2 — это популярный эмулятор терминала для macOS. В этой статье я хочу поделится своим опытом его использования. Я не фанат работы с OS через консоль и если есть возможность сделать что-то через удобный GUI — я выберу этот вариант, но есть ряд задач которые я делаю в терминале, например:

  • Запуск скриптов для рабочих проектов

  • Использование пакетного менеджера Homebrew

  • Работа со CLI-утилитами

В первую очередь терминал для меня — это конечно запуск рабочих скриптов. Не самая крупная задача и долгое время мне хватало стандартного терминала macOS, но со временем я стал обращать внимание, что я держу открытыми несколько окон терминала в каждом из которых запускаю всего пару команд и было бы очень удобно переключаться не между окнами терминала, а между табами в одном окне. Оказалось, что эту задачу прекрасно решает iTerm2. Он не только позволяет открывать несколько сессий терминала в разных вкладках, но и поддерживает кучу расширений и разные темы оформления. Я потратил вечерок на настройку, которая сделала мою работу в терминале еще чуть удобнее и визуально приятнее, и хочу ей поделится.

Установка iTerm2

Процесс простой. Установить iTerm2 можно двумя способами:

  1. Скачать образ с официального сайта

  2. Использовать Homebrew

Первый вариант удобен тем, что не нужно ничего дополнительно устанавливать кроме самого iTerm2. Скачал, установил, пользуешься. Из коробки все уже настроено неплохо. Но так как я решил заморочиться с дополнительной настройкой, и мне для этого потребуются дополнительные пакеты, то я выбрал второй вариант. Итак, устанавливаю пакетный менеджер Homebrew командой:

/bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/HEAD/install.sh)"

И обязательно добавляю Homebrew в переменную PATH, выполнив еще пару команд:

echo 'eval "$(/opt/homebrew/bin/brew shellenv)"' >> $HOME/.zprofile
eval "$(/opt/homebrew/bin/brew shellenv)"

Теперь устанавливаю iTerm2:

brew install iterm2

Запускаю свежеустановленный новый терминал, который из коробки выглядит почти так же как стандартный.

Стандартный терминал masOS

Стандартный терминал masOS

iTerm2

iTerm2

Oh My Zsh и Powerlevel10k

Добавлю в него красок и функциональности. Для этого я буду пользоваться фрейворком для конфигурации zsh Oh My Zsh. Говорят, что он делает работу терминала медленнее. Но конкретно в моем случае — я не заметил какого-то дискомфортного снижения скорости открытия окон терминала или выполнения команд, но вот настройка с его довольно удобная.

Устанавливаю OhMyZsh очередной командой в терминале:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

И сразу же добавляю ультра удобную тему powerlevel10k:

brew install powerlevel10k
echo "source $(brew --prefix)/share/powerlevel10k/powerlevel10k.zsh-theme" >> ~/.zshrc

И все готово. Запускаю iTerm2 снова и попадаю в меню настройки темы powerlevel10k.

wizard настройки темы powerlevel10k

wizard настройки темы powerlevel10k

Тут уже каждый настраивает на свой вкус (если что-то пошло не так или потом захочется перенастроить — эту настройку можно будет вызвать заново). После настройки еще раз перезапускаю iTerm2 и мой результат выглядит так:

iTerm2 c  powerlevel10k

iTerm2 c powerlevel10k

Плагины

Но это еще не все. Как я уже говорил у iTerm2 есть возможность устанавливать расширения. И парочка из них мне показалась очень полезными:

Копирую их такими командами из гит-репозитория

git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions

git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

Редактирую файл .zshrc, добавив их названия в строку с плагинами:

plugins=(git zsh-autosuggestions zsh-syntax-highlighting)

Перезапускаю терминал и проверяю, что новые плагины работают

плагины в действии

плагины в действии

Добавим цвета

И остается еще одно маленькое, но очень полезное для меня, улучшение — я хочу чтобы каждая новая вкладка была своего цвета (случайного). Такой плагин я найти не смог, а потому сделал сам. Для этого так же нужно изменить файл .zshrc, добавить в конец такой код:

PRELINE="\r\033[A"

function color { 
    echo -e "\033]6;1;bg;red;brightness;$((1 + $RANDOM % 255))\a"$PRELINE
    echo -e "\033]6;1;bg;green;brightness;$((1 + $RANDOM % 255))\a"$PRELINE
    echo -e "\033]6;1;bg;blue;brightness;$((1 + $RANDOM % 255))\a"$PRELINE  
}

color

Получаю вот такой эффект:

цветные вкладки в студию!

цветные вкладки в студию!

Заключение

После настройки iTerm2 стал моим идеальным инструментом для работы в консоли: быстрым, умным и красивым. Чтобы в будущем не проходить всю настройку в ручную, я автоматизировал настройки скриптом ссылка на github.

Надеюсь, эта статья вдохновит вас на эксперименты с терминалом. Настраивайте его под свои задачи и получайте удовольствие от работы!

© Habrahabr.ru