Vim a través de múltiples monitores


9

¿Alguien tiene una solución elegante para que MacVim o gvim se extiendan a través de múltiples monitores (resolución potencialmente diferente)? Tener 2 sesiones no funciona bien debido a búferes separados y archivos de intercambio.

Pensarías que podrías tener 2 ventanas gui que compartan los mismos búferes, pero no puedo encontrar nada que funcione.


1
Me gustaría saber la respuesta para esto también. Encontré este vimdoc.sourceforge.net/htmldoc/remote.html que parece ser la dirección correcta. Pero aún no lo he probado.
Amjith

Respuestas:


1

Expanda la gvimventana para cubrir ambas pantallas y úsela CTRL-W vpara dividir la ventana de edición verticalmente.

Ver :help CTRL-Wpara más comandos de ventana.


1
Soy muy consciente de dividir ventanas. Desafortunadamente, esto no funciona bien con diferentes resoluciones de monitor. Parece que realmente no hay una buena manera de hacer esto.
Patm

1

También uso a menudo monitores múltiples, así que hice una solución simple para usar hasta que vim implemente esta función. Utilizando un script lua llamado gitv, puedo abrir un archivo en varias instancias de GVIM al mismo tiempo. Básicamente, cuando hay dos instancias de GVIM llamadas GVIM1 y GVIM2, lo que hice fue simplemente asegurarme de que solo un archivo sea editable a la vez, y todos los demás son lectores. (Todo se hace automáticamente sin preguntar).

Flujo de trabajo: actualmente, gitv está diseñado para repositorios git, por lo que solo se puede usar para esos archivos en un repositorio git. Puede cambiar fácilmente este comportamiento predeterminado modificando la función lsFiles ().

Para abrir primero a.txt en GVIM1, use

$ gitv gvimr GVIM1 a.txt

Esto abrirá una ventana de gvim si no hay una. Luego, para abrir el mismo a.txt en otra instancia de GVIM2, use

$ gitv gvimr GVIM2 a.txt (o puede hacer un alias como $ gvim2 a.txt)

Entonces gitv hace internamente lo siguiente:

  1. encuentre todas las instancias de gvim que tengan abierto "a.txt". (En este caso, GVIM1)
  2. configure todos esos búferes a.txt "solo lectura", "nomodificable" y "lectura automática".
  3. El búfer que se modificó se escribirá en el disco antes de establecer "solo lectura".)
  4. eliminar el archivo de intercambio.
  5. Vuelva a abrir a.txt en GVIM2. (gvim puede abrir ese archivo sin problema porque no hay un archivo de intercambio).

Si desea editar a.txt en el monitor 1 en lugar del monitor 2, haga esto para cambiar el búfer activo: $ gitv gvimr GVIM1 a.txt (o gvim1 a.txt) Esto se puede hacer más fácilmente dentro de gvim1 usando ctrl + g + a.txt

(Esto establecerá automáticamente el mismo búfer abierto en otras instancias de gvim "solo lectura" para evitar la corrupción de datos).

gitv se puede descargar aquí: http://code.google.com/p/gitv/ Se probó solo en linux gvim, pero se podía portar fácilmente a MacVIM.

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.