如何在vim中运行cut命令并更改当前文件

时间:2017-08-26 15:46:20

标签: linux vim cut

如何在vim中运行cut命令并更改正在编辑的文件的内容。我试过以下但没有工作。

:r ! cut -d ":" -f 1 % > %

以及它的一些其他变体。我想使用剪切编辑当前打开的文件,并想知道如何使用仅在vim内部切割来实现此目的。

2 个答案:

答案 0 :(得分:5)

它不起作用的原因是因为重定向操作符>使得shell在执行命令之前截断文件,因此cut看到空输入文件。

您可以使用:w通过stdin将当前缓冲区的内容传递给cut,然后重定向到文件:

:w ! cut -d ":" -f 1 > %

这会产生Vim的副作用,提示您重新加载文件。您可以使用不会表现出此行为的替代方案,例如substitution

:%s/:.*//

filter命令:

:% ! cut -d ":" -f 1

答案 1 :(得分:3)

Series 0 Employees: 5
Series 0 Start: 1
Series 0 End: 7
Series 1 Employees: 3
Series 1 Start: 9
Series 1 End: 12

请参阅Series 0 Employees: 5 Series 0 Start: 1 Series 0 End: 5 Series 1 Employees: 3 Series 1 Start: 10 Series 1 End: 5