Julio Biason
6 years ago
13 changed files with 534 additions and 8 deletions
@ -0,0 +1,108 @@
|
||||
+++ |
||||
title = "Meu .gvimrc" |
||||
date = 2015-12-22 |
||||
+++ |
||||
|
||||
Essa é a parte em que veremos mais do mesmo. |
||||
|
||||
<!-- more --> |
||||
|
||||
Na parte de configurações, eu falei de dois arquivos, "vimrc" e "gvimrc". Vocês já |
||||
viram o que eu fiz com meu vimrc, então acho justo que vejam também o que eu |
||||
fiz com o meu gvimrc. |
||||
|
||||
Para que fique claro, vimrc sempre é lido, não importa qual executável do VIM |
||||
você está usando. gvimrc é lido depois do vimrc somente quando você iniciar um |
||||
VIM gráfico. |
||||
|
||||
Como o arquivo é bem menor (já que o grosso da configuração fica no vimrc), |
||||
este é o arquivo inteiro que eu estou usando: |
||||
|
||||
```viml |
||||
set guioptions=aegit " basically, all options, except the scrollbar, menu and toolbar |
||||
set columns=116 " number of columns (uses most of my screen, in this case) |
||||
set cursorline " highlight the line with the cursor |
||||
set colorcolumn=+2 " put a marker at textwidth + 2 |
||||
set linespace=1 " spread the lines a bit, adding a 1px line above all |
||||
|
||||
if has('mac') |
||||
set gfn=monofur:h15 " My screen size sucks, mkay? |
||||
set lines=63 " number of lines, based on my screen size and font |
||||
else |
||||
set gfn=monofur\ for\ Powerline\ 12 |
||||
set lines=54 |
||||
endif |
||||
``` |
||||
|
||||
E explicando: |
||||
|
||||
* `set guioptions=aegit`: Define a aparência do editor em modo gráfico. Eu |
||||
prefiro um editor limpo, sem menus, toolbars ou (e isso talvez soe estranho |
||||
para alguns), sem barra de rolagem. Em ordem, as opções ativas são: |
||||
|
||||
`a`: Quando estiver fazendo a seleção com o modo visual, já copia o selecionado |
||||
para a área de transferência. No caso de sistemas Unix, isso significa que |
||||
selecionar algo com o modo visual é o mesmo que selecionar com o botão da |
||||
esquerda (e que pode ser colado diretamente usando o botão do meio). |
||||
|
||||
`e`: Mostra abas (se estiver configurado para mostrar abas com “showtabline” -- |
||||
que eu configurei para mostrar sempre no meu vimrc). |
||||
|
||||
`g`: Mostra opções do menu desabilitadas. O normal é que opções desabilitadas |
||||
sequer apareçam. Esta opção só faz sentido se o menu estiver presente (com a |
||||
opção m no "guioptions") que, como você pode perceber, eu não estou usando. |
||||
Em alguns sistemas (por exemplo, OS X) o controle do menu não faz sentido |
||||
porque o sistema operacional sempre tem um menu ativo. Assim, quando não há |
||||
necessidade de menu, esta opção é desnecessária; quando não há escapatória do |
||||
menu, pelo menos todas as opções serão visíveis. |
||||
|
||||
`i`: VIM tem um ícone (sim você pode configurar para o que o VIM não mostre um |
||||
ícone em lugar algum). De novo, dependendo do sistema operacional, esta opção |
||||
não tem efeito algum porque o próprio sistema adiciona o ícone do launcher. |
||||
|
||||
`t`: Menus podem ser arrancados (quando possível). Esta é uma funcionalidade |
||||
que o GTK+ até a versão 2 tinha, que permitia que os menus fosse |
||||
"desconectados" da área de menu, o que facilita bastante na hora de |
||||
selecionar colorschemes (e como você pode adicionar um menu a qualquer hora |
||||
com `:set guioptions+=m`, o que eu normalmente faço -- ou melhor, fazia -- era |
||||
adicionar um grupo de novos colorschemes, ativar o menu, "arrancar" o menu de |
||||
colorschemes e sair selecionando opções até achar um colorscheme |
||||
interessante). |
||||
|
||||
* `set columns=116`: Número de colunas da janela do editor. Se a sua tela não |
||||
tiver como apresentar 116 colunas (pelo tamanho da fonte e da tela, ou por |
||||
alguma restrição do gerenciador de janelas), o VIM irá reduzir a quantidade |
||||
de colunas até que a janela caiba completamente. |
||||
|
||||
* `set cursorline`: A linha onde o cursor se encontra tem highlight. E, caso |
||||
você esteja se perguntando, existe um `set cursorcolumn` que mostra a coluna do |
||||
cursor. Tanto "cursorline" quanto "cursorcolumn" funcionam em console, mas a |
||||
forma como a linha é apresentada no meu colorscheme é... estranha.[^1] |
||||
|
||||
* `set colorcolumn=+2`: Define uma coluna para ser marcada com uma cor |
||||
diferente. Se for usado uma opção relacional (não um valor absoluto, mas algo |
||||
começando com "+" ou "-"), então cursorline vai usar o "textwidth" atual. |
||||
|
||||
* `set linespace=1`: Define um espaçamento entre linhas, em pixeis. No caso, |
||||
"1" significa que as linhas terão a altura requisitada pela fonte mais um |
||||
pixel. |
||||
|
||||
* `set lines=???:` Define a quantidade de linhas do editor. Segue todas as |
||||
considerações feitas em “columns”. Ainda, aqui eu estou usando de novo a |
||||
checagem de funcionalidade (`has()`) para ter configurações diferenciadas no OS |
||||
X e em outros sistemas operacionais. |
||||
|
||||
* `set gfn=???`: Define a fonte a ser usada ("gfn" é a forma curta de "guifont"). |
||||
Note que fontes que tem espaço no meio tem que ter os espaços "escapados" |
||||
(com `\` antes do espaço) ou como strings. Se você quiser selecionar alguma |
||||
fonte mas não faz idéia do nome da fonte, use `:set gfn=*` para que o VIM |
||||
mostre o seletor de fontes do sistema; depois que escolher uma fonte, se |
||||
quiser que o VIM descreva como usar, use `:set gfn` e cole o resultado no seu |
||||
arquivo de configuração. |
||||
|
||||
[^1] E, lembrando mais uma vez: Para desligar opções deste tipo, coloque "no" na |
||||
frente. Para desligar o highlight da linha atual do cursor, use `:set |
||||
nocursorline`; para desligar o highlight da coluna atual do cursor, use |
||||
`:set nocursorcolumn`. |
||||
|
||||
{{ chapters(prev_chapter_link="./11-01-vimrc", prev_chapter_title="Meu .vimrc", next_chapter_link="./12-modelines", next_chapter_title="Modelines") }} |
@ -0,0 +1,70 @@
|
||||
+++ |
||||
title = "Modelines" |
||||
date = 2015-12-22 |
||||
+++ |
||||
|
||||
Essa é a parte em que você ignora seus arquivos de configuração. |
||||
|
||||
<!-- more --> |
||||
|
||||
Bom, agora você sabe como configurar seu VIM, mudar configurações baseadas no |
||||
tipo de arquivo... Mas o que fazer se um arquivo tem uma configuração |
||||
completamente diferente do resto? |
||||
|
||||
A solução são modelines. Modelines são linhas que você pode adicionar no seu |
||||
arquivo e o VIM, quando carregar o arquivo, irá mudar suas configurações |
||||
baseadas nesta linha. |
||||
|
||||
A sintaxe da linha é, simplesmente: `vim: set {configurações}:`. |
||||
|
||||
"Mas é um código fonte e se eu colocar um 'vim' no meio, o compilador vai |
||||
reclamar!", você deve estar pensando agora. Acontece que o VIM procura uma linha |
||||
válida em qualquer lugar, desconsiderando a sintaxe atual. Se você colocar o |
||||
modeline dentro de um comentário, o VIM ainda vai encontrar e ainda vai |
||||
processar o modeline e ainda vai trocar as configurações do editor (apenas para |
||||
aquele arquivo). |
||||
|
||||
Por exemplo, para garantir que meus templates Jinja fiquem com a sintaxe |
||||
correta (usando a sintaxe de templates do Django), eu tenho colocado, como |
||||
última linha do arquivo |
||||
|
||||
```django |
||||
{# vim: set ft=htmldjango: #} |
||||
``` |
||||
|
||||
"ft", no caso, é o nome curto para "filetype", que define o tipo de arquivo que |
||||
está sendo usando e qual sintaxe será utilizada. E o par `{#` e `#}` são |
||||
comentários do template e completamente ignorados no resultado final. |
||||
|
||||
Assim como vimos antes, várias configurações podem ser usadas no mesmo set. |
||||
Usando o exemplo acima, se eu quisesse que meus templates usassem tabulações ao |
||||
invés de espaços para identação mas fossem apenas 2 espaços por tabulação, eu |
||||
poderia colocar, no final do arquivo: |
||||
|
||||
```django |
||||
{# vim: set ft=htmldjango noet ts=2 sts=2 sw=2: #} |
||||
``` |
||||
|
||||
O VIM ainda aceita que as opções sejam separadas em vários comandos, com a |
||||
adição de ":": |
||||
|
||||
```django |
||||
{# vim: set ft=htmldjango:set noet:set ts=2:set sts=2:set sw=2: #} |
||||
``` |
||||
|
||||
Mas realmente não faz sentido, faz? |
||||
|
||||
E apenas um aviso: Algumas distribuções Linux desligam modelines no arquivo |
||||
global (adicionando `set nomodeline` no arquivo global) e, assim, modelines são |
||||
completamente ignorados, sob a desculpa de "segurança". Tentando descobrir o |
||||
porque descobri o seguinte: O único comando que pode ser usado em modelines é |
||||
"set", ou seja, não é possível colocar um modeline que abra outro arquivo, ou |
||||
mude o diretório atual ou qualquer outra coisa; nem todas as configurações pode |
||||
ser alteradas (infelizmente, o help do VIM não lista quais são e quais não são |
||||
permitidas); e, aparentemente, a pior forma de "ataque" seria alguém colocar um |
||||
"textwidth" e seu código ficar torto na primeira edição. Se você achar que |
||||
modelines não estão sendo executados, você pode adicionar no seu vimrc `set |
||||
modelines` para que modelines sejam processados (ou troque por uma distribuição |
||||
que não tenha configurações que não fazem sentido). |
||||
|
||||
{{ chapters(prev_chapter_link="./11-02-gvimrc", prev_chapter_title="Meu .gvimrc", next_chapter_link="./13-tags", next_chapter_title="Tags") }} |
@ -0,0 +1,60 @@
|
||||
+++ |
||||
title = "Tags" |
||||
date = 2015-12-22 |
||||
+++ |
||||
|
||||
Essa é a parte em que você vai entender Unix um pouco. |
||||
|
||||
<!-- more --> |
||||
|
||||
Eu expliquei antes que haviam dois comandos para utilizar tags, `[Ctrl]]` e |
||||
`[Ctrl]t`. Existem duas coisas que eu não expliquei: O que são tags e de onde |
||||
elas vem. |
||||
|
||||
Primeiro, tags são qualquer palavra que o editor encontre no arquivo de tags. E |
||||
o arquivo de tags pode ser definido em `:set tags`. Por padrão, são verificados |
||||
os arquivos `./tags` ("tags" no diretório atual do editor), `./TAGS`, `tags` |
||||
(arquivo "tags" em algum diretório de pesquisa) e `TAGS`. |
||||
|
||||
Acontece que não é qualquer arquivo com este nome que o torna válido. Existem |
||||
um formato específico em que as coisas devem estar declaradas para serem |
||||
detectadas como tags. E o formato é |
||||
|
||||
``` |
||||
{tagname}{tagfile}{tagaddress} |
||||
``` |
||||
|
||||
(onde "tagname" é a tag em si, "tagfile" é o nome do arquivo onde a tag se |
||||
encontra e "tagaddress" é uma expressão Ex para encontrar a tag -- por exemplo, |
||||
"89" para ir para linha 89). |
||||
|
||||
Sim, só isso. E eu sei que manter um arquivo assim é chato horrores, e por isto |
||||
existem ferramentas que já fazem isso. A mais completa de todas é "Exuberant |
||||
CTags"" e pode ser encontrada em praticamente todas as distribuições Linux |
||||
atuais, gerenciadores de pacotes do OS X e ainda vem um pacote para Windows. |
||||
|
||||
A grande vantagem do Exuberant é a quantidade de linguagens suportadas. Assim, |
||||
se você estiver num projeto em Python e depois passar para um projeto em C, |
||||
você ainda pode usar o mesmo aplicativo. |
||||
|
||||
A sintaxe gerado do Exuberant é "ctags {arquivos}", onde "{arquivos}" são os |
||||
arquivos a serem processados (expressões como "\*.py" são válidas) ou, da forma |
||||
mais simples "ctags -R", para que todos os arquivos do diretório atual e |
||||
subdiretórios sejam processados. |
||||
|
||||
Uma vez que este arquivo tenha sido criado, dentro do editor você pode usar |
||||
`[Ctrl]]` para tentar achar a definição da tag (que, com o uso do Exuberant |
||||
significa definição de funções ou definições de variáveis) e `[Ctrl]t` para |
||||
retornar para a localização anterior. Se houver mais de um arquivo com uma |
||||
definição válida, o VIM irá mostrar uma lista das localizações e você poderá |
||||
selecionar qual deve ser acessada. |
||||
|
||||
A única dica que sobra aqui é cuidar com arquivos minificados. Isso porque o |
||||
Exuberant entende arquivos CSS. Não que arquivos CSS sejam um problema, mas o |
||||
Exuberant coloca a expressão regular da linha onde a tag se encontra e, num |
||||
arquivo minificado, a expressão acaba sendo uma linha gigantesca, que fica se |
||||
repetindo em vários lugares do arquivo, deixando-o gigantesco. Se você tiver |
||||
algo desse tipo, use a opção "--exclude={expressão}", onde "{expressão}" é a |
||||
expressão regular que define o nome dos arquivos que devem ser ignorados. |
||||
|
||||
{{ chapters(prev_chapter_link="./12-modelines", prev_chapter_title="Modelines", next_chapter_link="./14-01-vundle", next_chapter_title="Plugins - Vundle") }} |
@ -0,0 +1,112 @@
|
||||
+++ |
||||
title = "Plugins - Vundle" |
||||
date = 2015-12-22 |
||||
+++ |
||||
|
||||
Essa é a parte em que começamos a mexer ao redor do VIM. |
||||
|
||||
<!-- more --> |
||||
|
||||
Vamos começar a ver como adicionar funcionalidades no VIM com plugins. E, para |
||||
isso, vamos ver Vundle, que é um gerenciador de plugins. |
||||
|
||||
A pergunta que você deveria estar se fazendo agora é "E por que usar o |
||||
Vundle?". Na verdade, esta pergunta tem duas respostas: |
||||
|
||||
A primeira é: Apesar de ser extremamente fácil de adicionar um plugin no VIM -- |
||||
normalmente é uma questão de descompactar um arquivo dentro do diretório |
||||
`$HOME/.vim` -- a parte chata é manter os scripts atualizados (e ficar preso à um |
||||
arquivo compactado) e removê-los depois, se você encher o saco de um. |
||||
|
||||
A segunda é: Vundle não é o único gerenciador de plugins para VIM, mas consegue |
||||
instalar plugins por conta própria (Pathogen requer que você baixe os plugins |
||||
manualmente, assumindo depois o controle para manter atualizado); a desvantagem |
||||
é que Vundle requer que os scripts tenham uma determinada estrutura de arquivos |
||||
e diretórios, mas praticamente todos os scripts hoje utilizam esta estrutura. |
||||
|
||||
Então vamos lá, instalar o Vundle: |
||||
|
||||
Primeiro, você deve baixar o plugin em si. Para isso, você tem que ter o Git |
||||
instalado e executar: |
||||
|
||||
``` |
||||
git clone https://github.com/gmarik/vundle.git ~/.vim/bundle/vundle |
||||
``` |
||||
|
||||
Simplesmente, você está copiando o repositório do vundle para um diretório do |
||||
próprio VIM. Até aqui nenhuma surpresa, exceto que o diretório de plugins é |
||||
`$HOME/.vim/plugin` (ou `~/.vim/plugin`) e o clone colocou no diretório |
||||
`~/.vim/bundle`. Ou seja, o Vundle não está ativo como um plugin do VIM (ainda). |
||||
O Vundle faz isso de propósito, para que os scripts instalados com o Vundle não |
||||
se misturem com os plugins instalados manualmente. |
||||
|
||||
A seguir, é preciso ativar o Vundle. Para isso, nós vamos adicionar o diretório |
||||
do Vundle no path do VIM e chamar o script de inicialização. Para isto, |
||||
adicione as seguintes linhas no seu vimrc: |
||||
|
||||
```vim |
||||
set rtp+=~/.vim/bundle/vundle/ |
||||
call vundle#rc() |
||||
``` |
||||
|
||||
Explicando: "rtp" é a forma curta de "runtimepath", que identifica os |
||||
diretórios onde o VIM irá procurar scripts, se preciso. No caso, estamos |
||||
adicionando o diretório do Vundle, que clonamos anteriormente. A seguir é |
||||
chamado o script de inicialização do Vundle. |
||||
|
||||
Pronto! Agora o Vundle está instalado. |
||||
|
||||
A questão é: E agora que o Vundle está instalado, "faz o que?" |
||||
|
||||
O Vundle tem mais comandos disponíveis, entre eles `:Plugin "{bundle}"`[^1]. Este |
||||
comando adiciona um bundle/plugin/script na lista de bundles/plugins/scripts |
||||
gerenciados pelo Vundle. A única coisa que esse comando faz é adicionar o |
||||
bundle na lista; ele não vai instalar o bundle ainda, ele não vai remover o |
||||
bundle, ele não vai atualizar o bundle. Apenas adicionar na lista. |
||||
|
||||
O parâmetro do comando, {bundle} pode ser: |
||||
|
||||
* O nome de um plugin conforme listado no repositórios de scripts do VIM; |
||||
apenas uma string (por exemplo, `:Plugin "vundle"` para instalar este script |
||||
(que é a descrição do Vundle nos repositórios de script); |
||||
|
||||
* O nome de um plugin no Github, no formato "{usuário}/{repositório}", que você |
||||
pode ver na parte superior de qualquer repositório (por exemplo, `:Bundle " |
||||
gmarik/vundle"` para instalar o Vundle a partir do repositório -- que tende a |
||||
ser atualizado com maior frequência); |
||||
|
||||
* Uma URL, que pode ser clonada com Git (por exemplo, `:Plugin |
||||
"https://github.com/gmarik/vundle"` para fazer o mesmo que acima. |
||||
|
||||
Uma vez que você tenha a lista de plugins que você quer no sistema, você pode |
||||
instalar todos usando `:PluginInstall`; se quiser remover um plugin, você |
||||
simplesmente o deixa fora da lista de plugins desejados e executa `:PluginClean`; |
||||
e, para atualizar os plugins que estão instalados, `:PluginUpdate.` |
||||
|
||||
Acho que você já percebeu que o problema de se manter uma lista de plugins |
||||
manualmente é meio chato: Toda vez que você quiser verificar se há atualizações |
||||
dos plugins, você tem que entrar a lista inteira; se você esquecer de um plugin |
||||
e fizer `:PluginClean` irá remover esse plugin. Para evitar essa complicação, |
||||
você pode adicionar os comandos Plugin diretamente no seu vimrc[^2]. Assim, cada |
||||
vez que você usar qualquer comando do Vundle, você não precisa se preocupar em |
||||
lembrar de todos os plugins instalados. |
||||
|
||||
E, como última dica, fica o seguinte: Logo após a linha do "call vundle#rc()", |
||||
adicione |
||||
|
||||
```viml |
||||
Plugin 'gmarik/vundle' |
||||
``` |
||||
|
||||
.. que nada mais é que o repositório que fizemos o clone logo no começo; desta |
||||
forma, quando você fizer um `:PluginUpdate`, o próprio Vundle poderá ser |
||||
atualizado com a última versão disponível. |
||||
|
||||
[^1] Lembram que eu falei que plugins poderiam adicionar novos comandos e que |
||||
estes teriam pelo menos a primeira letra em maiúsculas? Pois é... |
||||
|
||||
[^2] Lembre-se também que o vimrc é um arquivo executado em modo Ex e o modo Ex |
||||
nada mais é que o modo de comando sem precisar colocar `:` na frente de cada |
||||
comando. |
||||
|
||||
{{ chapters(prev_chapter_link="./13-tags", prev_chapter_title="Tags", next_chapter_link="./14-02-airline", next_chapter_title="Plugins - Airline") }} |
After Width: | Height: | Size: 27 KiB |
After Width: | Height: | Size: 7.0 KiB |
After Width: | Height: | Size: 7.1 KiB |
@ -0,0 +1,110 @@
|
||||
+++ |
||||
title = "Plugins - Airline" |
||||
date = 2015-12-22 |
||||
+++ |
||||
|
||||
Essa é a parte em que o "laststatus" fica interessante. |
||||
|
||||
<!-- more --> |
||||
|
||||
Quando estávamos falando de configurações, falamos de uma configuração chamada |
||||
“laststatus”. Esta configuração tem 3 valores possíveis: |
||||
|
||||
* 0 – não apresenta a barra de status, nunca. |
||||
* 1 – apresenta a barra de status se houver pelo menos um split. |
||||
* 2 – sempre apresenta a barra de status. |
||||
|
||||
E, conforme eu mostrei no meu arquivo de configuração, eu sempre deixo com 2". |
||||
|
||||
Acontece que a barra de status não é tããão informativa assim. |
||||
|
||||
![](laststatus.png) |
||||
|
||||
Ela tem o básico, mas o básico não é o suficiente, sejamos honestos. É possível |
||||
adicionar mais informações setando "statusline" (que eu não vou entrar em |
||||
detalhes aqui, mas para configurar, você tem que usar letras únicas indicado |
||||
para cada coisa que deseja apresentar tal como se faz com "guioptions") mas, |
||||
mesmo assim, certas coisas tem que vir de scripts externos (por exemplo, para |
||||
mostrar o branch atual que você está) e, como eu falei, essa parte é meio |
||||
chata. |
||||
|
||||
Para aliviar essa confusão, existe um plugin chamado "Vim-Airline", que tem uma |
||||
apresentação mais complexa e oferece mais informações, baseados plugins que |
||||
você tem instalado. |
||||
|
||||
Ainda, o Airline é uma versão mais leve do Powerline, que na verdade passou de |
||||
ser um simples plugin para VIM para ser um plugin para praticamente tudo (hoje |
||||
eu uso o Powerline para configurar meu prompt do terminal, por exemplo) e |
||||
algumas coisas ainda são usadas do Powerline (por exemplo, as fontes, mas |
||||
esperem aí que eu já explico o porque o Airline usa fontes especiais.) |
||||
|
||||
(Conforme formos passando a lista de plugins que eu tenho, vocês vão ver o |
||||
Airline mudando de formato com o tempo.) |
||||
|
||||
Como falei do Vundle como gerenciador de plugins, vamos usar o mesmo para |
||||
instalar (e manter, no futuro) o Airline. |
||||
|
||||
No seu vimrc, adicione o seguinte: |
||||
|
||||
```viml |
||||
Plugin "bling/vim-airline" |
||||
``` |
||||
|
||||
E, revisando: `:Plugin` adiciona um plugin na lista de plugins gerenciados pelo |
||||
Vundle (e apenas isso, nada mais); por ter uma barra no meio, estamos falando |
||||
de um repositório do Github; para instalar o plugin, você precisa ou adicionar |
||||
o plugin na lista manualmente (com o comando `:Plugin`) ou reiniciar o VIM caso |
||||
você queria conferir se a configuração no seu vimrc está certa e fazer |
||||
`:PluginInstall.` |
||||
|
||||
Se nada apareceu, é porque o seu "laststatus" não está em "2". |
||||
|
||||
Se tudo deu certo, você verá o seguinte: |
||||
|
||||
![](airline-nofonts.png) |
||||
|
||||
Não que tenha melhorado muito, mas agora você tem informações sobre qual o modo |
||||
que você está atualmente (que vai mudar de cor conforme você passa para o modo |
||||
de inserção ou visual), o nome do arquivo, o tipo de arquivo (que define qual a |
||||
sintaxe está sendo usada), posição do cursor em relação ao todo do arquivo (em |
||||
percentual) e a posição absoluta do mesmo (em linhas em colunas). |
||||
|
||||
Ok, duas coisas: Ainda não é muito melhor (embora a parte de mostrar o modo |
||||
ajude, acredite), mas temos alguns caracteres estranhos na barra. |
||||
|
||||
É aí que entra a história do Powerline de novo: Os criadores do Powerline |
||||
usaram "posições" não usadas nas fontes unicode para adicionar outros |
||||
caracteres que são usados para melhorar a apresentação do status. Eles mantém |
||||
[um repositório com fontes já com os caracteres especiais](https://github.com/powerline/fonts) |
||||
e, caso a fonte que você queria não esteja na lista deles, [eles tem um script |
||||
para "patchear" a fonte desejada](https://github.com/powerline/powerline/tree/develop/font). |
||||
|
||||
Uma vez que você tenha a fonte disponível no seu sistema, você deve adicionar no seu vimrc |
||||
|
||||
```viml |
||||
let g:airline_powerline_fonts = 1 |
||||
``` |
||||
|
||||
E o seu Airline, na próxima execução, deve ficar |
||||
|
||||
![](airline-laststatus.png) |
||||
|
||||
Que é mais bonito, mas ainda continua mostrando as mesmas informações. Mais pra |
||||
frente veremos ã integração com “Fugitive” (um plugin para VIM para Git) e o |
||||
Syntastic (para validar o código com ferramentas externas) e como ambos são |
||||
suportados pelo Airline, você terá todas as informações ao alcance do rodapé da |
||||
janela. |
||||
|
||||
![](airline-everything.png) |
||||
|
||||
Uma última nota: O Airline vem com suporte a temas, que você pode trocar usando |
||||
`:AirlineTheme` (e um duplo [Tab] depois disso irá mostrar os temas instalados). |
||||
Depois que escolher um, você pode definir |
||||
|
||||
``` |
||||
let g:airline_theme = '{nome do tema}' |
||||
``` |
||||
|
||||
no seu vimrc. |
||||
|
||||
{{ chapters(prev_chapter_link="./14-01-vundle", prev_chapter_title="Plugins - Vundle", next_chapter_link="./14-03-fugitive", next_chapter_title="Plugins - Fugitive") }} |
After Width: | Height: | Size: 5.0 KiB |
@ -0,0 +1,66 @@
|
||||
+++ |
||||
title = "Plugins - Fugitive" |
||||
date = 2015-12-22 |
||||
+++ |
||||
|
||||
Essa é a parte que só faz sentido se você usa Git. |
||||
|
||||
<!-- more --> |
||||
|
||||
O terceiro plugin que eu vou comentar é |
||||
[Fugitive](https://github.com/tpope/vim-fugitive), que adiciona comandos para |
||||
gerenciar seu repositório Git dentro do VIM. |
||||
|
||||
Para instalar, ou você baixa a versão do Github (no link acima) ou usa o Vundle: |
||||
|
||||
```viml |
||||
Plugin "tpope/vim-fugitive" |
||||
``` |
||||
|
||||
(E, de novo: depois de adicionar essa linha no seu vimrc, você deve sair do VIM |
||||
-- ou, se não quiser fazer tudo isso, basta usar o comando acima em modo de |
||||
comando -- e usar `:PluginInstall` para instalar o plugin.) |
||||
|
||||
A princípio, nada de diferente deve aparecer. Mas você agora pode usar qualquer |
||||
comando do Git com `:Git {comando}`, como faria no shell. |
||||
|
||||
Mas só adicionar um comando não é o que o Fugitive faz. Ele também adiciona |
||||
outros comandos: |
||||
|
||||
* `:Gwrite` (ou `:Gw`): salva o arquivo atual e já adiciona no index para o |
||||
próximo commit. |
||||
* `:Gblame`: Faz um split da tela, mostrando do lado direito o fonte que já |
||||
estava aberto e do lado esquerdo, o último commit (SHA1) e o autor do commit. |
||||
* `:Gread`: Descarta as alterações locais e recupera o arquivo atual na sua |
||||
última revisão dentro do repositório do Git (ou seja, revert). |
||||
* `:Gdiff`: Mostra um diff da versão atual com a versão no repositório, com |
||||
splits. |
||||
* `:Gcommit`: Faz o commit dos arquivos que estão no index. |
||||
* `:Gstatus`: Faz um "git status", mas deixa que você altere os arquivos no |
||||
index (usando "-" para adicionar ou remover o arquivo -- leia o texto com |
||||
atenção) e faça commit dos selecionados (usando "cc") [Note que ambos os |
||||
comandos devem ser usados em modo normal dentro do split aberto por |
||||
`:Gstatus`.] |
||||
|
||||
Existem outros, mas você vai usar principalmente estes. E cuide para que você |
||||
esteja dentro de um repositório Git antes de tentar usar os comandos; se o VIM |
||||
não estiver num diretório com um repositório válido, nenhum dos comandos do |
||||
Fugitive ficarão disponíveis[^1]. |
||||
|
||||
E, como última dica: Se você estiver usando o Airline (comentado no capítulo |
||||
anterior), adicione |
||||
|
||||
```viml |
||||
let g:airline_enable_branch = 1 |
||||
``` |
||||
|
||||
... no seu vimrc e o branch atual será apresentando dentro do status do |
||||
Airline, logo após o indicador de modo. |
||||
|
||||
[^1] Eu só preciso adimitir que não testei para ver o que acontece se você |
||||
abrir o VIM fora de um repositório e depois usar `:cd` para mudar para um |
||||
diretório que tem um repositório ou tentar abrir um arquivo que está |
||||
dentro de um repositório para verificar se os comandos se tornam |
||||
disponíveis. |
||||
|
||||
{{ chapters(prev_chapter_link="./14-02-airline", prev_chapter_title="Plugins - Airline", next_chapter_link="./11-config", next_chapter_title="Arquivos de Configuração") }} |
Loading…
Reference in new issue