
Содержание статьи
от rajaraodv

В этом блоге я расскажу о шагах добавления тем, Powerline, шрифтов и powerline-gitstatus, чтобы сделать ваш обычный Bash Terminal красивым и полезным, как показано на рисунке выше.
Оказывается, если вы пользуетесь Mac, вам придется пройти через много препятствий, чтобы это заработало, поскольку многие инструкции предназначены для Linux или устарели. Так что я решил написать об этом в блоге – надеюсь, это вам поможет.
Примечания:
1. Внимательно выполняйте шаги, поскольку любая ошибка повлечет за собой много головной боли.
2. Это для MacOS и для обычного bash в приложении Terminal.app. Я не использую ZSH или Hyper в этом блоге – планирую писать для них разные блоги.
3. Мои версии: Mac High Sierra; git версия 2.14.3 (Apple Git-98); Python 2.7.10
Хорошо, по умолчанию, если у вас новый Mac, Terminal.app будет выглядеть примерно так, как показано ниже. Давайте добавим темы, шрифты и т.д.

Шаг 1 — Добавьте новую тему
Первым очевидным шагом является усовершенствование темы. Терминал не предлагает всех крутых и модных тем, которыми пользуются другие разработчики. Давайте загрузим тему и добавим ее в терминал.
В этом блоге я добавлю тему Solarized-Dark к нашему терминалу.
Примечание. Вы можете загружать разные темы (файлы .terminal) из этого хранилища git. Просто откройте
*.terminal
файл, чтобы его установить, т.е.right-click on the *.terminal file > “open with" > Te
rminal
- Перейдите на страницу http://ethanschoonover.com/solarized
- Прокрутите вниз и загрузите тему (solarized.zip)
- Распакуйте файл solarized.zip
- Откройте osx-terminal.app-colors-solarized папку. Эта папка содержит тему терминала.
- Двойной щелчок «Солнечный Темный ansi.terminal» файл — Это специальный тема файла для Terminal.app. Примечание. Если вы получаете предупреждение от неизвестного разработчика, щелкните файл правой кнопкой мыши и выберите «Открыть с помощью» > Параметры терминалана.
- На данный момент в вашем терминале установлена тема. Нам просто нужно сделать ее темой по умолчанию.
- Откройте «Терминал» > «Параметры» > «Текст», выберите тему «Solarized Dark…» и нажмите кнопку «Default».

Теперь ваш терминал должен выглядеть ниже.

Шаг 2 — Установите Powerline
Powerline – это программа Python и плагин строки состояния для vim, а также предоставляет строки состояния и подсказки для нескольких других программ, включая zsh, bash, tmux, IPython, Awesome и Qtile.
Благодаря этому подсказка терминала выглядит как показано ниже.

2.1 Установите Python
Поскольку Powerline – это программа Python, нам нужен Python, а также правильная версия Python.
- MacOS поставляется с уже установленным Python. Убедитесь, что версия Python 2.7.x, введя
python -V
в терминале. - Если это не 2.7, установите Homebrew, позволяющий устанавливать разное программное обеспечение с CLI, выполнив:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- бежать
brew install python
чтобы установить последнюю версию Python через Homebrew
2.2 Установить pip — менеджер пакетов для Python (похож на npm)
Установите pip, выполнив такую команду
$ sudo easy_install pip
2.3 Установите инструменты CLI разработчика XCode
Инструменты XCode Developer CLI используются Powerline и другими приложениями, которые манипулируют основными функциями OSX. Поэтому обязательно установите инструменты XCode CLI, выполнив такую команду.
$ xcode-select —-install
Примечание. Вышеуказанная команда открывает установщик Mac и устанавливает инструменты CLI XCode Developer. Если не выходит, попробуйте
xcode-select -r
чтобы сбросить.
2.4 Установите Powerline
Наконец установите Powerline (стабильную версию) через pip, выполнив такую команду.
$ pip install --user powerline-status
Если вы хотите установить последнюю ветвь разработки, воспользуйтесь:
$ pip install --user git+git://github.com/powerline/powerline //dev
2.5 Добавьте демон Powerline в bash
Теперь нам нужно добавить демон Powerline в bash, чтобы он мог контролировать подсказку терминала и вносить изменения.
2.5.1 Скопируйте место установки Powerline
Вы можете определить расположение Powerline, выполнив следующее: pip show powerline-status
Скопируйте значение с Location
поле.

2.5.2 Добавьте демон с надлежащим расположением к .bash_profile
- Убедитесь, что у вас есть
.bash_profile
файл в вашем корневом каталоге. Если не следует, создайте его, выполнив:cd ~ && touch ~/.bash_profile
2. Открыть .bash_profile
и добавьте следующее:
export PATH=$PATH:$HOME/Library/Python/2.7/bin
powerline-daemon -q
POWERLINE_BASH_CONTINUATION=1
POWERLINE_BASH_SELECT=1
. /Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh

