Edgard Leal

My personal blog hosted on Github using Jekyll

Home View on GitHub
13 June 2016

[caption id="attachment_114" align="aligncenter" width="150"]Vim logo vim[/caption]

É possível utilizar o Vim de forma programática para realizar grandes tarefas de forma automatizada. Uma situação onde este recurso pode ser muito útil é na conversão do charset/encoding de arquivos sem perder os caracteres originais.

vim -S setcharset.vim finded.txt

-S = indica o arquivo contendo o script

Exemplo de script:

set encoding=utf-8
set fileencoding-utf-8
wq
  1. Define o encoding do buffer atual
  2. Define o encoding do arquivo atual
  3. Salva e fecha o arquivo

Um exemplo de utilização deste recurso seria modificar o charset de todos os arquivos .java de uma pasta:

find ./ -name '*.java' -exec vim -S script.vim {} \;

O comando acima quando utilizado tendo na mesma pasta um arquivo de nome script.vim com o conteúdo de script mostrado acima, localiza dos os arquivos com a extensão .java contidos na pasta atual,  e para cada arquivo encontrado ele abre o arquivo utilizando o script previamente criado, que faz com que o Vim modifique o charset/encoding, salve e fecha o arquivo em seguida dando continuidade a busca.

Algums links úteis caso queira se aprofundar no assunto:

Tutorial para criação de scripts do Vim

Exemplos de scripts

Mais sobre o Vim na Wikipedia



blog comments powered by Disqus