如何在vim中运行cut命令并更改正在编辑的文件的内容。我试过以下但没有工作。
:r ! cut -d ":" -f 1 % > %
以及它的一些其他变体。我想使用剪切编辑当前打开的文件,并想知道如何使用仅在vim内部切割来实现此目的。
答案 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