2012-04-25 5 views
9

Voglio vedere l'output di un comando in una finestra di GVim che è già aperta.Come inviare comandi a gvim quando si utilizza --remote?

a guardare l'output di un comando in una nuova finestra GVim, farei:

mycommand | gvim - 

Per aprire un file una finestra esistente, farei:

gvim --remote-silent myfile 

Come li uso insieme? mycommand | gvim --remote-silent - fa non lavoro (si pensa che - sia un file nella directory corrente).

risposta

2

Prova gvim --remote-silent <(mycommand).

0

Si supponga di avere Gvim esecuzione con predefinito nomeserver GVIM, ecco un comando da eseguire :echo 'It works!' nel Gvim esecuzione:

vim --servername GVIM --remote-send ":echo 'It works!'<CR>" 

Questo comando restituisce nulla, li invia ":echo 'It works!'<CR>" al server e restituisce immediatamente.

Se è necessario evalute un'espressione e ottenere il risultato, è possibile utilizzare questo comando:

vim --servername GVIM --remote-expr "version" 

(verrà restituito il numero di versione)

vim --servername GVIM --remote-expr "2+2" 

(saranno restituiti "4")

Naturalmente, è possibile dichiarare la propria funzione in Vim e usarlo come espressione, proprio come quella:

vim --servername GVIM --remote-expr "MyOwnFunction()" 
+0

Qualcuno ha downsotato. Per favore, spiega, cosa c'è che non va qui. –