Примечание. Расположение /Users/rupa/Library/Python/2.7/lib/python/site-packages/ взято из предыдущего шага (2.5.1). Измените его в соответствии с местоположением компьютера.
2.5.3. Перезапустите терминал
Полностью закройте терминал, если он открыт (Терминал > Выйти из терминала). И откройте его снова.
Вы должны иметь возможность просто использовать
$ source ~/.bash_profile
для обновления настроек. Но мне стало странноpowerline-config
файл отсутствует! Обычно вы получаете эту ошибку, если в вашем PATH нет $HOME/Library/Python/2.7/bin.
2.5.4 Ваш новый терминал
Новый терминал должен выглядеть, как показано ниже. Он должен использовать тему «Solarized Dark ansi» и должен отображать Powerline в командной строке. Но также заметьте, что есть «?» символы! Это происходит потому, что Powerline использует различные значки и шрифты, которые недоступны по умолчанию. Итак, нам нужно установить шрифты.

Шаг 3 — Установите шрифты Powerline
Чтобы установить шрифты Powerline, просто перейдите к Там вы увидите целую кучу папок. Каждый из них — шрифт, он же «заправленные шрифты».
Его называют «исправленными шрифтами», потому что люди взяли обычные шрифты и добавили/исправили дополнительные специальные значки и шрифты Powerline.

3.1 Загрузите все репо и распакуйте его.
- Нажмите кнопку «Клонировать или загрузить» и загрузите все хранилище, чтобы попробовать различные шрифты.
- Разархивируйте файл fonts-master.zip
3.2 Установите некоторые шрифты
Давайте откроем пунктирное место шрифты папку. Это будет выглядеть как показано ниже. Вы увидите кучу файлов .ttf. Каждый из них является шрифтом, но некоторые являются «жирной» версией шрифта, некоторые являются «обычной» версией и т.д.
Просто дважды щелкните файл .ttf и нажмите кнопку «Установить шрифт», чтобы установить шрифт на вашем компьютере.
Для нашего случая давайте установим «Meslo LG L DZ Regular для Powerline.ttf» и «Meslo LG L DZ Italic для Powerline.ttf». Это добавит a регулярный и ан Курсив версия Месло шрифт.

3.3 Выберите шрифт в теме терминала
Помните, мы добавили тему «Solarized Dark» на шаге 1? В нем не было ни одного шрифта, а в MacOS был шрифт по умолчанию. Все, что нам нужно сделать, это установить наш пунктирное место шрифт на эту тему, и мы готовы!
- Откройте «Терминал» > «Параметры» > «Текст».
- Выберите Солнечный темный анси Тема
- Нажмите кнопку «Шрифт» – откроется диалоговое окно «Шрифты».
- В диалоговом окне «Шрифты» выберите «Meslo LG L DZ Powerline» в Семействе, а также выберите размер шрифта 14 (чтобы его было легче читать).

3.4 Перезапустите терминал
Полностью закройте терминал (Терминал > Выйти из терминала) и снова откройте его.

Шаг 4 — Добавление информации Git к подсказке
Чтобы отображать разные статусы Git в запросе, нам нужно установить powerline-gitstatus. Это простое дополнение к Powerline, которое добавляет несколько цветов и тем для отображения разной информации о состоянии git.

4.1 Установите powerline-gitstatus
pip install --user powerline-gitstatus
Примечание: для установки в пользовательском профиле нужна команда « — user».
4.2 Добавьте схемы цветов powerline-gitstatus в Powerline
4.2.1 Откройте следующее colorschemes/shell/default.json
папку
${powerline-install-directory}/powerline/config_files/colorschemes/shell/default.json
//For example:
/Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/config_files/colorschemes/shell/default.json
4.2.2 Добавьте следующие цвета:
Как указано в файле readme powerline-gitstatus. PS: просто скопируйте цвета внутри группы, а затем добавьте их к default.json, как показано ниже.

