Uma grande diferença do neovim e do Vim é que o neovim inclui um emulador de terminal que funciona de forma assíncrona.
No entanto, não consigo ver como posso lucrar com esse recurso. Para que posso usá-lo? Você pode dar alguns casos de uso para o recurso de terminal do neovim, para que eu entenda como posso usá-lo da melhor maneira possível?
Em condições normais Vim eu uso normalmente :read !{command}
, :write !{command}
, Ctrl+Z
e fg
, assim como tmux janelas rachadas.
<C-z>
é que o processo Vim é suspenso pelo sistema operacional: ele não está fazendo nada (incluindo responder aos comandos do servidor).:shell
-loexit
ou o vim está suspenso aqui também?<C-z>
, é um problema com o seu script.Respostas:
A execução de um terminal no Vim permite que você use os comandos do Vim na entrada e na saída dos programas executados nesse terminal. Você obtém pesquisa, copiar e colar, macros, cores de sintaxe, etc. Usando
:read !{command}
e:write !{command}
fornecendo isso para comandos de uma só vez, mas a entrada / saída assíncrona se torna útil quando você deseja enviar uma entrada para um programa externo, peça por peça.O caso de uso típico é um loop de leitura e avaliação de impressão (REPL), fornecido por muitas linguagens de programação de alto nível. Você digita uma estrofe no seu código-fonte e depois o alimenta no REPL para obter feedback imediato. Como o REPL continua sendo executado de um envio para o próximo, o snippet de código enviado é executado no contexto.
fonte
Eu acho que a opção de criar mapeamentos somente de terminal é valiosa e amplia as opções que você tem em outros emuladores de terminal, por exemplo, mapeando t para executar unittests com configuração específica, que você só pode obter através de aliases complexos ou funções do bash.
fonte
O caso de uso mais óbvio que consigo pensar é em programação. Você já quis executar testes no VIM, compilar ou usar qualquer ferramenta de console? Sei que as pessoas usam o Tmux, mas sei que você pode fazê-lo no NeoVIM, devo dizer. Isso é incrível !!!
Se você usar buffers, poderá adicionar, remover, ocultar e mostrar terminais como desejar. Esse é o lucro;)
fonte
O melhor caso de uso que consigo pensar é o original - um ADM-3a em uma linha de 110 bps! Às vezes, não há realmente nenhum substituto para olhar as coisas lado a lado, e
:!r
não é suficiente.fonte