这个问题是关于在Mac OS X上使用MacVim和ZSH.
我正在使用ZSH shell并且它被配置为使用Colored提示,并且一切都与ZSH本身很好地协作.
但是,当我将此shell设置为Vim(usin :)的默认值时set shell=zsh\ -li,vim在输入或输出文本时会给出以下符号:
[35mnikhgupta[00m at [[33mMacbookPro[00m in [01;32m~[00m [00m
Run Code Online (Sandbox Code Playgroud)
虽然它应该简单地说:
nikhgupta at MacbookPro in ~
Run Code Online (Sandbox Code Playgroud)
当我输入一些文本时,我会得到相同的奇怪符号,可能是因为我正在使用为我的ZSH shell突出显示的语法.我推断这些符号是颜色代码?
有人可以帮我解决如何丢弃这些颜色代码并简单地在Vim shell中输出文本的问题吗?
问候
当您:shell从 MacVim 执行此操作时, 的值$TERM设置为dumb。您可以使用它来相应地设置您的 ZSH 环境。
不过,我不熟悉zsh,因此您需要自己编写正确的条件块。在 中bash,它看起来像这样:
if [ $TERM == 'dumb' ];
then
echo 'Special setup for MacVim'
fi
Run Code Online (Sandbox Code Playgroud)
实际上,这个问题困扰了我一段时间,所以我只是写了这个供我自己使用(在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
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1327 次 |
| 最近记录: |