Как разработчик, много работающий на 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