De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Sérgio Luiz Araújo Silva
Data de Publicação: 25 de Abril de 2005
Que tal atualizar a data de modificação dos seus arquivos de texto de forma automática no vim?
Editaremos o arquivo ~/.vimrc. Criamos um mapeamento para uma tecla de função para salvar sem o tradicional :w <cr> "<cr> é igual a enter"
Antes de salvar saia do modo insert com ESC
map <F9> :w<cr> " 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 Insira em uma das cinco primeiras linhas de seus arquivos Last Change: "alguma data"
Se for no próprio vimrc coloque aspas duplas no começo da linha
Abaixo uma chamada à função LastChange, pode dar o nome que quiser contanto que substitua nos lugares certos
au BufWritePre * call LastChange()
Agora mais dois brindes, cabeçalhos prontos que você chama em modo normal com ,cl e ,sh
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") normal($) endfun map ,cl :call InsertChangeLog()<cr>A " Cria um cabeçalho para scripts bash fun! InsertHeadBash() normal(1G) call append(0, "#!bin/bash") call append(1, "# Criado em:" . 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, "# O NOME DA SUA EMPRESA") - Hide quoted text - call append(3, "# Propósito do script") normal($) endfun map ,sh :call InsertHeadBash()<cr>A
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários