2012-10-17 91 views
8

這個問題內部正確殼牌輸入/輸出是關於使用的MacVimZSH的Mac OS XZSH - VIM /的MacVim

我使用的是ZSH外殼,它被配置爲使用彩色提示,並且一切都很好地與ZSH本身配合使用。

然而,當我把這個殼是我默認的Vim(全光照:set shell=zsh\ -li),輸入或輸出文本時VIM使我有以下符號:

[35mnikhgupta[00m at [[33mMacbookPro[00m in [01;32m~[00m [00m 

而應該簡單地說:

nikhgupta at MacbookPro in ~ 

當我輸入一些文本時,我得到了相同的奇怪符號,可能是因爲我正在爲我的ZSH shell使用動態語法突出顯示。我推斷這些符號是顏色代碼?

有人可以幫助我如何放棄這些顏色代碼,並簡單地輸出文本在Vim shell?

問候

+0

是您目標是使用突出顯示_inside_ Vim的彩色語法? – jahroy

+0

no ..相反,我想在Vim中刪除shell命令(':sh')中的所有顏色語法(它存在於我的登錄ZSH shell中)。 – Stoic

+0

GUI Vim(MacVim)或CLI Vim?在GUI Vim中沒有辦法做到這一點,它沒有內置的外殼能夠顯示顏色,也沒有理由在CLI Vim中中斷它。 – romainl

回答

2

當您從做的MacVim :shell$TERM的值設置爲dumb。您可以使用它來相應地設置您的ZSH環境。我不太熟悉zsh,所以你會自己編寫正確的條件塊。在bash,它看起來就像是:

if [ $TERM == 'dumb' ]; 
    then 
    echo 'Special setup for MacVim' 
fi 

其實,這個問題竊聽我過了一段時間,所以我剛剛寫了這個我自己用的(在bash):

if [ $TERM == 'dumb' ]; 
    then 
    # no colors 
    export PS1="\n\w\n\u $ " 
    else 
    # colors 
    export PS1="\n\[\033[32m\]\w\n\[\033[1;31m\]\[\033[1;36m\]\u\[\033[0m\] $ \[\033[0m\]" 
fi