Olá! Aqui estamos com o terceiro artigo da série, “Configurando o Vim para desenvolvimento Web”. Vamos começar fazendo uma pequena revisão sobre o artigo anterio e depois prosseguiremos realizando mais configurações em nosso ambiente de desenvolvimento.
Recapitulando a parte II
Se você seguiu o post anterior, o arquivo .vimrc que você criou no seu diretório home, deverá estar assim:
source $VIMRUNTIME/defauts.vim
set nocompatible
set encoding=utf-8
set nobackup
set nowritebackup
set noswapfile
set number
set ruler
syntax on
set visualbell
Configurações de texto
Hoje, vamos realizar algumas configurações de apresentação e formatação de textos para desenvolvimento, como indentação, configuração de tabulação (tabs) e também parâmetros de busca, além de persistir os históricos de últimos comandos e últimas alterações. Mão na massa!
Parâmetros de busca
- Ignora maiúsculas e minúsculas nas buscas.
- Se começar uma busca em maiúsculo ele habilita o case.
- Destaca no texto, termos procurados na busca.
- Inicia busca a medida que caracteres são digitados.
set ignorecase
set smartcase
set hlsearch
set incsearch
Regras de indentação de código
- Aplica indentação na linha atual, (por ex: dentro de uma função) ao teclar
enter. - Usa regras de indentação de acordo com a extensão do arquivo editado. Necessita da configuração autoident setada.
- Habilita indentação conforme o tipo de arquivo.
- Habilita tabulação inteligente conforme o tipo (extensão) do arquivo.
- Tranforma tabs em espaços.
- Configura tamanho da tabulacao padrão como 2 espaços.
- Garante que backspace consiga remover indentações, apagar fim e começo de linha.
- Número de espaços percorridos (2) ao teclar backspace (voltar tabulação).
- Por padrão, quando usando auto-indent usar 2 espaços (1 tabstop) usando shiftwidth e softtabstop.
set autoindent
set smartindent
set filetype indent on
set smarttab
set expandtab
set tabstop=2
set backspace=ident, eol, start
set backspace=2
set shiftwidth=2
set softtabstop=2
Histórico de comandos e alterações
Aumentando o tamanho dos históricos
Além das configurações de texto, talvez seja importante aumentar o tamanho do histórico de últimas alterações e histórico de últimos comandos, além de manter esses dois históricos mesmo se o arquivo for salvo e/ou ou o Vim for fechado. Bacana, não acha? Vamos configurar:
- Desfazer até 1000 alterações
- Guarda histórico dos 1000 últimos comandos
set undolevels =1000
set history=1000
Persistindo o histórico de comandos
- Para armazenar o histórico de comandos, precisamos criar um arquivo. O melhor é que ele
seja criado fora do diretório onde o arquivo está sendo editado. O Vim cria um diretório oculto dentro do diretório home do usuário. É interessante deixar tudo junto, então dentro do diretório
/home/nomeDoUsuário/.vimvamos criar um subdiretório chamadoinfodir. Para isso será preciso digitar o seguinte comando no terminal:
mkdir ~/.vim/infodir
- Uma vez criado o diretório infodir, podemos parametrizar o .vimrc com a seguinte linha para guardar o histórico de comandos dentro do arquivo
viminfo:
set viminfo='10,\"30,:20,%,n~/.vim/infodir/viminfo
- Além disso também podemos parametrizar o Vim para iniciar com o cursor no mesmo lugar onde estava (através da informação armazenada no viminfo) quando o arquivo foi fechado (caso volte a editá-lo posteriormente):
au BufReadPost * if line("'\"")|execute("normal `\"")|endif
Persistindo o histórico de alteraçõs
- O vim pode manter arquivos com histórico de alterações. Como ele cria um arquivo de histórico de alterações para cada arquivo editado, o melhor é criar um subdiretório dentro de
/home/user/.vim/. Você deve criar esse diretório usando o terminal:
mkdir ~/.vim/undodir
- Dentro do diretório undodir serão criados os arquivos que guardarão as alterações dos arquivos editados. Mesmo se vc salvar e fechar o arquivo que está trabalhando, será possível posteriormente desfazer alterações se voltar a editá-lo. Como já temos nosso diretório
undodiragora vamos parametrizar o.vimrc:
set undodir=~/.vim/undodir
set undofile
Finalizando
Bem, vamos ficar por aqui. No próximo artigo, iremos incluir algumas melhorias para tornar o editor ainda mais amigável e interessante para desenvolvimento e também uso geral.
Espero que tenham gostado e até a próxima.

