2017-08-26 101 views
1

如何在vim中運行cut命令並更改正在編輯的文件的內容。我試過但沒有工作。如何在vim中運行cut命令並更改當前文件

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

和它的一些其他變體。我想使用剪輯編輯當前打開的文件,並想知道如何使用vim自身內部剪切來完成此操作。

+1

你爲什麼不使用vim功能做同樣的工作?是否有任何特別的原因引發切割? – dlmeetei

+0

的'替代命令在vi中真的很強大 –

+0

@dlmeetei正如我所說的,我想知道如何使用vim切入內容。 – Saurabh

回答

4

它不工作的原因是因爲重定向操作>使得外殼截斷執行命令文件之前,所以cut看到一個空的輸入文件。

你可以不是通過標準輸入使用:w管道當前緩衝區的內容cut,然後重定向到文件:

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

這樣做的Vim提示您重新加載該文件的副作用。您可以使用不出現此行爲的替代品,如substitution

:%s/:.*// 

filter命令:

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

使用過濾器,'!'是最簡單和最簡單的方法 –

3
:%!cut -d":" -f1 

看到:help :range!

+0

謝謝,這個工作,你可以請添加一個解釋,所以這個答案變得更加有用和完整。 – Saurabh

相關問題