Как да джаз баш терминал - Ръководство стъпка по стъпка със снимки

В този блог ще прегледам стъпките за добавяне на теми, Powerline, шрифтове и powerline-gitstatus, за да изглежда редовният ви Баш терминал красив и полезен, както е показано на снимката по-горе.

Оказва се, че ако използвате 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 - Добавете нова тема

Първата очевидна стъпка е да подобрите темата. Terminal не предоставя всички страхотни и изискани теми, които виждате да използват други разработчици. Нека изтеглим тема и я добавим към терминала.

В този блог ще добавя тема Solarized-Dark към нашия терминал.

Забележка: Можете да изтеглите различни теми (.terminal файлове) от това git репо. Просто отворете *.terminalфайла, за да го инсталирате, т.е. right-click on the *.terminal file > “open with" > Terminal
  1. Отидете на //ethanschoonover.com/solarized
  2. Превъртете надолу и изтеглете темата (solarized.zip)
  3. Извлечете файла solarized.zip
  4. Отворете соларизираната папка osx-terminal.app-colors-solarized . Тази папка съдържа Тема за терминала.
  5. Щракнете двукратно върху файла „Solarized Dark ansi.terminal“ - Това е специфичният Темен файл за Terminal.app. Забележка: Ако получите предупреждение, че това е от неидентифициран разработчик, щракнете с десния бутон върху файла и изберете „Отваряне с“> Включване на терминала .
  6. На този етап темата е инсталирана във вашия терминал. Просто трябва да го направим Тема по подразбиране.
  7. Отворете Terminal> Preferences> Text и изберете темата „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 //raw.githubusercontent.com/Homebrew/install/master/install)"
  • Изпълнете, за brew install pythonда инсталирате най-новия Python чрез Homebrew

2.2 Инсталиране на pip - Мениджър на пакети за Python (подобно на npm)

Инсталирайте pip, като изпълните следната команда

$ sudo easy_install pip

2.3 Инсталирайте XCode Developer CLI инструменти

XCode Developer CLI инструментите се използват от Powerline и други приложения, които манипулират основните функции на OSX. Затова не забравяйте да инсталирате инструментите на XCode CLI, като изпълните следната команда.

$ xcode-select —-install

Забележка: Горната команда отваря инсталатора на Mac и инсталира инструментите на CLI за разработчици XCode. Ако не работи, опитайте 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

  1. Уверете се, че имате .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файл липсва! Обикновено получавате тази грешка, ако нямате $ HOME / Library / Python / 2.7 / bin във вашия PATH.

2.5.4 Вашият нов терминал

Вашият нов терминал трябва да изглежда по-долу. Той трябва да използва темата „Solarized Dark ansi“ и трябва да показва Powerline в командния ред. Но също така забележете, че има „?“ знаци! Това е така, защото Powerline използва различни икони и шрифтове, които не са налични по подразбиране. Затова трябва да инсталираме шрифтовете.

Стъпка 3 - Инсталирайте Powerline шрифтове

За да инсталирате Powerline шрифтове, просто отидете на //github.com/powerline/fonts. Там ще видите цял куп папки. Всеки от тях е шрифт, известен още като „закърпени шрифтове“.

Нарича се „Закърпени шрифтове“, тъй като хората са взели редовни шрифтове и са добавили / закърпили допълнителни специфични за Powerline икони и шрифтове към тях.

3.1 Изтеглете цялото репо и го разархивирайте

  • Кликнете върху бутона „Клониране или изтегляне“ и изтеглете цялото репо, за да опитате различни шрифтове.
  • Разархивирайте fonts-master.zip

3.2 Инсталирайте някои шрифтове

Let’s open Meslo dotted fontsfolder. It will look like below. You’ll see a whole bunch of .ttf file. Each one of them is a font but some are “bold” version of the font, some are “regular” version and so on.

Simply double-click on the .ttf file and press “Install font” to install the font on your computer.

For our case, let’s install “Meslo LG L DZ Regular for Powerline.ttf” and “Meslo LG L DZ Italic for Powerline.ttf”. This will add a regular and an Italic version of the Meslo font.

3.3 Select the font in the Terminal’s Theme

