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

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

[ Hits: 7.180 ]

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

Python - atualizando todos os módulos com pipdate

Javascript - pegar um elemento aleatório de uma lista

Instalando PokerStars no GNU/Linux

Como descobrir se sua instalação GNU/Linux é 32 ou 64 bits

Nginx - Como redirecionar seu domínio para o www

Leitura recomendada

Java JRE 1.7_51 - Instalação fácil no Debian 7 em três passos

Diversão no terminal: TermSaver

Yo Frankie! Game 3D OpenSource e MultiPlataforma

Graduação em TI via EAD - Curso gratuito de 600h pela CECIERJ

Pinguins correndo pelas janelas!

  

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