2013-11-03 20 views
2

我的工作包含乳膠風格的註釋(以%開始行)普通文本的文本文件。爲了確定該文件的非註釋的字數,我在擊運行此命令:WC輸出不同內/外VIM

grep -v "^%" filename | wc -w 

返回約的話我期望的數量。但是,如果從VIM內運行此命令:

:r! grep -v "^%" filename | wc -w 

它輸出的字數其中包括評論,但我想不出爲什麼。

例如,與本文件:

%This is a comment. 
This is not a comment. 

運行從外部VIM返回5的命令,但在vim打開文件並運行類似命令打印9.

我也被有問題讓VIM前面加上一個「%」,以命令的輸出,但如果輸出是錯誤的,反正,這個問題變得無關緊要。

回答

1

%字符是在vi特殊。它被替換爲當前文件的文件名。

試試這個:

:r! grep -v "^\%" filename | wc -w 

和以前一樣,但反斜槓逃逸的%。在我的測試就在剛纔,你的榜樣:r!命令打印9,因爲它爲你所做的,和上面印着5