2012-03-31 37 views
3

[在OS X Lion上使用MacVim 7.3]在vimscript函數輸出中顯示不需要的控制字符

我有一個運行外部命令的vimscript函數。它正確執行,但輸出顯示(不需要的)控制字符,如[0m,[33m,[36m-1H。在Vimscript中的函數相關線上:

exec ":!bundle exec rspec --color " . a:filename 

主要生產:

:!bundle exec rspec --color spec/acceptance/user_logs_in.feature 
[33m*[0m 

Pending: 
[33m User logs in [0m 
[36m # the step 'the user "[email protected]" exists' is not implemented[0m 
[36m # [0m 

Finished in 0.07121 seconds 
[33m1 example, 0 failures, 1 pending[0m 

這裏是相同的命令和輸出看起來像從終端,這是我希望它在vim顯示:任何時候我執行外部命令,vim都會立即顯示-1H。例如,如果I型:

:ls<return> 

我看到:

:ls-1H 
<rest of the output is as expected> 

上隱藏的控制字符和-1H任何想法。

(免責聲明:我很新的Vim的,所以請不要以爲就我而言有太多的背景知識。)

感謝。

更新2012年3月31日@ 17:32 PM

Sam Goldman的正確:的MacVim不知道如何顯示的顏色,所以它輸出的顏色代碼。

我已經切換到終端vim(支持顏色,至少與iTerm),但使用MacVim隨附的vim版本,它是最新的,並與紅寶石支持編譯(其他事情)。最簡單的方法是:

brew install macvim --override-system-vim 

回答

3

MacVim不知道如何顯示顏色。終端vim將正確顯示顏色,或者您可以將--no-color添加到您的rspec命令(或.rspec文件)。我不確定-1H的事情。也許你的終端有一些自定義功能?

相關問題