Artigo original: How to Jazz Up Your Bash Terminal — A Step By Step Guide With Pictures
por rajaraodv
Nesta publicação, vou mostrar os passos para adicionar temas, Powerline, fontes e powerline-gitstatus para tornar seu terminal convencional do Bash útil e bonito, como na imagem inicial.
Se você estiver usando um Mac, precisará passar por muitos obstáculos para fazer isso funcionar, pois muitas das instruções são para o Linux ou estão desatualizadas. Então, eu pensei em escrever sobre isso - espero que ajude você.
Observações:
1. Siga os passos cuidadosamente, pois qualquer equivoco causará muita dor de cabeça.
2. Isso vale para o MacOS e para o Bash regular no Terminal.app. Não estou abrangendo o ZSH ou o Hyper neste artigo – pretendo escrever artigos diferentes para eles.
3. Minhas versões: Mac High Sierra; versão do git 2.14.3 (Apple Git-98); Python 2.7.10
Certo, quando você tem um Mac novo, por padrão, seu Terminal.app será parecido com algo como a imagem abaixo. Então, vamos em frente e adicionar temas, fontes e assim por diante.
Passo 1 — Adicionar um novo tema
O primeiro passo óbvio é aprimorar o tema. O Terminal não fornece todos os temas legais e sofisticados que você vê outros desenvolvedores usarem. Vamos baixar um tema e adicioná-lo ao Terminal.
Neste blog, vou adicionar o tema Solarized-Dark ao Terminal.
Observação: você pode baixar vários temas (.terminal files) deste repositório git. Basta abrir o arquivo*.terminal
para instalá-lo, ou seja, clicar com o botão direito em*.terminal file > "Open with" > terminal
.
- Vá para http://ethanschoonover.com/solarized (texto em inglês)
- Role o mouse até o tema (solarized.zip)
- Extraia o arquivo solarized.zip
- Abra a pasta osx-terminal.app-colors-solarized . Esta pasta contém o tema para o terminal.
- Clique duas vezes no arquivo "Solarized Dark ansi.terminal" — Este arquivo é o tema específico para Terminal.app. Observação: caso você receba um aviso de que o arquivo é de um desenvolvedor não identificado, clique com o botão direito do mouse no arquivo e selecione Open with > Terminal.
- Nesse momento, você já está com o tema instalado no terminal. Agora é necessário, apenas, torná-lo o tema padrão.
- Abra o Terminal > Preferences > Text, selecione o tema "Solarized Dark …" e clique em "Default".
De agora em diante, seu terminal se parecerá como o da imagem abaixo.
Passo 2 — Instalar o Powerline
Powerline é uma aplicação do Python e é um plug-in de linha de status para o vim que fornece linhas de status e prompts para vários outros aplicativos, incluindo zsh, bash, tmux, IPython, Awesome e Qtile.
Ele faz com que o prompt do terminal se pareça como abaixo.
2.1 Instalar Python
Devido ao fato de o Powerline ser uma aplicação do Python, é necessário ter o Python instalado, bem como uma versão apropriada do Python.
- O MacOS já vem com Python instalado. Assegure-se de que a versão do Python seja, pelo menos, a 2.7.x digitando
python -V
no terminal. - Caso não seja a versão 2.7, instale o Homebrew, que permite instalar vários softwares de CLI (interface de comandos de linha), executando:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
- Execute
brew install python
para instalar a última versão do Python via Homebrew
2.2 Instalar o pip — Um gerenciador de pacotes para Python (similar ao npm)
Instale o pip executando o seguinte comando:
$ sudo easy_install pip
2.3 Instalar ferramentas de desenvolvedor para a CLI do XCode
As ferramentas de desenvolvedor para a CLI do XCode são usadas pelo Powerline e outras aplicações que que manipulam os principais recursos do OSX. Portanto, certifique-se de instalar as ferramentas da CLI do XCode executando o comando a seguir.
$ xcode-select —-install
Observação: o comando acima abre o instalador do Mac e instala as ferramentas do desenvolvedor para CLI da XCode. Caso não funcione, tente: xcode-select -r
para resetar.
2.4 Instalar o Powerline
Finalmente, instale o Powerline (versão estável) com o pip executando o seguinte comando:
$ pip install --user powerline-status
Caso você queira instalar a última branch desenvolvida, execute o seguinte:
$ pip install --user git+git://github.com/powerline/powerline //dev
2.5 Adicionar o Powerline daemon ao bash
Agora, é preciso adicionar o Powerline daemon ao bash para que ele possa monitorar o prompt do Terminal e fazer alterações.
2.5.1 Copie o local de instalação do Powerline
Você pode encontrar o local da instalação do Powerline executando o seguinte comando: pip show powerline-status
. Copie o valor do campo Location
.
2.5.2 Adicionar o daemon no local adequado para o .bash_profile
- Certifique-se de que você tem o arquivo
.bash_profile
no seu diretório raiz. Caso ele não exista, prossiga criando o arquivo digitando o comando:cd ~ && touch ~/.bash_profile
2. Abra o .bash_profile
e adicione o seguinte comando:
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
Nota: o caminho /Users/rupa/Library/Python/2.7/lib/python/site-packages/ vem do passo anterior (2.5.1). Altere-o para se adequar ao caminho do seu computador.
2.5.3. Reinicie o Terminal
Feche completamente o terminal, se estiver aberto: (Terminal > Quit Terminal). Inicie o terminal novamente.
Você deve poder usar$ source ~/.bash_profile
para atualizar as configurações. Porém, recebe algo estranho como "opowerline-config
está sem um arquivo!" Normalmente, você recebe esse erro se não tiver $HOME/Library/Python/2.7/bin em seu PATH.
2.5.4 Seu novo terminal
Seu novo terminal, agora, deve se parecer com a figura abaixo. Deve estar usando o tema "Solarized Dark ansi" e deve mostrar o Powerline no prompt de comando. Mas observe que também existe um caractere "?" ! Isso ocorre porque o Powerline usa vários ícones e fontes que não estão disponíveis por padrão. Então, precisamos instalar as fontes.
Passo 3 — Instalar as fontes do Powerline
Para instalar as fontes do Powerline, acesse: https://github.com/powerline/fonts. Lá, você verá diversas pastas. Cada uma é uma fonte, também conhecidas como "Fontes corrigidas" ("Patched fonts").
São chamadas de “Fontes corrigidas” porque as pessoas usaram fontes regulares e adicionaram a elas, ou corrigiram nelas, ícones e fontes específicos do Powerline.
3.1 Baixar o repositório inteiro e descompactá-lo
- Clique no botão "Clone or download" e baixe todo o repositório para experimentar várias fontes.
- Descompacte o fonts-master.zip
3.2 Instalar algumas fontes
Vamos abrir a pasta de fontes Meslo dotted. Ficará como abaixo. Você verá diversos arquivos .ttf. Cada um deles é uma fonte, mas alguns são a versão em "negrito" da fonte, alguns são a versão "regular" e assim por diante.
Basta clicar duas vezes no arquivo .ttf e pressionar "Install font" para instalar a fonte em seu computador.
Para o nosso caso, vamos instalar "Meslo LG L DZ Regular for Powerline.ttf" e "Meslo LG L DZ Italic for Powerline.ttf". Isso adicionará uma versão regular e uma versão itálica da fonte Meslo.
3.3 Selecione a fonte no tema do Terminal
Você lembra que adicionamos o tema "Solarized Dark" no passo 1? Não havia nenhuma fonte ali e o MacOS tem uma fonte padrão. Tudo o que precisamos fazer é definir nossa fonte Meslo dotted para este tema e pronto!
- Abra Terminal > Preferences > Text
- Selecione o tema Solarized Dark ansi
- Clique no botão "Font" - Isso abre a caixa de diálogo "Fonts"
- Na caixa de diálogo "Fonts", selecione "Meslo LG L DZ for Powerline" na Família e também selecione o tamanho da fonte 14 (para facilitar a leitura).
3.4 Reiniciar o terminal
Feche completamente o terminal (Terminal > Quit Terminal) e reabra-o novamente.
Passo 4 — Adicionando informações do Git ao prompt
Para exibir vários status do Git no prompt, precisamos instalar o powerline-gitstatus, que é um complemento simples para o Powerline que adiciona várias cores e temas para exibir várias informações de status do git.
4.1 Instalar o powerline-gitstatus
pip install --user powerline-gitstatus
Observação: o comando "—user" é necessário para instalá-lo no perfil do usuário.
4.2 Adicionar esquema de cores powerline-gitstatus ao Powerline
4.2.1 Abra a pasta 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 Adicione as cores abaixo:
Conforme é mencionado no arquivo readme do powerline-gitstatus. Apenas copie as cores dentro de "groups" e acrescente-as ao default.json, conforme mostrado abaixo.
Aqui estão meus esquemas de cores do default.json (que você pode copiar e colar):
{
"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 Ativar o tema
4.3.1 Abra o arquivo do tema do 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 Adicione o seguinte ao default.json
{
"function": "powerline_gitstatus.gitstatus",
"priority": 40
}
Abaixo está o tema default.json do meu Powerline (você pode copiar e colar isso):
Observação: eu removi tudo da seção "direita" e também removi o número da tarefa, ou "job number" ("jobnum"), para manter tudo limpo. Caso contrário, você veria um pequeno artefato na borda direita do prompt.
{
"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 Reiniciar o Daemon
Salve o arquivo e execute o seguinte comando no terminal: powerline-daemon —-replace
.
Observação importante: toda vez que você fizer alterações na configuração do Powerline, além de reiniciar o Terminal, você também precisará reiniciar o daemon para ver as alterações refletidas executando: powerline-daemon —-replace
.
4.5 Reiniciar o terminal
Feche o terminal (Terminal > Quit Terminal) e inicie novamente.
Neste ponto, estamos com tudo pronto! Aí está! Se você abrir o Terminal e navegar para qualquer repositório git e colocar em funcionamento, ele deve se parecer com o seguinte:
Aqui é como se parece com o tema Solarized-Light:
Aqui é como se parece com o tema Cobalt2:
Obrigado!
Caso tenha dúvidas ou questões, pergunte-me no Twitter: https://twitter.com/rajaraodv
Outras publicações do autor:
(os links abaixo são para as publicações originais em inglês)
https://medium.com/@rajaraodv/latest
ECMAScript 2015+
- Check out these useful ECMAScript 2015 (ES6) tips and tricks
- 5 JavaScript “Bad” Parts That Are Fixed In ES6
- Is “Class” In ES6 The New “Bad” Part?
Melhorias para o terminal
- How to Jazz Up Your Terminal — A Step By Step Guide With Pictures
- Jazz Up Your “ZSH” Terminal In Seven Steps — A Visual Guide
WWW
Virtual DOM
Desempenho no React
Programação funcional
- JavaScript Is Turing Complete — Explained
- Functional Programming In JS — With Practical Examples (Part 1)
- Functional Programming In JS — With Practical Examples (Part 2)
- Why Redux Need Reducers To Be “Pure Functions”
WebPack
- Webpack — The Confusing Parts
- Webpack & Hot Module Replacement [HMR] (under-the-hood)
- Webpack’s HMR And React-Hot-Loader — The Missing Manual
Draft.js
React e Redux
- Step by Step Guide To Building React Redux Apps
- A Guide For Building A React Redux CRUD App (3-page app)
- Using Middlewares In React Redux Apps
- Adding A Robust Form Validation To React Redux Apps
- Securing React Redux Apps With JWT Tokens
- Handling Transactional Emails In React Redux Apps
- The Anatomy Of A React Redux App
- Why Redux Need Reducers To Be "Pure Functions"
- Two Quick Ways To Reduce React App’s Size In Production