Escreva, limpe e execute o script python de dentro do vim atalho

0

Eu encontrei uma maneira de acertar a tecla F1 em um script python no vim e isso limparia a saída antiga da shell para mim e executaria o script por:

autocmd FileType python nnoremap <buffer> <F1> :exec '!clear; python' shellescape(@%, 1)<cr>

E depois encontrei uma maneira de salvar e executar o script por

autocmd FileType python nnoremap <F9> :w<CR>:!python %<CR>

Mas como posso combinar todas as três coisas em um atalho? Então, primeiro salvar (: w) então! Limpar e depois executar com! Python?

Obrigado.

Patrick

    
por patrick 19.08.2016 / 17:17

1 resposta

0

Você pode usar a barra | para combinar comandos juntos. De :help :bar

                            *:bar* *:\bar*
'|' can be used to separate commands, so you can give multiple commands in one
line.  If you want to use '|' in an argument, precede it with '\'.

No seu caso, isso seria

autocmd FileType python nnoremap <buffer> <F1> :w \| exec '!clear; python' shellescape(@%, 1)<cr>

(observe o uso de \| )

    
por 19.08.2016 / 18:19