Eu sei que posso :!ou :r!para executar um comando externo e, opcionalmente, inserir sua saída no texto. Eu posso até me apresentar :!she criarei um shell que permanecerá vivo até sair dele - mas enquanto o shell estiver ativo, o Vim estará "adormecido" e inacessível. Preciso sair do shell e gerar um novo se quiser retornar ao Vim por um momento - não muito útil.
I pode acessar shell na extremidade oposta, suspendendo Vim com ^Ze gerenciar o trabalho Vim através de bg, fge jobs. Isso faz mais sentido, mas é muito complicado a longo prazo. Posso usar Screense estiver disponível (geralmente não está) ou abrir várias janelas do meu gerenciador de janelas (e ssh para direcionar o host de cada um deles em sequência, para ter o vim e o shell no host remoto, mais complicado novamente).
Seria melhor se o Vim me permitisse abrir uma sessão de shell e mantê-la, digamos, em uma de suas janelas (internas), ou permitir que eu alternasse para ela e voltasse. É algo assim possível?
:splitarquivo, mantendo o arquivo na outra janela? ... Isso me parece um trabalho para tmux ou tela ...