¿Es posible en vim crear una vista dividida para el uso de la línea de comandos?

12

Sé acerca de la opción :!ls, pero me gustaría usar una de las interfaces divididas (después de que se use :sp) como una ventana de línea de comandos. es posible? Si es así, ¿cómo lo hago?

p1100i
fuente
3
Hay complementos y / o parches para lograr eso. Pero tarde o temprano experimentarás algunas peculiaridades. Mi sugerencia es utilizar un terminal ligero con todas las funciones en su lugar, o screen / tmux.
Marco
vim8 tiene modo de terminal construida en .. ver aquí: superuser.com/a/1312655/658319
alpha_989

Respuestas:

9

A diferencia de Emacs, Vim intenta ser un poco más minimalista cuando se trata de trabajar con el shell. No tiene una opción para incluir el shell interactivo dentro de una de sus pestañas o buffers.

Aunque hay soluciones para esto. Al igual que usted, realmente me gusta tener una bashventana en la misma sesión de terminal que tengo Vim ejecutándose. Es súper útil al editar archivos fuente. En mi caso, realmente me gusta tener el entorno Ruby REPL ejecutándose para poder probar las declaraciones antes de ponerlas en los archivos de origen.

Yo uso Tmux para lograr la ventana dividida. En Tmux creo una ventana dividida (la clave predeterminada es ctrl + b "". Esto abrirá 2 sesiones de shell interactivas como una ventana dividida en Vim. Luego ejecuto Vim en una de las sesiones y estoy listo.

Puede ver en la imagen a continuación que he dividido la ventana horizontalmente con basharriba y Vim en la parte inferior.

ingrese la descripción de la imagen aquí

También uso Tmux para admitir la programación de pares con otros. Puede leer más sobre mi configuración en mi blog en http://jjasonclark.com/Remote-Pairing-with-SSH-and-Tmux-on-a-Mac .

Jason
fuente
7

No estoy seguro de si estaba buscando una solución de pantalla GNU, o una solución que usa las divisiones integradas de Vim, pero si está buscando la última, esto funcionó para mí:

vim -O file_a.js file_b.js

Que a abre ambos archivos con una división vertical. Para una división regular (división horizontal), solo use una minúscula en su -olugar.

PS Ctrl+ w, wpara cambiar entre los dos (me parece una buena manera de diferenciar las divisiones de pantalla y las divisiones de vim).

JM Janzen
fuente
55
Aunque esto no responde a la pregunta original, esta respuesta respondió mi consulta de búsqueda de Google que me trajo aquí. :)
Mihai Alexandru Bîrsan
Ídem - gracias!
CaseyR
7

Vim 8 tiene modo terminal incorporado.

Puede escribir :terpara acceder a la terminal.

Para navegar a través de los comandos en su shell predeterminado use j,k.

Puede obtener más información escribiendo :h terVIM8.

Nota : su VIM8 debe tener +terminalpara que esto funcione.

alpha_989
fuente
6

¿Has probado la pantalla ? ¿Alguna razón que no te resultaría?

Alex Nye
fuente
3

Estuve buscando esto por mucho tiempo y, por mucho que pueda decir, nada bueno es realmente posible. He intentado muchos complementos / complementos para vim pero ninguno funcionó como quería.

Sin embargo, este es bueno: ConqueTerm

Sin embargo, tiene cierta inconsistencia con los colores. Pruébalo, tal vez funcione para ti.

Rowman
fuente
Comprueba este también: youtube.com/watch?v=5__I_cnxmPc&feature=related
rowman
1

Puede usar NeoVim, tiene un modo de terminal incorporado similar a emacs (aunque muy nuevo), esto le permite tenerlo en una ventana como cualquier otro búfer vim

alcesleo
fuente