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.207 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!

O comando man

O que é samba

Nginx - Redirecionando www para apenas o nome do domínio ou vice-versa

Como fazer print() sem quebra de linha em Python

Criando apresentações com o Scribus

Tire screenshots com a tecla PrintScreen

QJoyPad - Ampliando o poder do seu joystick

Instalando o Pidgin 2.0.2 no Ubuntu

Instalando a última versão do KDE no Kubuntu

qPDF - Salvando cópia de arquivos PDF protegidos com senha

#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.