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
Comentários
Comentários fechados.
Artigos anteriores
- Pull requests em modo raiz - sex, 22 de dezembro de 2023, 09:57:09 -0300
- Qual a idade do seu repositório? - ter, 27 de dezembro de 2022, 12:50:35 -0300
- Utilizando ctags em projetos Rails mais recentes - qui, 24 de junho de 2021, 08:23:43 -0300
- Fazendo o seu projeto brotar - seg, 15 de julho de 2019, 08:57:05 -0300
- Learn Functional Programming with Elixir - sex, 02 de março de 2018, 18:47:13 -0300
- Ambiente mínimo - Driver Driven Development - qua, 23 de agosto de 2017, 15:15:03 -0300
- Ambiente mínimo - repositórios de código - dom, 16 de abril de 2017, 13:02:14 -0300
- Ambiente mínimo - terminal e navegador - dom, 02 de abril de 2017, 21:43:29 -0300
- Utilizando muitas gems no seu projeto? - sáb, 29 de outubro de 2016, 11:57:55 -0200
- Desenvolvedores e inteligência artificial - seg, 11 de julho de 2016, 09:09:38 -0300
Sérgio, 'xá comigo que vou por no capítulo sobre programação. ;-)
Amigo Eustáqui, esta dica tem que estar no nosso livro! :)
Luiz, o Vim funciona no (ieca,argh,ptu,bleargh!) windows também. :-)
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!