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