Remember we added “Solarized Dark” theme in Step 1? That didn’t have any fonts in it and MacOS had some default font. All we need to do is to set our Meslo dotted font for this theme and we are done!

  1. Open Terminal > Preferences > Text
  2. Select Solarized Dark ansi Theme
  3. Click on the “Font” button — This opens up “Fonts” dialog
  4. In the “Fonts” dialog, select “Meslo LG L DZ for Powerline” in the Family and also select font size 14 (so it’s easier to read).

3.4 Restart Terminal

Completely quit the Terminal (Terminal > Quit Terminal) and then reopen it.

Step 4 — Adding Git information to the prompt

За да покажем различно състояние на Git в подканата, трябва да инсталираме powerline-gitstatus. Това е проста добавка към Powerline и добавя множество цветове и теми за показване на различна информация за състоянието на git.

4.1 Инсталирайте powerline-gitstatus

pip install --user powerline-gitstatus
Забележка: За да го инсталирате в потребителския профил е необходима команда „- потребител“.

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 по подразбиране.json (можете да копирате и поставите това вместо това):

Забележка: Премахнах всичко от раздела „вдясно“, а също и „номер на работа“ („номер на работа“), за да поддържам нещата чисти. В противен случай ще видите малък артефакт в десния ръб на подканата.
{ "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 Рестартирайте Daemon

Запазете файла и изпълнете следното: powerline-daemon —-replaceв терминала.

Важна забележка: Всеки път, когато правите промени в конфигурацията на Powerline, в допълнение към рестартиране на терминала, ще се наложи да рестартирате демона да видите промените, отразени чрез провеждане: powerline-daemon —-replace.

4.5 Рестартирайте терминала

Излезте от терминала (Terminal> Quit Terminal) и го отворете отново.

На този етап всички сме готови! уууу! Ако отворите терминала и отидете до което и да е git репо и играете, това трябва да изглежда по следния начин.

Ето как изглежда в темата Solarized-Light:

Here is how it looks in Cobalt2 Theme:

?? Thank you!

If you have questions, please feel free to ask me on Twitter: //twitter.com/rajaraodv

If this was useful, please click the clap ? button down below a few times to show your support! ⬇⬇⬇ ??

My Other Posts

//medium.com/@rajaraodv/latest

ECMAScript 2015+

  1. Check out these useful ECMAScript 2015 (ES6) tips and tricks
  2. 5 JavaScript “Bad” Parts That Are Fixed In ES6
  3. Is “Class” In ES6 The New “Bad” Part?

Terminal Improvements

  1. How to Jazz Up Your Terminal — A Step By Step Guide With Pictures
  2. Jazz Up Your “ZSH” Terminal In Seven Steps — A Visual Guide

WWW

  1. A Fascinating And Messy History Of The Web And JavaScript

Virtual DOM

  1. Inner Workings Of The Virtual DOM

React Performance

  1. Two Quick Ways To Reduce React App’s Size In Production
  2. Using Preact Instead Of React

Functional Programming

  1. JavaScript Is Turing Complete — Explained
  2. Functional Programming In JS — With Practical Examples (Part 1)
  3. Functional Programming In JS — With Practical Examples (Part 2)
  4. Why Redux Need Reducers To Be “Pure Functions”

WebPack

  1. Webpack — The Confusing Parts
  2. Webpack & Hot Module Replacement [HMR] (under-the-hood)
  3. Webpack’s HMR And React-Hot-Loader — The Missing Manual

Draft.js

  1. Why Draft.js And Why You Should Contribute
  2. How Draft.js Represents Rich Text Data

React And Redux :

  1. Step by Step Guide To Building React Redux Apps
  2. A Guide For Building A React Redux CRUD App (3-page app)
  3. Using Middlewares In React Redux Apps
  4. Adding A Robust Form Validation To React Redux Apps
  5. Securing React Redux Apps With JWT Tokens
  6. Handling Transactional Emails In React Redux Apps
  7. The Anatomy Of A React Redux App
  8. Why Redux Need Reducers To Be “Pure Functions”
  9. Two Quick Ways To Reduce React App’s Size In Production

If this was useful, please share it! Thank you! ??