问题描述
|
既然我的google-fu让我失败了,谁能给我一个简单的示例,说明如何使用
--remote-expr
或任何其他命令行技巧将文本插入当前缓冲区或设置cfile。 (任何:-command都会很好。)
我设法用--remote-expr
得到的所有东西都是E449: Invalid expression received
。
解决方法
:help E449
将您带到一个基本示例。不幸的是,这有点太基础了:
remote_expr({server},{string} [,{idvar}])
例子:
:echo remote_expr(\"gvim\",\"2+2\")
:echo remote_expr(\"gvim1\",\"b:current_syntax\")
在命令行中,这变成了
$ vim --servername \"gvim\" --remote-expr \"2+2\"
4
要了解使用表达式可以做什么,请参阅:help expr
。
命令Vim从命令行插入文本
最好使用--remote-send
发送键序列的方式与使用map
或abbr
的方式类似:
$ vim --servername Foo --remote-send \"GoHello world! <ESC>\"
将在活动窗口的缓冲区末尾添加新行。
, 如果要执行命令,假设为:ls
,以获取缓冲区列表,则可以执行以下操作
vim --servername GVIM --remote-expr \"execute(\\\"ls\\\")\"
这将打印GVIM服务器中所有缓冲区的列表。请注意转义的引号。