我想从 vim 运行系统命令(:help :!
),并且我想将字符串变量的内容作为该命令的标准输入传递。
我已经知道我可以将当前缓冲区中的行作为标准输入传递 https://stackoverflow.com/q/7867356/1523582 (see :help :w_c
)。但我不想修改当前的缓冲区,也不想创建新的缓冲区。
我知道我可以将字符串写入临时文件,然后通过管道将该文件作为输入并将其删除。目前,这是我所知道的适合我的应用程序的最佳解决方案。但一开始就避免创建该文件会更干净。
能做到吗?
所以基本上,你有一个变量,比如说一个字符串,你想将此变量传递给外部命令,并在变量而不是缓冲区中获取返回值。
如果以上是正确的,你可以这样做,请看下面的例子:
let s="vim is good"
let r=system("sed 's/good/the best/'",s)
echo r
"display vim is the best
echo s
"display vim is good
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)