|
|||||||
| Wiki | Classificados | Galeria | Reviews | Jogos | Comunidades | RSS Feeds | FAQ | Termos de Uso | Sobre |
| Cadastre-se | Fotos | Blogs | Lista de Membros | Calendário | Pesquisar | Mensagens de Hoje | Marcar Fóruns Como Lidos |
FerramentasPublicidade |
From UnderLinux Wiki
[editar] IntroduçãoA primeira e grande dica é personalizar o arquivo de configuração do vim, nele podemos setar algumas coisas úteis, por exemplo se digito errado a palavra também, coloco em meu .vimrc a seguinte linha. "Abreviações iab tambem também Além das abreviações o vim pode numerar automaticamente as linhas, no .vimrc coloque: "Settings set nu [editar] MacrosNo vim é possível gravar ações em macros, por exemplo: ftp://ftp.vim.org/pub/vim/pc/gvim64.exe Depois de instalado você pode editar multiplos arquivos de forma simples com uma macro. Veja: vim *.txt qa --> inicia a gravação de uma macro chamada "a" :5<enter> --> vai para a 5ª linha dd --> deleta :w<enter> --> salva o arquivo :bn<enter> --> vai para o próximo arquivo "buffer next" q --> encerra a gravação da macro "quit" execute a macro com o comando: @a O vim irá apagar a 5ª linha do arquivo corrente, salvar e pular para o próximo, de acordo com a nossa soberana vontade. 100@a [editar] MapeamentosVocê pode mapear uma tecla para executar uma fução, por exemplo salvar o arquivo corrente: map <F9> <es>:w<cr> mapeamento para exibir/ocultar numeração de linhas: map <F11> <esc>:set nu!<cr> [editar] Fechamento automático de parêntesesimap { {}<left>
imap ( ()<left>
imap [ []<left>
Nos mapemantos <c-l> É igual a CTRL-l [editar] pular fora dos parênteses, colchetes e chaves" na verdade caminha para a direita 'l' e para esquerda 'h' imap <c-l> <esc><right>a imap <c-h> <esc><left>a [editar] Expressões regularesO vim aceita expressões regulares em seus padrões de busca e substituição. Essa característica amplia seu poder. Veja exemplos: Inserindo número de linha dentro do arquivo " %s/^/\=line('.'). ' '
Deletar linhas vazias em um arquivo :%g/^$/d trocando a posição de duas palavras, por exemplo: :%s/\(Sobrenome: Araújo\)\(,\s\)\(Nome: Sérgio\)/\3\2\1/ Ficaria: gguG Usando expressões regulares pode-se fazer assim: :%s/.*/\u&/g [editar] Miscelânia[editar] Data automáticaColoque no seu (.virmc - Linux) (_vimrc - windows) " =============== DATA AUTOMÁTICA ===========================
" insira na em seus arquivos = "ultima modificação:"
" em qualquer das três primeiras linhas
fun! SetDate()
mark z
if getline(1) =~ ".*ultima modificação:" ||
\ getline(2) =~ ".*ultima modificação:" ||
\ getline(3) =~ ".*ultima modificação:" ||
\ getline(4) =~ ".*ultima modificação:" ||
\ getline(5) =~ ".*ultima modificação:"
exec "1,5s/\s*ultima modificação: .*$/ultima modificação: " .
strftime("%c") . "/"
endif
exec "'z"
endfun
"
" abaixo a chamada a função de data que é chamada toda vez que você
" salva um arquivo preexistente
"
fun! LastChange()
mark z
if getline(1) =~ ".*Last Change:" ||
\ getline(2) =~ ".*Last Change:" ||
\ getline(3) =~ ".*Last Change:" ||
\ getline(4) =~ ".*Last Change:" ||
\ getline(5) =~ ".*Last Change:"
exec "1,5s/\s*Last Change: .*$/Last Change: " . strftime("%c") . "/"
endif
exec "'z"
endfun
" coloquei duas opções (alteração e modificação), assim
" não tem perigo de você esquecer e o sistema
" não atualizar a data do salvamento, outra melhoria na função
" é que agora é válida para qualquer tipo de arquivo. se usar
" num html por exemplo insira um começo de comentário na linha
" da data e feche o comentário na próxima linha
"
" abaixo a chamada a função de data que é chamada toda vez que você
" salva um arquivo preexistente
"
au BufWritePre * call SetDate()
au BufWritePre * call LastChange()
"
"============ Fim da Data Automática ===================
[editar] Change Log" === Cria um registro de alterações de arquivo ========
" ChangeLog entry convenience
" Função para inserir um status do arquivo
" cirado: data de criação, alteração, autor etc
fun! InsertChangeLog()
normal(1G)
call append(0, "Arquivo")
call append(1, "Criado: " . strftime("%a %d/%b/%Y hs %H:%M"))
call append(2, "ultima modificação: " . strftime("%a %d/%b/%Y hs %H:%M"))
call append(3, "Autor: Sérgio Luiz Araújo Silva - voyeg3r@gmail.com")
normal($)
endfun
" para inserir o change log digite ,cl
map ,cl :call InsertChangeLog()<cr>A
[editar] Veja também* vimrc do Voyeg3r |