Usando Vim / Gvim con múltiples ventanas GUI


25

¿Es posible tener 2 o más ventanas (G) vim para la misma sesión, o al menos compartir algunos búferes? Aquí, "ventana" se refiere a una ventana Gnome (o KDE, o Windows, etc.), no a una ventana VIM.

Utilizo dos monitores con xinerama y quiero abrir dos ventanas GUI separadas en lugar de tener una única enorme que abarque varias pantallas.


¿Has probado: sp <nombre de archivo> o: vsp <nombre de archivo>? Estos son los comandos de división de ventanas de vim y son geniales. Aquí hay algo de documentación
Tom Stephens el

2
@Tom Stephens: y eso ayuda ... ¿cómo? OP quiere colocar las ventanas vim de UNA instancia vim en sus monitores. OP no quiere UNA instancia de vim distribuida en todos los monitores.
akira

1
Esto es importante; el editor realmente no debería estar haciendo su propia gestión de ventanas.
Sam Watkins el

Respuestas:


19

Actualmente, gVim no puede tener ventanas de "nivel superior" separadas para el mismo proceso / sesión. Hay un elemento TODO para implementar un sistema de comunicación entre procesos entre varias instancias de Vim para que se comporte como si los procesos separados estuvieran unificados. (Ver :help todoy buscar "nivel superior").


7 años después, Vim8, esto todavía está en la lista de tareas pendientes.
Al.G.

1
Done a la organización benéfica Vim y obtenga votos, luego vote por la función: vim.org/sponsor/index.php
Heptita

3

Eche un vistazo a la pantalla GNU utilizada junto con Vim.

Primera ventana, inicie la pantalla gnu y vim

xterm
screen -S edit
vim

Segunda ventana, conectarse a la sesión de pantalla:

xterm
screen -x edit

Increíblemente útil sobre grandes escritorios xinerama, múltiples pantallas virtuales o sesiones de VNC. Una sesión de Vim, con muchas pestañas, es todo lo que necesitas.

- Tom


1
Puntos para el tutorial rápido y breve, aunque llamaría a esto solo un poco útil, porque no puedo editar diferentes buffers de la misma sesión de esta manera.
Atilla Filiz

Curiosamente, este es un punto en el que la pantalla gana a tmux: en tmux, adjuntar a la misma sesión desde un cliente diferente significa que solo se ven las cosas reflejadas en ambas instancias ... Estoy considerando una combinación impía de los dos, pero no lo he hecho ¡Ya descubrí lo que quiero hacer!
JonnyRaa

2

Ha pasado algún tiempo desde que hizo su pregunta y muchas cosas han mejorado. Nvidia tiene mucho mejor soporte de controladores para múltiples monitores en Linux.
Ahora he dejado de usar Gvim desde que me mudé a KDE: ahora estoy usando vim-qt. Le permite abrir varias instancias, en caso de que no quiera usar vim en la terminal.

editar: Mi configuración


Lo estoy intentando ahora, ¿cómo uso estas instancias múltiples? Parece un gvim normal con una cara ligeramente diferente para mí.
Atilla Filiz

Simplemente puede iniciar dos instancias de vim-qt para que pueda tener una ventana para cada una de sus pantallas y una pestaña alternativa entre ellas, o asignar teclas de acceso rápido a cada ventana. Vim-qt está escrito para qt, por lo que los entornos de escritorio basados ​​en qt como KDE pueden utilizar mejor las ventanas. Eso significa que puede tener varias ventanas gráficas diferentes abiertas y que sus ventanas gráficas vim pueden ser de pantalla completa. Lo que no era posible con gvim regular.
jollyroger

66
Gracias por tomarse el tiempo, pero esto no es lo que quería. Quería acceder a los mismos buffers desde dos ventanas GUI separadas. Y esto no es posible ya que el uso compartido del búfer todavía está en la lista de tareas pendientes de vim (consulte la respuesta aceptada).
Atilla Filiz el

1

Puede tener tantas sesiones vi (m) como desee utilizando ventanas de terminal separadas para cada una.

En cuanto a que no se extiendan, supongo que los está poniendo en pantalla completa y luego se está expandiendo en ambos monitores, ya que está configurado para extender el escritorio. No lo maximice y ajuste manualmente el tamaño de la ventana de terminal o gvim.

Si perdí la marca, intenta elaborar un poco más.

¿Qué quieres decir con vim window?

editar: Aquí hay una foto de mi pantalla con 4 instancias vim ejecutándose

Con suerte, Heptite lo golpeó, porque estaba un poco perdido con este.


1
Eso es exactamente lo que estoy haciendo ahora, redimensionarlos manualmente para abarcar dos monitores y luego: vsplit pero parece feo y, a veces, quiero ver algunos búferes en diferentes escritorios virtuales, o cubrir un monitor con algo más. Lo que quiero es usar dos terminales de red diferentes y aún acceder a los mismos buffers desde ambos.
Atilla Filiz

Entiendo ahora. Me alegra ver que Heptite respondió eso por ti.
Dan M.
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.