Vim

Olá, pessoal

Para quem não conhece, o Vim é um editor de texto muito poderoso e bem famoso no mundo da programação. Com ele é possível fazer um monte de coisas legais e de forma bem rápida, principalmente por ele dispensar o uso do mouse.

Porém, como ele é um pouco diferente do que a maioria dos editores, um monte de gente fica com “medinho” e acabam nem tentando aprender a usa-lo. Mas para quem não tem medo de experimentar uma ferramenta nova, vale a pena começar com o tutorial do próprio Vim:

Depois disso, para poder explorar mais o poder do editor, vale a pena conferir a Wiki de Dicas do Vim.
É muita coisa, mas vale a pena ir usando o que está lá em “doses homeopáticas” e ir aprendendo aos poucos.

Além disso, também é interessante aprender um pouco sobre o vimrc, que é o arquivo de configurações do Vim. Com ele, é possível personalizar muitas características do editor, desde cores até funcionalidades complexas.
Abaixo, segue meu vimrc para servir como um exemplo, mas é possível encontrar muito mais coisa na internet.

" Arquivo .vimrc de Vinícius Kiwi Daros
" http://uspgamedev.org

set nocompatible        " Previne o Vim de emular limitações do Vi.
set bs=2                " Backspace tire identação e quebras de linha.
set autoindent          " Mantem a identação atual nas próximas linhas.
set nobackup            " Não cria arquivos de backup.
set expandtab           " Transforma tabs em espaços.
set cinoptions=>4       " Usa identação de 4 espaços depois de { em arquivos .c
set shiftwidth=4        " Identação padrão.
set tabstop=4           " Quantidade de espaços que o Vim entende como um tab.
set softtabstop=4       " Quantidade de espaços inseridos pela tecla tab.
set background=dark     " Fundo preto.
set noerrorbells        " Impede o Vim de fazer 'beep'
set showmatch           " Alinha } ou ) com o respectivo { ou (
set ruler               " Mostra a posição do cursor o tempo todo.
set ttyfast             " Mudanças mais suaves no terminal
set smartindent         " Faz identações 'espertas' baseadas na linha anterior.
set textwidth=0         " Textos podem ser inseridos em qualquer coluna.
set nowrap              " Nunca quebra automaticamente as linhas.

syntax on               " Syntax highlighting

" Define as cores usadas no syntax highlighting
colorscheme koehler     
hi Comment ctermfg=darkcyan
hi Normal ctermfg=9
hi NonText ctermfg=white
hi LineNr ctermfg=darkgrey
hi Constant ctermfg=darkmagenta
hi Statement ctermfg=green
hi PreProc ctermfg=darkred
hi Type ctermfg=blue
hi Special ctermfg=green

" Mapeia as teclas de função para executarem no modo
" de inserção o mesmo que fazem no modo normal.
imap <F2> <c-n> 
imap <F3> <esc><F3>
imap <F4> <esc><F4>
imap <F5> <esc><F5>
imap <F7> <esc><F7>
imap <F8> <esc><F8>
imap <F9> <esc><F9>

" Salva.
map <F3> :w<cr>

" Salva e sai.
map <F4> :wq<cr>

" Divide a tela verticalmente.
map <F7> :rightbelow vsplit<cr>

" Restaura esquema de cores.
map <F8> :colorscheme koehler<cr>:hi Comment ctermfg=darkcyan<cr>:hi Normal ctermfg=9<cr>:hi NonText ctermfg=white<cr>:hi LineNr ctermfg=darkgrey<cr>:hi Constant ctermfg=darkmagenta<cr>:hi Statement ctermfg=green<cr>:hi PreProc ctermfg=darkred<cr>:hi Type ctermfg=blue<cr>:hi Special ctermfg=green<cr>

" Muda o esquema de cores para o estilo evening.
map <F9> :colorscheme evening<cr>

Para terminar, um comentário pessoal (e flamer :twisted: ):
Vim > Emacs

:D

Abraços,

Vinícius

Fala Vinícius!

Gosto do vim e, apesar de conhecer pouca coisa (muito pouca mesmo, tendo em vista o mundo de opções que existe), costumo usá-lo pra editar principalmente código (não tenho muita paciência pra IDEs e só uso quando é realmente inviável não fazê-lo).

