2012-10-17 61 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