我需要将vim中的一些选定文本作为参数值传递给curl命令。例如。我需要能够运行
curl -sSd css="body { border-radius: 5px; }" http://prefixr.com/api/index.php
来自vim的显然,“body {border-radius:5px;}”部分将是动态的。通常,在vim中选择视觉模式。
如何获取所选文本并将其作为卷曲参数传递?
答案 0 :(得分:16)
您可以使用:!
命令通过外部程序过滤所选文本。
文本被送到stdin并用stdout的结果替换。
在这种情况下,您必须使用cat和命令替换来将行作为参数提供给curl,如下所示:
:'<,'>!curl -sSd css="`cat`" http://prefixr.com/api/index.php
答案 1 :(得分:1)
目前无法测试此 所以不能100%确定它是否可行
esc ,然后是
:r ! curl -sSd="`cat`" http://prefixr.com/api/index.php`
答案 2 :(得分:1)
选择一行或多行并使用:!您可以将这些行传递给命令,例如:
所以使用sort
命令对整个文件进行排序,试试这个:ggVG!sort,在编辑器中看起来应该是这样的:
乙
C
A
: '&LT;,' &GT;排序
答案 3 :(得分:0)
对于没有免费换行符的单词,请参阅此示例以大写选定的文本:
select-region c Control-r = system("perl -pe '$=uc($)'", @")
说明:选择区域,c是(更改选择),C-r执行表达式。 注意:美元是美元下划线,但在发布后不会显示下划线。