2010-10-22 8 views
19

Ho tre monitor.Utilizzo di vim su più monitor

Normalmente eseguo un xterm massimo su ciascun monitor, collegato alla stessa sessione GNU screen.

È possibile utilizzare un modello simile per Vim? E 'possibile avere tre VIMS in esecuzione, tutti accomunati dalla stessa "sessione di vim":

  • Ogni finestra vim che mostra una scheda vim diversa
  • impostazioni vim condivisi tra tutte le finestre
  • Non ottenere il "file di Swap ... esiste già!" messaggio di errore se apro lo stesso file su due schede.

risposta

12

Ho una soluzione di lavoro in cui comunicano due istanze di Vim.

http://github.com/codeape2/vim-multiple-monitors

utilizza le SwapExists autocmd per istruire l'altra istanza di aprire un file se viene rilevato un file di swap esistente.

+0

Ho provato a usare lo script vim, ma non capisco come si suppone vim capire l'argomento '--servername'. My vim (7.3) semplicemente muore con il messaggio di errore 'Opzione argomento sconosciuto:" --servername "'. Cosa mi sono perso? – bitmask

+0

Forse il tuo vim non è compilato con il supporto per il richiamo remoto. In vim, esegui '': version''. Verifica se le funzionalità includono '' + servererver'' – codeape

3

No, un'istanza Vim è limitata a una singola finestra dell'applicazione sul desktop. Le diverse istanze di Vim hanno sessioni indipendenti.

Inoltre, tenere presente che se si apre lo stesso file in due diverse istanze di Vim, non solo si ottiene il messaggio "Sostituisci file esistente", ma le due istanze non condividono un buffer, quindi le modifiche vengono apportate in un'unica soluzione sono indipendenti dall'altra.

Se un file modificato viene salvato in un'istanza, verrà visualizzato un messaggio quando si ritorna al file in un'altra istanza Vim che "il file è cambiato dopo l'inizio della modifica" e chiede se si desidera ricaricare il file (che caricare le modifiche salvate dall'altra istanza, ignorando eventuali modifiche apportate nell'istanza corrente).

5

È possibile utilizzare vim in screen.

$ screen 
$ vim 

# on another terminal 
$ screen -x 
# the same vim screen 

Se il vostro emulatore di terminale supporta la tabulazione (ad esempio gnome-terminal), è possibile utilizzarlo come un tabulazione (IMHO, gnome-terminal tabulazione supporto è meglio che la propria vim, tranne forse non è possibile copiare e incollare tra diverse sessioni vim, tuttavia è possibile utilizzare invece il buffer copia-incolla del sistema: "+ y e" + p).

Questo non funziona se stai usando gvim.

+0

Questo non rispecchierà semplicemente cosa sta succedendo? – Uri

1

Neovim è un progetto che mira a fornire funzionalità di collegamento/scollegamento di vim come tmux. Questa funzione non è stata ancora implementata (19 giugno 2015), ma potrebbe presto venire.

Ci sono molte altre funzionalità di base per questo progetto che è possibile vedere su neovim.io.

+0

Penso che da novembre 2017 questo non sia ancora implementato e non venga lavorato –