如何在 vim 中运行 cut 命令并更改正在编辑的文件的内容。我尝试跟随但没有奏效。
:r ! cut -d ":" -f 1 % > %
以及它的其他一些变体。我想使用 cut 编辑当前打开的文件,并想知道如何仅使用 vim 内部的 cut 来完成此操作。
最佳答案
它不起作用的原因是因为重定向运算符 >
使 shell 在命令执行之前截断了文件,因此 cut
看到一个空的输入文件。
您可以改为使用 :w
通过标准输入将当前缓冲区的内容通过管道传送到 cut
,然后重定向到文件:
:w ! cut -d ":" -f 1 > %
这具有 Vim 提示您重新加载文件的副作用。您可以使用不表现出此行为的替代方案,例如 substitution :
:%s/:.*//
或 filter 命令:
:% ! cut -d ":" -f 1
关于linux - 如何在vim中运行cut命令并更改当前文件,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45897140/