Como abrir arquivos em janelas divididas verticalmente / horizontalmente no Vim a partir da linha de comando

400

Deve haver uma maneira, algo como isto:

vim -[option] <file-list>

para abrir arquivos no prompt de comando e não no Vim.

  • dividir janelas verticalmente ou / e horizontalmente
  • em guias separadas
Andrei Chikatilo
fonte

Respostas:

389

Estou assumindo que você quer dizer da linha de comando. De vim --help:

-o[N]                Open N windows (default: one for each file)
-O[N]                Like -o but split vertically

Digite isso para abrir arquivos divididos horizontalmente, por exemplo:

vim -o file1.txt file2.txt file3.txt
Laurence Gonsalves
fonte
14
Realmente? Eu nunca tive que fornecer um N.
Cascabel
3
De fato, parece que algo no meu .vimrc está causando o problema. Se eu afastá-lo, -o sem N funcionará como documentado.
Laurence Gonsalves
22
-oé como :split, -Oé como:vsplit
Evgeni Sergeev
@Cascabel -whatever[N]significa que Né opcional e pode ser omitido, eu acredito que deriva do padrão sintaxe EBNF
user3338098
@ user3338098 Acho que pode ter havido um comentário excluído aqui; O comentário de Laurence "De fato ..." implica que estava causando problemas quando omitido.
Cascabel
441

Ctrl+ W, S(maiúscula) para divisão horizontal

Ctrl+ W, v(minúscula) para divisão vertical

Ctrl+ W, Qpara fechar um

Ctrl+ W, Ctrl+ Wpara alternar entre janelas

Ctrl+ W, J(XOR K, H, L) para mudar para a janela adjacente (intuitivamente para cima, baixo, esquerda, direita)

LB40
fonte
10
Para alternar telas, pressione Ctrl-we, em seguida, up arrowou down arrowpara alternar telas.
Eric Leschinski 17/10/12
7
@EricLeschinski, eu prefiro ctrl+w ctrl+wpara percorrer as janelas como teclas de seta sentir um pouco anti-vi
Lucas
6
Ah, mas você pode usar movimentos regulares do vim, por exemplo, ctrl+w jpara pular para o buffer abaixo do atual.
Mitcak
4
:qtambém fecha a janela
Alexandre Bourlier
1
Ctrl + w para alternar entre janelas não parece funcionar no terminal mac. Ctrl + w, w faz embora
slashdottir
325

Ao executar o vim:

  1. :sp filename para uma divisão horizontal
  2. :vsp filenameou :vs filenamepara uma divisão vertical
Taylor Leese
fonte
61
Isso não responde à pergunta levantada ... mas com certeza me ajudou: D Obrigado!
Abel
1
Muito obrigado por isso. É exatamente o que eu preciso!
Mapcuk
7
obrigado, exatamente o que eu estava procurando. Eu também:set splitright
zack
4
ctrl-ww para comutação entre divisões
Nerrve
:vsplit filenameé o mesmo que :vsp filenamee :vs filename, mas talvez um pouco mais fácil de lembrar para algumas pessoas
b_dev
21

outro truque interessado é o argumento CLI -p - que os abre em abas separadas para versões recentes do vim e gvim.

gvim -p file1.txt file2.txt
dls
fonte
1

Outro truque útil que acabei de descobrir é que você pode usar caracteres curinga na lista de arquivos para abrir vários arquivos. Digamos que você queira abrir file1.txt, file2.txt e file3.txt em guias separadas, mas não sinta vontade de digitar tudo isso, basta fazer o seguinte:

vim -p file*

Freqüentemente me vejo precisando abrir muitos arquivos com um prefixo semelhante, e isso tem sido bastante útil

Brent
fonte
12
Isso não tem a ver com o próprio Vim, mas com o shell que você está usando. É a concha que expande os globs.
Kazark 24/08/12