Как разработчик, много работающий на Mac, я потратил много лет на настройку и оптимизацию того, как я настраиваю свой интерфейс командной строки, чтобы улучшить свой опыт.

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

Установка Homebrew

Первое, что я всегда делаю при установке Mac, - это открываю приложение Terminal по умолчанию и устанавливаю homebrew. Homebrew называет себя «отсутствующим менеджером пакетов для macOS» и представляет собой простой в использовании инструмент для установки всевозможных приложений (как CLI, так и GUI) на ваш Mac.

Чтобы установить homebrew, мы можем запустить следующую команду в нашем терминале, она использует curl для получения сценария установки и его выполнения.

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

Установка iTerm2

Хотя встроенное приложение «Терминал» с годами улучшалось и теперь лучше поддерживает такие вещи, как вкладки, я предпочитаю использовать iTerm2, который предлагает гораздо больше мощных функций.

Для установки iTerm2 мы можем использовать флаг --cask homebrew, который позволяет нам устанавливать приложения с графическим интерфейсом. Это делается следующим образом:

brew install --cask iterm2

После установки мы можем закрыть встроенное приложение терминала, которое мы использовали до сих пор, и открыть iTerm2 😀.

Установка Oh My Zsh

Поскольку Zsh является оболочкой по умолчанию, используемой в macO, следующим шагом будет установка Oh My Zsh.

Oh My Zsh - это фреймворк для управления вашими конфигурациями Zsh, он поставляется в комплекте с тысячами полезных функций, помощников, плагинов, тем и поможет вам настроить ваш терминал.

Аналогично тому, как мы устанавливали homebrew, мы можем использовать команду curl для установки Oh My Zsh.

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

После установки Oh My Zsh вы увидите, что ваш терминал настроен и будет иметь тему по умолчанию и некоторые базовые плагины.

Изменение внешнего вида интерфейса командной строки

Установив Oh My Zsh, мы можем приступить к его настройке!

Сначала давайте поиграемся с изменением внешнего вида терминала путем изменения темы. Чтобы найти тему, мы можем заглянуть в галерею тем по адресу https://github.com/ohmyzsh/ohmyzsh/wiki/Themes.

Глядя на эту галерею, я решил попробовать af-magic. Чтобы установить тему, вам нужно открыть файл .zshrc, найти ZSH_THEME и изменить значение на имя предпочтительной темы, как показано ниже.

ZSH_THEME="af-magic"

Затем, чтобы перезагрузить конфигурацию нашего терминала с новой темой, мы должны source наш файл конфигурации, используя:

source ~/.zshrc

Затем это перезагрузит конфигурацию, и теперь мы увидим наш новый терминал.

Добавление дополнительных функций с помощью плагинов

Следующим шагом будет настройка нашего терминала с дополнительными функциями с помощью плагинов.

По умолчанию Oh My Zsh поставляется с широким набором подключаемых модулей, которые вы можете включить, полный список которых можно найти на странице https://github.com/ohmyzsh/ohmyzsh/wiki. / Плагины .

Чтобы включить любой из встроенных плагинов, нам просто нужно отредактировать .zshrc файл конфигурации и найти `plugins =`, где по умолчанию будет установлено значение (git). Как веб-разработчик полного стека, я регулярно использую два подключаемых модуля: nvm и npm, мы добавляем их, как показано ниже, разделяя их пробелом следующим образом:

plugins=(git npm nvm)

Как и раньше, мы перезагрузим конфигурацию нашего терминала с новой конфигурацией плагина, используя команду source:

source ~/.zshrc

Затем это перезагрузит конфигурацию, и теперь мы сможем использовать команды, которые это активирует.

Помимо встроенных плагинов, существует также сообщество разработчиков, создающих сторонние плагины для Oh My Zsh. Один, который я использую ежедневно, - это zsh-autosuggestions, который предлагает команды по мере ввода на основе вашей истории и выполненных действий.

В отличие от встроенных плагинов, есть дополнительный шаг для установки сторонних плагинов, который заключается в их загрузке в пользовательскую папку. Для ранее упомянутых zsh-autosuggestions мы можем сделать следующее:

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

После того, как плагин будет установлен, вы можете отредактировать .zshrc файл конфигурации и обновить параметр `plugins = `, как и раньше, на этот раз включая имя нашего нового плагина.

plugins=(git npm nvm zsh-autosuggestions)

Мы снова должны перезагрузить конфигурацию нашего терминала с новым плагином, используя:

source ~/.zshrc

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

Другие варианты ZSH

В дополнение к использованию Oh My Zsh есть еще несколько настроек, которые я добавляю в свой .zshrc файл, чтобы упростить использование терминала.

  • setopt share_history: этот параметр позволяет вам обмениваться историей между всеми вашими открытыми оболочками. Я лично считаю, что это действительно полезно, когда я работаю с Kubernetes, часто мне нужно запускать одни и те же команды для нескольких кластеров, и я делаю это на нескольких панелях в iTerm, а общая история означает, что я могу выполнять команду в одной панели, а затем в другой. без необходимости копировать вставку между ними.
  • setopt autocd: этот параметр означает, что я могу просто ввести или вставить путь к папке, и я перейду к ней без необходимости вводить cd перед путем к папке.
  • setopt right: этот параметр позволяет zsh предлагать предложения, когда я делаю опечатку в команде, а затем выбираю запуск правильной команды, нажимая y.

Дальнейшая настройка с помощью псевдонимов

Помимо тем, плагинов и параметров zsh, мы также можем добавить псевдонимы в наш интерфейс командной строки для часто используемых команд.

Чтобы наша .zshrc папка не превратилась в беспорядок, мы можем воспользоваться функцией Oh My Zsh, чтобы поместить их в отдельный файл. Oh My Zsh автоматически загружает любой файл, который мы помещаем в ~/.oh-my-zsh/custom/, в алфавитном порядке, поэтому мы можем создать файл aliases.zsh со всеми нашими псевдонимами, чтобы хранить их в одном месте. Вот как выглядит мой:

# edit this aliases file in visual studio code
alias edit-alias="code -n ~/.oh-my-zsh/custom/alias.zsh"
# reload zsh config
alias reload="source ~/.zshrc"
# navigate to Sites directory
alias sites="cd ~/Sites"
# navigate to open source projects
alias os="cd ~/Sites/_open_source"

С псевдонимами можно сделать гораздо больше, поэтому я мог бы написать целый пост обо всех крутых вещах, которые вы можете делать. К счастью, Янки Махарджан уже написал отличный пост, посвященный псевдонимам, поэтому я рекомендую вам это проверить:



Заключение

В этом посте вы познакомитесь с моей базовой настройкой, которую я сделаю при настройке терминала в новой системе. Помимо этого, у меня есть несколько точечных файлов, которые включают дополнительные псевдонимы, которые упрощают мою жизнь в интерфейсе командной строки, который я загружаю с GitHub и включаю в свой системный путь.

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

Больше контента на plainenglish.io