我该如何在vim中运行cut命令并更改正在编辑的文件内容。我尝试了以下操作但未成功。:r ! cut -d ":" -f 1 % > % 还有其他变体。我想使用剪切板编辑当前打开的文件,并想知道如何仅在vim内部使用剪切板来完成此操作。
由于重定向运算符>在命令执行前会使shell截断文件,因此cut看到的是空输入文件,所以它无法正常工作。您可以使用:w将当前缓冲区的内容通过stdin传递给cut,然后重定向到文件中。:w ! cut -d ":" -f 1 > % 这会导致Vim提示您重新加载文件。您可以使用不会表现出这种行为的替代方法,例如替换操作: :%s/:.*// 可以使用过滤命令filter: :% ! cut -d ":" -f 1