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.