Publicando seu código colorido com o Vim
Publicado em Developer
Rapaz, o Vim é uma ferramenta que quanto mais a gente usa mais a gente descobre recursos. Eu uso ele faz muito tempo e só agora fui saber do comando :TOhtml (apesar que me parece que antes do Vim7 ele era um plugin), que converte o conteúdo do arquivo corrente em HTML, usando as cores correntes do syntax highlight. Isso é muito útil para publicar código mais "bonitinho" do que somente o tradicional monocromático (que eu estava usando por aqui até agora).
Aqui tem uma dica legal sobre como fazer isso, mas basicamente a coisa funciona assim:
- Abra o seu arquivo-fonte;
- Selecione o esquema de cores que você quer usar para publicar - vou mostrar com um que eu fiz, o TaQua, e com o Vibrantink, que estou usando bastante agora também, use :colo <esquema>;
- Ajuste algumas opções de acordo com a sua escolha para publicar o código - por exemplo, se você quiser omitir os números das linhas, que eu mantenho por padrão, digite :set nonumber, e se quiser que o Vim gere CSS ao invés de inserir todo o código HTML para cada esquema de cor em cada elemento, utilize :let html_use_css=1. Isso vai gerar menos código e ficar mais bem feito, mas lembre-se de copiar o CSS junto com o código.
- Digite :TOhtml e obtenha um split na janela corrente com um arquivo de mesmo nome do corrente com .html no final. Copie e publique a parte do seu código (e opcionalmente o CSS se você utilizou a opção mencionada acima).
Exemplos de código convertido dessa maneira, primeiro com o TaQua, usando CSS (dê uma olhada no código aqui da página para ver):
# classe igual está no livro class Carro def initialize(marca,modelo,cor,tanque) @marca = marca @modelo = modelo @cor = cor @tanque = tanque end end # criando um carro novo aqui ... gol = Carro.new("Volkswagen","Gol",:azul,50) puts gol # classe e carro refatorados! ei, eu comprei um novo né CarroRefatorado = Struct.new(:marca,:modelo,:cor,:tanque) corsa = CarroRefatorado.new("Chevrolet","Corsa Hatch",:preto,50) puts corsa
Agora com o vibrantink, usando as tags HTML sem CSS:
# classe igual está no livro class Carro def initialize(marca,modelo,cor,tanque) @marca = marca @modelo = modelo @cor = cor @tanque = tanque end end # criando um carro novo aqui ... gol = Carro.new("Volkswagen","Gol",:azul,50) puts gol # classe e carro refatorados! ei, eu comprei um novo né CarroRefatorado = Struct.new(:marca,:modelo,:cor,:tanque) corsa = CarroRefatorado.new("Chevrolet","Corsa Hatch",:preto,50) puts corsa
Tags:
Comentários
Comentários fechados.
Cara muito bom isso ai.
estava procurando algo exatamente assim para colocar meus codigos
Ruby em meu Blog.
só uma pergunta, tem alguma alternativa pra er.. "Windows"
porque gosto de postar codigo depois de jogar meu Warcraft e dá muito trabalho mudar de SO.
obrigado!
Luiz, o Vim funciona no (ieca,argh,ptu,bleargh!) windows também. :-)
Amigo Eustáqui, esta dica tem que estar no nosso livro! :)
Sérgio, 'xá comigo que vou por no capítulo sobre programação. ;-)