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

  1. Ignora maiúsculas e minúsculas nas buscas.
  2. Se começar uma busca em maiúsculo ele habilita o case.
  3. Destaca no texto, termos procurados na busca.
  4. Inicia busca a medida que caracteres são digitados.
set ignorecase
set smartcase
set hlsearch
set incsearch

Regras de indentação de código

  1. Aplica indentação na linha atual, (por ex: dentro de uma função) ao teclar enter.
  2. Usa regras de indentação de acordo com a extensão do arquivo editado. Necessita da configuração autoident setada.
  3. Habilita indentação conforme o tipo de arquivo.
  4. Habilita tabulação inteligente conforme o tipo (extensão) do arquivo.
  5. Tranforma tabs em espaços.
  6. Configura tamanho da tabulacao padrão como 2 espaços.
  7. Garante que backspace consiga remover indentações, apagar fim e começo de linha.
  8. Número de espaços percorridos (2) ao teclar backspace (voltar tabulação).
  9. 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:

  1. Desfazer até 1000 alterações
  2. Guarda histórico dos 1000 últimos comandos
set undolevels =1000
set history=1000

Persistindo o histórico de comandos

  1. 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/.vim vamos criar um subdiretório chamado infodir. Para isso será preciso digitar o seguinte comando no terminal:
mkdir ~/.vim/infodir
  1. 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
  1. 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

  1. 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
  1. 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 undodir agora 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.