Espero não estar ofendendo você respondendo que, para executar o arquivo atual (não o buffer), apenas
:!%
UPD: Para executar o buffer para a entrada padrão do interpretador (sem salvar primeiro um arquivo):
:w !/bin/sh
O último também pode ser usado com python
, com perl -w
, etc.
A propósito, uma técnica super útil é filtrar um buffer por meio de um comando externo:
1G!Ggrep -v unwanted_regex
Todos estes são compatíveis com o VI.