Vim executa comandos bash / make na mesma janela

5

Quando tento executar alguns comandos como :make ou :!ls , ele mostra a saída em uma tela / exibição totalmente diferente e o arquivo que estou editando não fica visível durante esse processo. Existe mesmo assim eu ainda posso ver o meu arquivo e editar, enquanto o comando que eu executei provavelmente pode ser executado em uma janela na parte inferior, provavelmente a janela de correção rápida?

    
por woodstok 28.02.2013 / 12:40

6 respostas

3

Se você estiver usando o vim 8 ou o neovim, talvez queira tentar:

link ,

Bom substituto para o vim-dispatch com uma experiência de usuário muito melhor.

  • Fácildeusar,bastainiciarseucomandodesegundoplanopor:AsyncRun(apenascomovelho"!" cmd).

  • O comando é feito em segundo plano, não é necessário esperar que todo o processo seja concluído.

  • As saídas são exibidas na janela de correção rápida, os erros são correspondidos com o formato de erro.

  • Você pode explorar a saída de erro imediatamente ou continuar trabalhando no vim durante a execução.

  • Toque a campainha ou reproduza um som para notificá-lo de que terminou o trabalho enquanto se concentra na edição.
  • Forneça experiência de usuário correspondente no vim, neovim, gvim e macvim.
por 05.01.2017 / 19:58
3

Você pode usar o plug-in vim-dispatch para criação assíncrona (make).

ou se você simplesmente quer o resultado do comando shell em uma janela de quickfix que você pode usar em modo ex:

:cexpr system('ls -alh') | copen

melhor ainda, adicione isso a você .vimrc

command -nargs=+ Run :cexpr system('<args>') | copen

e executado no modo ex:

:Run ls -alh
    
por 24.07.2014 / 18:49
1

Esse comportamento é totalmente normal. O CLI Vim não vem com um emulador de terminal e nunca faz. O GUI Vim vem com um emulador de terminal idiota, e eu acho que é isso que você "lembra muito tempo atrás".

Você precisa de um plugin para executar comandos em uma janela separada do Vim. ConqueTerm é o único nome que me lembro no momento, mas acho que há um ou dois outros.

    
por 28.02.2013 / 14:48
1

Como romainl disse, esse é o comportamento normal. O Vim não armazena a saída, agindo como um pager, ela é mostrada apenas enquanto o comando externo é executado. Você poderia capturar a saída do comando em um buffer Vim ( :r !ls ), usar um plugin como o Conque , ou dividir uma janela do shell fora do Vim com a ajuda de um multiplexador terminal como screen ou tmux .

    
por 28.02.2013 / 15:00
0

A divisão das janelas do vim funcionará para você?

  • : split - divide a janela horizontalmente
  • : vsplit - divide a janela verticalmente

Então você pode usar as janelas apenas para editar o arquivo e o segundo para executar via : make .

    
por 28.02.2013 / 13:15
0

Você pode estar procurando por ex-mode . Se você digitar Q no modo normal, você obterá um buffer de estilo de prompt de comando na parte inferior da janela.

Mais informações aqui: link

    
por 01.03.2013 / 02:51

Tags