Вот мои цветовые схемы default.json (вы можете скопировать и вставить это вместо этого):
{
"name": "Default color scheme for shell prompts",
"groups": {
"hostname": {
"fg": "brightyellow",
"bg": "mediumorange",
"attrs": []
},
"environment": {
"fg": "white",
"bg": "darkestgreen",
"attrs": []
},
"mode": {
"fg": "darkestgreen",
"bg": "brightgreen",
"attrs": ["bold"]
},
"attached_clients": {
"fg": "white",
"bg": "darkestgreen",
"attrs": []
},
"gitstatus": {
"fg": "gray8",
"bg": "gray2",
"attrs": []
},
"gitstatus_branch": {
"fg": "gray8",
"bg": "gray2",
"attrs": []
},
"gitstatus_branch_clean": {
"fg": "green",
"bg": "gray2",
"attrs": []
},
"gitstatus_branch_dirty": {
"fg": "gray8",
"bg": "gray2",
"attrs": []
},
"gitstatus_branch_detached": {
"fg": "mediumpurple",
"bg": "gray2",
"attrs": []
},
"gitstatus_tag": {
"fg": "darkcyan",
"bg": "gray2",
"attrs": []
},
"gitstatus_behind": {
"fg": "gray10",
"bg": "gray2",
"attrs": []
},
"gitstatus_ahead": {
"fg": "gray10",
"bg": "gray2",
"attrs": []
},
"gitstatus_staged": {
"fg": "green",
"bg": "gray2",
"attrs": []
},
"gitstatus_unmerged": {
"fg": "brightred",
"bg": "gray2",
"attrs": []
},
"gitstatus_changed": {
"fg": "mediumorange",
"bg": "gray2",
"attrs": []
},
"gitstatus_untracked": {
"fg": "brightestorange",
"bg": "gray2",
"attrs": []
},
"gitstatus_stashed": {
"fg": "darkblue",
"bg": "gray2",
"attrs": []
},
"gitstatus:divider": {
"fg": "gray8",
"bg": "gray2",
"attrs": []
}
},
"mode_translations": {
"vicmd": {
"groups": {
"mode": {
"fg": "darkestcyan",
"bg": "white",
"attrs": ["bold"]
}
}
}
}
}
4.3 Активируйте тему
4.3.1 Откройте файл default.json темы
${powerline-install-directory}/powerline/config_files/themes/shell/default.json
//For example:
/Users/rupa/Library/Python/2.7/lib/python/site-packages/powerline/config_files/themes/shell/default.json
4.3.2 Добавьте следующее в default.json
{
"function": "powerline_gitstatus.gitstatus",
"priority": 40
}

Ниже приведена моя тема Powerline default.json (вместо этого можно скопировать и вставить):
Примечание: я удалил все из раздела «право», а также удалил «номер работы» («jobnum»), чтобы все было чисто. В противном случае вы увидите небольшой артефакт на правой стороне подсказки.
{
"segments": {
"left": [{
"function": "powerline.segments.shell.mode"
},
{
"function": "powerline.segments.common.net.hostname",
"priority": 10
},
{
"function": "powerline.segments.common.env.user",
"priority": 30
},
{
"function": "powerline.segments.shell.cwd",
"priority": 10
}, {
"function": "powerline_gitstatus.gitstatus",
"priority": 40
}
],
"right": []
}
}
4.4 Перезапустите Демон
Сохраните файл и выполните следующее: powerline-daemon —-replace
в терминале.
Важное примечание: Каждый раз, когда вы изменяете конфигурацию Powerline, кроме перезапуска терминала, вам также нужно будет перезапустить демон, чтобы увидеть отображение изменений запустив:
powerline-daemon —-replace
.
4.5 Перезапустите терминал
Выйдите из терминала (Терминал > Выйти из терминала) и снова откройте его.
На этом мы все кончили! вау! Если вы откроете терминал и перейдете в любое хранилище git и поиграете, это должно выглядеть следующим образом.

Вот как это выглядит в теме Solarized-Light:

Вот как это выглядит в Cobalt2 Theme:

?? Спасибо!
Если у вас есть вопросы, пожалуйста, не стесняйтесь задавать их в Twitter: https://twitter.com/rajaraodv
Если это было полезно, пожалуйста, щелкните хлопать? нажмите кнопку ниже несколько раз, чтобы выразить свою поддержку! ⬇⬇⬇ ??
Другие мои сообщения
https://medium.com/@rajaraodv/latest
ECMAScript 2015+
- Просмотрите эти полезные советы и советы ECMAScript 2015 (ES6).
- 5 «плохих» частей JavaScript, которые исправлены в ES6
- Является ли «Класс» в ES6 новой «плохой» частью?
Улучшение терминала
- Как улучшить терминал — Пошаговое руководство с изображениями
- Совершенствуйте свой терминал «ZSH» в семи шагах — наглядное руководство
WWW
- Увлекательная и беспорядочная история Интернета и JavaScript
Виртуальный DOM
- Внутренняя работа виртуального DOM
Производительность React
- Два быстрых способа уменьшить размер программы React в производстве
- Использование Preact вместо React
Функциональное программирование
- JavaScript завершен по Turing — объяснение
- Функциональное программирование в JS – с практическими примерами (часть 1)
- Функциональное программирование в JS – с практическими примерами (часть 2)
- Почему Redux нуждается в том, чтобы редукторы были «чистыми функциями»
WebPack
- Webpack — непонятные части
- Webpack и горячая замена модуля [HMR] (под капотом)
- Webpack HMR и React-Hot-Loader – отсутствует руководство
Draft.js
- Почему Draft.js и почему вы должны внести вклад
- Как Draft.js представляет форматированные текстовые данные
React и Redux:
- Пошаговое руководство по созданию программ React Redux
- Руководство по созданию программы React Redux CRUD (3-страничное приложение)
- Использование промежуточного программного обеспечения в React Redux
- Добавление надежной формы для React Redux
- Защита приложений React Redux с помощью токенов JWT
- Обработка транзакционных электронных писем в программах React Redux
- Анатомия программы React Redux
- Почему Redux нуждается в том, чтобы редукторы были «чистыми функциями»
- Два быстрых способа уменьшить размер программы React в производстве
Если это было полезно, пожалуйста, поделитесь! Спасибо! ??