Vim su più monitor


9

Qualcuno ha una soluzione elegante per avere MacVim o gvim su più monitor (risoluzione potenzialmente diversa)? Avere 2 sessioni non funziona bene a causa di buffer e file di scambio separati.

Penseresti di poter avere 2 finestre GUI che condividono gli stessi buffer, ma non riesco a trovare nulla che funzioni.


1
Vorrei sapere la risposta anche per questo. Ho trovato questo vimdoc.sourceforge.net/htmldoc/remote.html che sembra la giusta direzione. Ma non l'ho ancora provato.
Amjith,

Risposte:


1

Espandere la gvimfinestra per coprire entrambe le schermate e utilizzare CTRL-W vper dividere la finestra di modifica in verticale.

Vedere :help CTRL-Wper ulteriori comandi della finestra.


1
Sono ben consapevole di dividere le finestre. Purtroppo questo non funziona bene con diverse risoluzioni del monitor. Sembra che non ci sia davvero un buon modo per farlo.
Patm,

1

Uso spesso anche più monitor, quindi ho fatto una semplice soluzione da utilizzare fino a quando Vim non implementa questa funzione. Utilizzando uno script lua chiamato gitv, posso aprire un file su più istanze di GVIM contemporaneamente. Fondamentalmente, quando ci sono due istanze di GVIM denominate GVIM1 e GVIM2, quello che ho fatto è stato semplicemente assicurarmi che un solo file fosse modificabile alla volta e tutti gli altri fossero visualizzatori. (Tutto viene eseguito automaticamente senza richiesta.)

Flusso di lavoro: attualmente, gitv è progettato per i repository git, quindi può essere utilizzato solo per quei file in un repository git. È possibile modificare facilmente questo comportamento predefinito modificando la funzione lsFiles ().

Per prima cosa apri a.txt su GVIM1, usa

$ gitv gvimr GVIM1 a.txt

Questo aprirà una finestra gvim se non ce n'è una. Quindi per aprire lo stesso a.txt su un'altra istanza GVIM2, utilizzare

$ gitv gvimr GVIM2 a.txt (oppure puoi creare un alias come $ gvim2 a.txt)

Quindi gitv esegue internamente quanto segue:

  1. trova tutte le istanze di gvim che hanno "a.txt" aperto. (In questo caso, GVIM1)
  2. imposta tutti quei buffer a.txt "di sola lettura", "nomodificabile" e "autoread".
  3. Il buffer che è stato modificato verrà scritto sul disco prima di essere impostato su "sola lettura".)
  4. rimuovere il file di scambio.
  5. riaprire a.txt su GVIM2. (gvim può aprire quel file senza problemi perché non esiste un file di scambio.)

Se vuoi modificare a.txt sul monitor 1 anziché sul monitor 2, fai questo per cambiare il buffer attivo: $ gitv gvimr GVIM1 a.txt (o gvim1 a.txt) Questo può essere fatto più facilmente all'interno di gvim1 usando ctrl + g + a.txt

(Questo imposterà automaticamente lo stesso buffer aperto in altre istanze di gvim "di sola lettura" per prevenire il danneggiamento dei dati.)

gitv può essere scaricato qui: http://code.google.com/p/gitv/ È stato testato solo su Linux gvim, ma può essere facilmente trasferito su MacVIM.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.