在Windows內部Vim中,我試圖通過shell可執行文件過濾文件中的行。我使用下面的命令:在Windows上通過外部程序過濾行不會返回任何內容
:0,$!sort
的想法是,我將使用Windows sort
命令文件的行進行排序。
的問題是,我得不到任何回報。因此,有效的,文件中的所有行都被刪除,即它們什麼也沒有(我可以使用撤消ü恢復所有的行)所取代。的Vim
外,下面的命令正常工作:
type sort-lines.txt | sort
( 「排序lines.txt」 是我用VIM工作的測試文件。)
我已經嘗試使用Windows sort
命令以及Cygwin sort
命令。結果是一樣的。
有趣的是,如果使用在Vim的以下命令:
:0,$!dir
的文件的行替換爲dir
命令的輸出。這使我認爲外部程序正在執行,但它沒有正確接收來自文件的輸入行。
是否有需要在我的配置中進行調整以使其工作?我檢查Vim的shellpipe
選項的值,並將其設置爲:
shellpipe=>%s 2>&1
這看起來不正確我。
可能是行不會被刪除。空行將顯示在頂部。你檢查了文件的最後一行嗎? –