Pular para o conteúdo

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

Dica publicada em Linux / Miscelânea
Fábio Berbert de Paula fabio
Hits: 8.212 Categoria: Linux Subcategoria: Miscelânea
  • Indicar
  • Impressora
  • Denunciar

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!

React Native: Package Ignored Invalid Configuration [Resolvido]

Como recompilar um vídeo/áudio aumentando ou diminuindo seu volume original

Remover diretórios recursivamente em Python

Vim - juntar múltiplas linhas em uma só (JOIN)

Como converter imagens PNG/JPEG para SVG em linha de comando

Rádio Kiss FM SP direto no terminal

Iniciando servicos pelo Openbox no ArchBang

Debian Install Script

E-book sobre Debian 4.0 no Desktop (em português)

Instalando o Linux OpenZaurus em um PDA Sharp Zaurus SL-5600

#1 Comentário enviado por ElmiroDuarte em 09/11/2020 - 18:07h
Maravilhosa ferramenta o vim, me ajudou muito !!!

Contribuir com comentário

Entre na sua conta para comentar.