如何在vim中获取所选文本的行号

Pay*_*ian 6 vim

是否可以将所选文本的行号传递给外部命令?

上下文:我想集成pyfmt到 vim 中。理想情况下,我希望能够选择一些文本并键入一些快捷方式以将所选文本重新格式化为pyfmt.

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

Kev*_*vin 2

选择要设置格式的行(最好逐行,使用大写V进入可视模式),然后在不离开可视模式的情况下键入:!pyfmt -i

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