[在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