Aliás, tenho um vimrc aqui que peguei na internet e alterei um pouco. E é até que parecido com o seu xD

Enfim, recomendo a todos que aprendam pelo menos o básico, pode ser bem útil =)

Vocês sabem se ferramentas não open source como o editor do visual C ganham ou perdem em produtividade em relação a ferramentas como vim/emacs(!)? Vejo o pessoal usando eclipse e ainda não tive paciência de aprender. Qual o melhor editor em termos de producao de codigo em grupo?

[]'s
dmc

[quote="“davidbrsp”"]Vocês sabem se ferramentas não open source como o editor do visual C ganham ou perdem em produtividade em relação a ferramentas como vim/emacs(!)? Vejo o pessoal usando eclipse e ainda não tive paciência de aprender. Qual o melhor editor em termos de producao de codigo em grupo?

[]'s
dmc[/quote]

depende do que vc faz. programar em java - por exemplo - sem uma IDE eu acho complicado. porém, penso que o vim é imbatível quando se trata de hackear alguma coisa, editar sites, programar em c/c++, etc.

Vale ressaltar que o Vim conta com excelentes extensões, inclusive um assistente interativo.

Oi, galera

Mais uma dica sobre o Vim: é possível habilitar a opção de corretor ortográfico!
Descobri isso agora e acho que muita gente também não sabia que isso existia.

Nesse link, é explicado direitinho como fazer para usar o dicionário do BrOffice no Vim.

Para quem usa o (excelente) Arch Linux, é muito mais fácil! Basta usar:

$ yaourt -S vim-spell-pt-br

Independentemente da forma que o dicionário foi instalado, para ativar o corretor dentro do Vim, o comando é:

:set spell spelllang=br,en

Nesse caso, eu coloquei “br,en” em vez de só “br” porque no meu texto há várias palavras em inglês e eu queria que o Vim também as verificasse. Sim, ele verifica duas línguas simultaneamente! Legal demais, isso. XD

Se alguém quiser ver outros comandos relacionados ao uso do spell, é só consultar da documentação.

Ah, como eu ADORO esse editor!!! :smiley:

Abraços,

Vinícius


Edit: devido a uma mudança no pacote vim-spell-pt-br, o comando correto agora é: set spell spelllang=br
Se não funcionar, vale a pena testar com o pt em vez do br mesmo.

Uau, marcado pra testar depois! Valeu pela dica, Vinícius ^^

Finalmente tive tempo de testar isso.
Realmente, ótima dica!

E para quem usa o Gentoo Linux, é tão fácil quanto no Arch Linux:

Ah, e acho que com estas configurações no .vimrc a aparência fica bem melhor:

highlight clear SpellBad highlight SpellBad term=standout ctermfg=1 term=underline cterm=underline highlight clear SpellCap highlight SpellCap term=underline cterm=underline highlight clear SpellRare highlight SpellRare term=underline cterm=underline highlight clear SpellLocal highlight SpellLocal term=underline cterm=underline
Não fica tão gritante que nem no padrão, mas também não fica discreto demais.

Off-topic: por que não posso editar minhas mensagens neste fórum? Fui obrigado a fazer double post…
EDIT: Oba, o fórum novo permite editar mensagens! :slight_smile:

[quote=“vinicius, post:5, topic:42”]Oi, galera

Mais uma dica sobre o Vim: é possível habilitar a opção de corretor ortográfico!
Descobri isso agora e acho que muita gente também não sabia que isso existia.

Nesse link, é explicado direitinho como fazer para usar o dicionário do BrOffice no Vim.[/quote]

Muito legal! Corretor ortográfico é um ótimo recurso, por exemplo, pra quando se está editando o .tex de algo importante! xD
Será particularmente importante para a minha monografia esse ano… hahaha

Só aproveito pra atualizar o link do tutorial, pois este está quebrado! Ei-lo:
http://www.lsl.dcc.ufmg.br/joomla/home/55-armazem/77-adicionando-corretor-ortografico-ptbr-no-vim.html