2017-07-18 133 views
3

是否可以将选定文本的行号传递给外部命令?如何获取vim中选定文本的行号

背景:我想将pyfmt整合到vim中。理想情况下,我希望能够选择一些文本并输入一些快捷方式,让选定的文本重新格式化为pyfmt

到目前为止,我发现运行!pyfmt -i %将格式化整个文件。 pyfmt也支持--lines START-END选项。我希望能够将选定文本的开头和结尾的行号传递给pyfmt,以便只有我想要重新格式化的内容才能重新格式化。这可能吗?

+2

如果您有选择,您可以使用'line(''<“)'来获得最后一个选择的开始,'line(''”)'来获得最后的选择 –

+0

'pyfmt'可以用作过滤器? – romainl

回答

2

选择要格式化的行(最好是linewise,使用大写字母V进入可视模式),然后在不离开可视模式的情况下输入:!pyfmt -i

这不会给你行号。相反,它会通过命令过滤选定的行并将其替换为输出。

相关问题