I want to look at the output of a command in a GVim window that's already opened.
To look at the output of a command in a new GVim window, I'd do:
mycommand | gvim -
To open a file an existing window, I'd do:
gvim --remote-silent myfile
How do I use them together? mycommand | gvim --remote-silent - does not work (it thinks - is a file in the current directory).
Try gvim --remote-silent <(mycommand).
Assume you have Gvim running with default servername GVIM, here's a command to execute :echo 'It works!' in the running Gvim:
vim --servername GVIM --remote-send ":echo 'It works!'<CR>"
This command returns nothing, it just sends ":echo 'It works!'<CR>" to the server and returns immediately.
If you need to evalute an expression and get the result, you might use this command:
vim --servername GVIM --remote-expr "version"
(version number will be returned)
vim --servername GVIM --remote-expr "2+2"
("4" will be returned)
Of course, you can declare your own function in Vim and use it as a expression, just like that:
vim --servername GVIM --remote-expr "MyOwnFunction()"
                        If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With