Você pode fazer isso de dentro do Vim:
:w !pandoc -o file.pdf
Ou até mesmo escreva o buffer em um pipeline complexo:
:w !grep pattern | somecommand > file.txt
E então você pode sair do Vim sem salvar:
:q!
No entanto, considerando seu caso de uso específico, provavelmente há uma solução melhor usando vi como seu editor de linha de comando. Supondo que você use bash :
set -o vi
Isso define suas combinações de teclas como vi . Assim, você pode editar seus comandos diretamente na linha de comando com atalhos de teclado vi pressionando <Esc> e digitando vi comandos como x , cw , etc. (Você pode voltar no modo de inserção pressionando i .)
Melhor ainda, e mais relevante para esta questão, você pode abrir o Vim para criar seu conteúdo de linha de comando diretamente. Basta digitar <Esc>v e você receberá um buffer Vim vazio. Quando você salva e sai, esse é o comando em sua linha de comando e é imediatamente executado. Isso é muito mais flexível do que editar diretamente na linha de comando, já que você pode escrever um mini-script inteiro, se quiser.
Então, por exemplo, se você quiser escrever algum texto complicado e colocá-lo em pandoc imediatamente, você pode simplesmente digitar:
<Esc>v
Em seguida, edite o buffer do Vim até ter algo como:
cat <<EOF | pandoc -o file.pdf
stuff for pandoc
more stuff for pandoc
EOF
Em seguida, salve e saia (com :x ) e a coisa toda será executada como um comando shell.
Ele também estará disponível no histórico de comandos do seu shell.