Cómo abrir archivos en ventanas divididas verticalmente / horizontalmente en Vim desde la línea de comando


400

Debe haber una manera, algo como esto:

vim -[option] <file-list>

abrir archivos desde el símbolo del sistema y no desde Vim.

  • dividir ventanas verticalmente u / y horizontalmente
  • en pestañas separadas

Respuestas:


389

Supongo que te refieres a la línea de comando. De vim --help:

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

Escriba esto para abrir archivos divididos horizontalmente, por ejemplo:

vim -o file1.txt file2.txt file3.txt

14
De Verdad? Nunca he tenido que proporcionar una N.
Cascabel

3
De hecho, parece que algo en mi .vimrc está causando el problema. Si lo muevo a un lado, -o sin N funciona como se documenta.
Laurence Gonsalves

22
-oes como :split, -Oes como:vsplit
Evgeni Sergeev

@Cascabel -whatever[N]significa que Nes opcional y puede omitirse, creo que se deriva de la sintaxis
user3338098

@ user3338098 Creo que puede haber habido un comentario eliminado aquí; El comentario de Laurence "De hecho ..." implica que estaba causando problemas cuando se omite.
Cascabel

441

Ctrl+ W, S(mayúscula) para división horizontal

Ctrl+ W, v(minúsculas) para división vertical

Ctrl+ W, Qpara cerrar uno

Ctrl+ W, Ctrl+ Wpara cambiar entre ventanas

Ctrl+ W, J(XOR K, H, L) para cambiar a la ventana adyacente (intuitivamente hacia arriba, abajo, izquierda, derecha)


10
Para cambiar de pantalla, presione Ctrl-wy luego up arrowo down arrowpara cambiar de pantalla.
Eric Leschinski

77
@EricLeschinski, prefiero ctrl+w ctrl+wrecorrer las ventanas mientras las teclas de flecha se sienten un poco anti-vi
Lucas

66
Ah, pero puedes usar movimientos vim regulares, por ejemplo, ctrl+w jpara saltar al búfer debajo del actual.
mitjak

44
:qtambién cierra ventana
Alexandre Bourlier

1
Ctrl + w para cambiar de ventana no parece funcionar en la terminal de Mac. Ctrl + w, w sí
slashdottir

325

Mientras ejecuta vim:

  1. :sp filename para una división horizontal
  2. :vsp filenameo :vs filenamepara una división vertical

61
Esto no responde la pregunta planteada ... pero SEGURO me ayudó: D ¡Gracias!
Abel

1
Muchas gracias por eso ¡Es exactamente lo que necesito!
mapcuk

77
gracias, justo lo que estaba buscando. Yo también:set splitright
zack

44
ctrl-ww para cambiar entre divisiones
Nerrve

:vsplit filenamees lo mismo que :vsp filenamey :vs filename, pero quizás sea un poco más fácil de recordar para algunas personas
b_dev

21

Otro truco interesante es el argumento CLI -p, que los abre en pestañas separadas para versiones recientes de vim y gvim.

gvim -p file1.txt file2.txt

1

Otro truco útil que acabo de descubrir es que puedes usar comodines en la lista de archivos para abrir varios archivos. Digamos que desea abrir file1.txt, file2.txt y file3.txt, todo en pestañas separadas, pero no tiene ganas de escribir todo lo que puede hacer:

vim -p file*

Frecuentemente encuentro que necesito abrir muchos archivos con un prefijo similar, y esto ha sido bastante útil


12
Eso no tiene que ver con Vim en sí, sino con el shell que está utilizando. Es el caparazón que expande los globos.
Kazark
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.