fg
para retornar ao vim.
Estou ciente de que posso fazer !commands
, mas gostaria de integrar de alguma forma um shell no vim. Ou eu poderia usar a tela e dividir a tela para que o vim ocupe a metade da tela?
A integração de subprocessos é o principal ponto fraco do Vim. Há nenhum suporte interno para uma janela do shell , mas você pode tentar o plugin do vimsh .
Na tela, pressione C-a c
para criar uma nova janela (tela cheia). Pressione C-a p
ou C-a n
para mover para a janela anterior / seguinte ( C-a space
também se move para a próxima janela). Além disso, o comando split
( C-a S
) dividirá sua tela em duas regiões; você pode usar um para um shell e outro para o Vim. Pressione C-a tab
para alternar entre regiões.
Você sempre pode pressionar Ctrl + Z para suspender o Vim e executar comandos no shell pai; digite fg
para retornar ao Vim. Ou você pode usar :shell
para criar um subnível (tela cheia); digite exit
para retornar ao Vim.
Como você sugere, eu usaria apenas a tela.
screen
Se você não quiser exatamente a metade e a metade, você pode:
Se você precisa ver o que está no vim quando está na linha de comando, este é um bom caminho a percorrer. Se você não o método Ctrl-Z
/ fg
já mencionado é o caminho a percorrer.
Você também pode usar: shell para gerar apenas um shell. Digite exit ou Ctrl + D para sair do shell e retornar ao vim. Se você quer que ambos sejam executados simultaneamente, usar fg / bg (por Ignacio), tela (como você sugeriu) ou apenas dois terminais separados (xterms, consoles virtuais, o que for) são as melhores opções para você.
Se você for ao vim.org, você provavelmente encontrará uma extensão que inicia um shell diretamente, mas você está chegando perigosamente perto do emacs naquele ponto. ;) Veja um exemplo usando a tela: link
Tags bash vim gnu-screen linux