vimscript怎么办!xv @i成功了

时间:2016-04-04 15:55:40

标签: bash vim

在寄存器("i)中,我有一个相对于pwd的一个或多个图像文件路径的字符串,我希望将其作为一组显示在xv中。例如如果@i包含说

' glosimgs/infcompcyme.jpg glosimgs/infcyme.jpg'  

然后我希望得到与

相同的结果
!xv glosimgs/infcompcyme.jpg glosimgs/infcyme.jpg

但无论如何我使用eval和/或精心设计的引用方案尝试使用其中一种方法。将@i未展开传递给bash,因为只要vim访问!,它就会将该行的其余部分按原样传递给bash,或者vim展开@i但对象为xv }作为一个不存在的变量。

如何让vim扩展@i,然后才将扩展的命令行传递给bash?

2 个答案:

答案 0 :(得分:1)

我猜您是手动输入外部命令,并希望以某种方式填充寄存器(@i)的内容,然后您可以输入:

:!xv <c-r>i

<c-r>Ctrl-r

然后你得到你想要的东西,如果没问题,按回车。

Ctrl-r在插入/命令模式下非常有用。您可能需要查看:h i_ctrl-r以获得更有价值的用途。

答案 1 :(得分:1)

啊,但这确实有效 让@r =&#39;!xv&#39;。@ i @r