Como executar seu código-fonte a partir do Vim

Publicado por Fábio Berbert de Paula em 20/12/2018

[ Hits: 7.757 ]

Blog: https://fabio.automatizando.dev

 


Como executar seu código-fonte a partir do Vim



Essa dica saiu a partir de uma thread aqui no fórum onde um dos moderadores perguntou se havia no Vim algo similar ao Geany, que ao pressionar a tecla F5 ele abre um terminal para testar o script que você está criando, auto-detectando a linguagem utilizada.

Acredito que a única coisa que não seja possível fazer no Vim seja café.

Então bora adaptar o editor para executar seus arquivos. A solução será criar uma função que contempla alguns tipos de arquivo e os executa através de if-else. Ao final mapearemos uma tecla para invocar a função.

Insira as seguintes linhas ao seu ~/.vimrc:

vim ~/.vimrc

"declaração da função
function! Executar(arq)
    "o vim possui uma variável built-in chamada &filetype
    "seu conteúdo corresponde ao tipo de arquivo auto-detectado
    "executaremos os arquivos usando a chamada :exec seguida do
    "comando e o nome do arquivo que você está editando
    "
    "o parâmetro arq é passado à função via shellescape, que é
    "traduzido para o nome do arquivo que você está editando
    "
    "antes de começar a estrutura if-else, estou invocando o
    "comando :w para salvar o arquivo que você está editando
    "dessa forma o Vim terá acesso à versão atual do seu código,
    "mesmo que tenhas esquecido de salvá-lo

    "salvar edição atual

    :w

    if &filetype == 'html'
        :exec '!google-chrome' a:arq
    elseif &filetype == 'python'
        :exec '!python3' a:arq
    elseif &filetype == 'c'
        :exec '!gcc -o /tmp/a.out' a:arq ';/tmp/a.out'
    endif
endfunction

"mapear a tecla F5 para chamar a função Executar,
"passando como parâmetro o nome do arquivo em edição
nnoremap <F5> :call Executar(shellescape(@%, 1))<CR>

O código acima é bem simples, caso tenha curiosidade para com algum comando utilizado, o sistema de help do Vim é bem intuitivo. Por exemplo, dentro do editor digite:

:help shellescape

Bons códigos!

Outras dicas deste autor

Primeira Conferencia Hacker no Brasil

Viva o Linux no Twitter!

Como navegar sem cache no Chrome e Firefox

Compartilhando arquivos entre computadores com Woof

Alterando nome de placa de rede FÁCIL usando arquivos de LINK

Leitura recomendada

libre.fm: Banco de músicas online livre

PlayOnLinux no CentOS 6.5

Resolvendo problemas na troca de IPs do VMWare em máquinas virtuais no Debian Linux

Instalar Fedy Installer no Fedora 22

Boot de uma imagem ISO no HD

  

Comentários
[1] Comentário enviado por ElmiroDuarte em 09/11/2020 - 18:07h

Maravilhosa ferramenta o vim, me ajudou muito !!!



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts