Utilizzo di Vim / Gvim con più finestre della GUI


25

È possibile avere 2 o più finestre (G) vim per la stessa sessione o almeno condividere alcuni buffer. Qui, "finestra" si riferisce a una finestra Gnome (o KDE, o Windows ecc.), Non a una finestra VIM.

Uso due monitor con xinerama e voglio aprire due finestre della GUI separate invece di avere un unico enorme che si estende su più schermi.


hai provato: sp <nomefile> o: vsp <nomefile>? Questi sono i comandi di suddivisione delle finestre di vim e sono fantastici. Ecco un po 'di documentazione
Tom Stephens,

2
@Tom Stephens: e questo aiuta .. come? OP vuole posizionare le finestre vim di ONE istanza vim sui suoi monitor. OP non desidera che UNA istanza vim sia distribuita su tutti i monitor.
Akira,

1
Questo è importante; l'editor non dovrebbe davvero fare la propria gestione delle finestre.
Sam Watkins,

Risposte:


19

Attualmente gVim non può avere finestre 'toplevel' separate per lo stesso processo / sessione. Esiste un elemento TODO per implementare un sistema di comunicazione tra processi tra più istanze di Vim per farlo comportare come se i processi separati fossero unificati. (Vedi :help todoe cerca "top-level".)


7 anni dopo, Vim8, questo è ancora nella lista delle cose da fare.
Al.G.

1
Effettua una donazione in beneficenza Vim e ottieni voti, quindi vota per la funzione: vim.org/sponsor/index.php
Heptite

3

Dai un'occhiata allo schermo GNU usato insieme a Vim.

Prima finestra, avvia gnu screen e vim

xterm
screen -S edit
vim

Seconda finestra, connettiti alla sessione schermo:

xterm
screen -x edit

Incredibilmente utile su grandi desktop xinerama, più schermi virtuali o sessioni VNC. Una sessione di Vim, con molte schede, è tutto ciò che serve.

- Tom


1
Indica il breve e breve tutorial, anche se lo definirei solo leggermente utile, perché non posso modificare diversi buffer della stessa sessione in questo modo.
Atilla Filiz,

è interessante notare che questo è un punto in cui lo schermo vince su tmux, - in tmux collegarsi alla stessa sessione da un client diverso significa solo vedere le cose rispecchiate in entrambi i casi ... Sto prendendo in considerazione una combinazione empia dei due ma non ho abbastanza capito cosa voglio ancora fare!
JonnyRaa,

2

È passato del tempo da quando hai posto la tua domanda e molte cose sono migliorate. Nvidia ha un supporto driver molto migliore per più monitor su Linux.
Ora ho smesso di usare Gvim da quando sono passato a KDE: ora sto usando vim-qt. Ti consente di aprire più istanze, nel caso in cui non desideri utilizzare vim nel terminale.

modificare: La mia configurazione


Lo sto provando ora, come posso usare queste istanze multiple? Sembra un normale gvim con una faccia leggermente diversa per me.
Atilla Filiz,

Puoi semplicemente avviare due istanze di vim-qt in modo da avere una finestra per ciascuno dei tuoi schermi e alt-tab tra di loro o assegnare tasti di scelta rapida a ciascuna finestra. Vim-qt è scritto per qt, quindi gli ambienti desktop basati su qt come KDE possono utilizzare meglio Windows. Ciò significa che puoi avere diverse finestre grafiche diverse aperte e che le tue finestre grafiche possono essere a schermo intero. Che non era possibile con gvim normale.
jollyroger,

6
Grazie per aver dedicato del tempo ma questo non è quello che volevo. Volevo accedere agli stessi buffer da due finestre della GUI separate. E questo non è possibile in quanto la condivisione del buffer è ancora nella lista delle cose da fare di vim (vedi la risposta accettata).
Atilla Filiz,

1

Puoi avere tutte le sessioni vi (m) che desideri utilizzando finestre terminali separate per ognuna.

Per quanto riguarda il fatto di non averli estesi, suppongo che li stai mettendo a schermo intero e quindi si sta espandendo su entrambi i monitor in quanto è impostato per estendere il desktop. Non massimizzarlo e regolare manualmente le dimensioni della finestra del terminale o gvim.

Se ho perso il segno, ti preghiamo di provare a elaborare un po 'di più.

Cosa intendi per finestra di VIM?

modificare: Ecco una foto del mio schermo con 4 istanze di vim in esecuzione

Spero che Heptite lo abbia colpito, perché ero un po 'perso con questo.


1
È esattamente quello che sto facendo ora, ridimensionarli manualmente per estendere due monitor e poi: vsplit ma sembra brutto e a volte voglio vedere alcuni buffer su diversi desktop virtuali o coprire un monitor con qualcos'altro. Quello che voglio è usare due terminali differnet e accedere comunque agli stessi buffer da entrambi.
Atilla Filiz,

Ora capisco. Sono contento di vedere che Heptite ti ha risposto.
Dan M.
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.