Melhorando o editor VIM
O Vim (Vi IMproved ou Vi melhorado) é uma excelente ferramenta na hora de:
– Editar textos;
– Editar arquivos de configuração;
– Programar;
– etc. 🙂
Mas além de ser um ótimo editor e ferramenta de programação ele pode ser customizado e adaptado para várias funcionalidades.
Seu arquivo de configuração é o /etc/vim/vimrc ou /etc/vimrc dependendo da distribuição. Podemos fazer algumas melhorias nele. Essas configurações foram testadas em Debian/Ubuntu mas funcionam em OpenSuse e espero que em outras distro também ;-).
Muitas das funções que coloco no arquivo são para vim de 7.0 pra cima, foram buscadas no em listas de Python, PHP, Linux e no site do meu amigo Aurélio Jargas.
No arquivo de configuração os comentários são aspas (“), mas primeiro vamos instalar o corretor ortográfico pro nosso editor, isso mesmo ele aceita corretor ortográfico em português.
Primeiro baixe o corretor no seu diretório pessoal ou no /tmp, baixe do site das extensões do LibreOffice ou faça download direto do link com wget:
root# cd /tmp
root> /tmp# wget http://extensions.libreoffice.org/extension-center/vero-verificador-ortografico-e-hifenizador-em-portugues-do-brasil/pscreleasefolder.2012-01-04.1563120832/2.1/vero_pt_br_v210aoc.oxt
O arquivo baixado em formato .oxt nada mais é que um compactado em formato zip, vamos descompactá-lo com:
root: /tmp# unzip vero_pt_br_v210aoc.oxt
No mesmo diretório onde você descompactou o arquivo abra o vim e compile o dicionário de palvras:
root: /tmp# vim
Dentro do vim digite :mkspell pt pt_BR
Não se preocupe com as mensagens de palvras duplicadas ou de erros, aperte a seta pra baixou ou enter para continuar até o final, aperte quantas vezes for preciso.
Feito isso ele vai gerar no diretório atual um dicionário chamado pt.utf-8.spl,basta copiar ele para o diretório do vim, se você não for root basta copiar para seu diretório pessoal no subdiretório ~/.vim/spell.
Copie para /usr/share/vim/vim73/spell/ (geralmente é /usr/share/vim/vim
root: /tmp# cp pt.utf-8.spl /usr/share/vim/vim*/spell/
Pronto com o dicionário compilado e instalado vamos ao nosso arquivo de configuração:
Faça um backup do seu /etc/vim/vimrc ou /etc/vimrc , ou se preferir crie um arquivo apenas pra seu usuário com o nome de .vimrc com o seguinte conteúdo:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 | " Opções Básicas de Edição do Vim runtime! debian.vim " Executa o script para programas que usam o Vim em distros Debian Like syntax on " Habilita o recurso de Syntaxe para identificar conteudo nos arquivos set showcmd " Mostra (parcialmente) o status dos comandos set showmatch " Mostra o fechamento de { ( [ . set ignorecase " Faz o Vim tratar maiúsculas e minúsculas sem diferença (case insensitive) set smartcase " Faz busca inteligente set incsearch " Faz busca incremental set autowrite " Salva automaticamente antes de comandos como :next e :make "set hidden " Esconde os buffers quando eles sao abandonados "set mouse=a " Habilita o uso do mouse (todos os modos) em terminais set ruler " habilita a régua (mostrar linha e coluna no canto inferior direito) set bg=dark " Coloca o fundo (background) escuro, melhora o uso do vim no modo gráfico por exemplo. set number " habilita a numeração das linhas set hls " Grifa o resultado da busca set wildmode=longest,list " Para completar com TAB igualzinho o bash faz (Use CTRL+P para completar) set hlg=pt " Idioma preferido para buscar ajuda set ul=500 " máximo de mudanças que podem ser desfeitas set ai " Habilita a autoindentação " F2 Para 'ocultar' e F3 voltar os comentarios do arquivo atual noremap <f2> :hi Comment ctermfg=black guifg=black<cr> noremap <f3> :hi Comment term=bold ctermfg=cyan guifg=cyan<cr> " Alterna entre janelas sem sair do modo insercao (depois do :split) map <f4> <esc><c-w><c-w> " Aperte F5 e a tela fica embaralhada e F5 para voltar ao normal" map <f5> ggVGg? " Procura a primeira linha vazia e comeca a editar map <f6> gg/^$<cr>i# " Remove espaços redundantes no fim das linhas com F7 map <f7> <esc>mz:%s/\s\+$//g<cr>`z " Retira os ^M que ficam no final de arquivos salvos pelo windows. Aperte F8 e suma com eles. map <f8> :%s/\r//g " Cria o cabecalho padrao para shell script map <f9> ggO#!/bin/bash \<c-o>:r!echo %<cr># <c-o>o \# Versao: <c-o>o \# Script para:<c-o>o \# Autor: Vagner Fonseca<cr> " Com o cursor encima de alguma funcao PHP e aperte o F10 e ele vai buscar no site do php.net a definição para ela. map <f10> "vyiw:new:execute "r!lynx --dump http://br.php.net/manual/en/function.".@v.".php":set nonu:1 " Abreviações para quando a tecla CAPS LOCK estiver ativada." cab W w | cab Q q | cab Wq wq | cab wQ wq | cab WQ wq " Função que fecha automaticamente { ( [, ao escrevê-los o vim fecha automaticamente. imap { {}<left> imap ( ()<left> imap [ []<left> " Salva os arquivos .sh com permissao de escrita au BufWritePost *.sh !chmod +x % " DiffApaga: apagar uma entrada num arquivao DIFF "map ,di :.,/diff -[uNr]/-d<cr> " HtmlSyntaxe: carregar uma sintaxe HTML alternativa "map ,hs :so ~/.vim/synload.vim<cr>:so ~/.vim/html.vim<cr> " Busca colorida em verde hi Search ctermbg=green ctermfg=black hi IncSearch ctermbg=black ctermfg=cyan " Ruler e cursor sempre em branco hi StatusLine ctermfg=white " Faz os resultados da busca aparecerem no meio da tela nmap n nzz nmap N Nzz nmap * *zz nmap # #zz nmap g* g*zz nmap g# g#zz "Arquivos .sh sao sempre bash, e não sh au FileType sh let b:is_bash=1 " Palavras-chave para destacar em qualquer tipo de arquivo syn case ignore syn keyword p_c vagner fonseca Vagner Fonseca hi p_c ctermbg=white ctermfg=black " Mail: Configuracoes especiais para arquivos de email au FileType Mail set fo=ctq tw=65 et " Man: Paginas de manual sao na verdade textos em NROFF au BufNewFile,BufRead *.man set ft=nroff " TXT: Arquivos texto tem tratamento especial au BufNewFile,BufRead *.txt set tw=75 ts=8 ft=txt "spell au BufNewFile,BufRead *README,*NEWS,*TODO set ft=txt "spell " Python: TAB colorido e outras configuracoes au FileType python set ts=8 tw=80 noet au FileType python syn match pythonTAB '\t\+' au FileType python hi pythonTAB ctermbg=blue "au FileType python set list listchars=tab:·· au FileType python hi pythonString ctermfg=lightgreen au FileType python hi pythonRawString ctermfg=lightgreen " Makefile: ele adora usar linhas compridas malas au BufNewFile,BufRead Makefile set tw=0 " Mgp: mudando algumas cores na sintaxe do MagicPoint au FileType mgp hi mgpFile ctermfg=darkcyan au FileType mgp hi mgpCommand ctermfg=yellow " Habilita o corretor ortográfico set spell spelllang=pt " Desabilita o corretor ortografico "set nospell |
Basta user agora que o servidor irá mostras as palavras que não constam do dicionário grifadas:
Use control+p pra ele completar as palavras do seu texto, com palavras já existentes no texto:
Espero ter ajudado a melhorar seu uso do sistema e não se esqueça de assinar e divulgar nosso portal.
Muito bom..
Mais agora toda vez que vou abrir o vim da isso:
$ vim
:hi * Comment term=bold ctermfg=cyan guifg=cyan
Nenhuma associação encontrada
Nenhuma associação encontrada
Nenhuma associação encontrada
Nenhuma associação encontrada
Aperte ENTER ou digite um comando para continuar