Eustáquio Rangel

Desenvolvedor, pai, metalhead, ciclista

Executando blocos de código no Vim

Publicado em Developer


Hoje surgiu uma dúvida de como executar um bloco de código selecionado no #ruby-lang e eu dei um pulinho no #vim (ambos da Freenode) para ver se o pessoal dava uma dica de como fazer isso, e achei legal publicar a solução que me deram lá.

Vamos supor que temos esse programinha, que vai ler um arquivo texto:

puts "lendo o arquivo ..."
File.open("teste.txt") do |f|
f.each {|line| puts line}
end
puts "arquivo lido."

Para rodar o programa inteiro de dentro do Vim, é só usar:

:%w !ruby

Sendo que % é a faixa (todo o arquivo) e o w !<programa> executa a faixa selecionada no programa especificado (no caso, o Ruby).

Sendo assim, se desejarmos executar somente do File.open até o end, é só selecionar as linhas usando shift-v e executar : (aparecem os sinais '<'>) w !ruby. Pronto! A seleção vai ser executada. Uma coisa importante a ser notada é o espaço entre o w e o !. Só para comparar com o comando acima:

:'<'>w !ruby

Que resulta em

:'<,'>w !ruby
111111111111
222222222222
333333333333
444444444444
555555555555

Outra coisa importante é não esquecer o w. Se usarmos :% !ruby ou :'<'> !ruby a faixa vai ser executada e substituída com o resultado da execução. Nesse caso seu programa iria virar:

puts "lendo o arquivo ..."
111111111111
222222222222
333333333333
444444444444
555555555555
puts "arquivo lido."



Comentários

Comentários fechados.

Sem nenhum comentário.

Artigos anteriores