如何在使用--remote时向gvim发送命令?

时间:2012-04-25 07:32:41

标签: vim pipe

我想查看已经打开的GVim窗口中命令的输出。

要查看新GVim窗口中命令的输出,我会这样做:

mycommand | gvim -

要打开现有窗口的文件,我会这样做:

gvim --remote-silent myfile

我如何一起使用它们? mycommand | gvim --remote-silent - 工作(它认为-是当前目录中的文件。)

2 个答案:

答案 0 :(得分:2)

尝试gvim --remote-silent <(mycommand)

答案 1 :(得分:0)

假设您使用默认服务器名GVIM运行Gvim,这是在运行Gvim中执行:echo 'It works!'的命令:

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

此命令不返回任何内容,只是将“:echo 'It works!'<CR>”发送到服务器并立即返回。

如果您需要评估表达式并获得结果,可以使用以下命令:

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

(将返回版本号)

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

(“4”将被退回)

当然,您可以在Vim中声明自己的函数并将其用作表达式,就像那样:

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