É possível no vim criar uma exibição dividida para uso da linha de comando?
11
Conheço a opção :!ls, mas gostaria de usar uma das interfaces divididas (depois de usada :sp) como uma janela de linha de comando. Isso é possível? Se for, como faço?
Existem plugins e / ou patches para fazer isso. Mas, mais cedo ou mais tarde, você experimentará algumas peculiaridades. Minha sugestão é usar um terminal leve com todos os recursos ou screen / tmux.
Ao contrário do Emacs, o Vim tenta ser um pouco mais mínimo quando se trata de trabalhar com o shell. Ele não tem uma opção para incluir o shell interativo em uma de suas guias ou buffers.
Embora haja soluções alternativas para isso. Assim como você, eu realmente gosto de ter uma bashjanela na mesma sessão do terminal em que o Vim está sendo executado. É super útil ao editar arquivos de origem. No meu caso, eu realmente gosto de ter o ambiente Ruby REPL em execução para testar as instruções antes de colocá-las nos arquivos de origem.
Eu uso o Tmux para realizar a janela dividida. No Tmux , crio uma janela dividida (a chave padrão é ctrl + b, "). Isso abrirá duas sessões de shell interativas, como uma janela dividida no Vim. Depois, eu executo o Vim em uma das sessões e estou pronto.
Você pode ver na figura abaixo que eu dividi a janela horizontalmente com bashem cima e Vim em baixo.
Não tenho certeza se você estava procurando uma solução de tela GNU ou uma solução usando as divisões internas do Vim, mas se você estiver procurando pela última, isso funcionou para mim:
vim -O file_a.js file_b.js
Que a abre os dois arquivos com uma divisão vertical. Para uma regular (divisão horizontal), basta usar uma letra minúscula -o.
PS Ctrl+ w, wpara alternar entre os dois (acho uma boa maneira de diferenciar divisões de tela e divisões de vim).
Eu estava procurando isso por muito tempo e, tanto quanto posso dizer, nada de bom é realmente possível. Eu tentei muitos plugins / addons para vim, mas ninguém funcionou como eu queria.
Você pode usar o NeoVim, ele possui um modo de terminal semelhante ao emacs (embora seja muito novo) - isso permite que você o tenha em uma janela como qualquer outro buffer do vim
Respostas:
Ao contrário do Emacs, o Vim tenta ser um pouco mais mínimo quando se trata de trabalhar com o shell. Ele não tem uma opção para incluir o shell interativo em uma de suas guias ou buffers.
Embora haja soluções alternativas para isso. Assim como você, eu realmente gosto de ter uma
bash
janela na mesma sessão do terminal em que o Vim está sendo executado. É super útil ao editar arquivos de origem. No meu caso, eu realmente gosto de ter o ambiente Ruby REPL em execução para testar as instruções antes de colocá-las nos arquivos de origem.Eu uso o Tmux para realizar a janela dividida. No Tmux , crio uma janela dividida (a chave padrão é ctrl + b, "). Isso abrirá duas sessões de shell interativas, como uma janela dividida no Vim. Depois, eu executo o Vim em uma das sessões e estou pronto.
Você pode ver na figura abaixo que eu dividi a janela horizontalmente com
bash
em cima e Vim em baixo.Eu também uso o Tmux para dar suporte à programação de pares com outras pessoas. Você pode ler mais sobre minha configuração no meu blog em http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac .
fonte
Não tenho certeza se você estava procurando uma solução de tela GNU ou uma solução usando as divisões internas do Vim, mas se você estiver procurando pela última, isso funcionou para mim:
Que a abre os dois arquivos com uma divisão vertical. Para uma regular (divisão horizontal), basta usar uma letra minúscula
-o
.PS Ctrl+ w, wpara alternar entre os dois (acho uma boa maneira de diferenciar divisões de tela e divisões de vim).
fonte
O Vim 8 possui o modo terminal incorporado.
Você pode digitar
:ter
para obter acesso ao terminal.Para navegar pelos comandos no seu shell padrão, use
j,k
.Você pode obter mais informações digitando
:h ter
no VIM8.Nota : seu VIM8 deve ter
+terminal
para que isso funcione.fonte
Você já tentou a tela ? Algum motivo que não funcionaria para você?
fonte
Eu estava procurando isso por muito tempo e, tanto quanto posso dizer, nada de bom é realmente possível. Eu tentei muitos plugins / addons para vim, mas ninguém funcionou como eu queria.
Este aqui é bom: ConqueTerm
No entanto, tem alguma inconsistência com as cores. Experimente, talvez funcione para você.
fonte
Você pode usar o NeoVim, ele possui um modo de terminal semelhante ao emacs (embora seja muito novo) - isso permite que você o tenha em uma janela como qualquer outro buffer do vim
fonte