Eu sei que posso :!
ou :r!
para executar um comando externo e, opcionalmente, inserir sua saída no texto. Eu posso até me apresentar :!sh
e 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
, fg
e jobs
. Isso faz mais sentido, mas é muito complicado a longo prazo. Posso usar Screen
se 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?
:split
arquivo, mantendo o arquivo na outra janela? ... Isso me parece um trabalho para tmux ou tela ...