gpt4 book ai didi

vim - ZSH - Vim/MacVim 内正确的 Shell 输入/输出

转载 作者:行者123 更新时间:2023-12-01 23:09:24 29 4
gpt4 key购买 nike

这个问题是关于在 Mac OS X 上使用 MacVimZSH

我正在使用 ZSH shell,它被配置为使用彩色提示,并且一切都与 ZSH 本身配合得很好。

但是,当我使用 Vim 将这个 shell 设置为默认 shell 时(使用:set shell=zsh\-li),vim 在输入或输出文本时会给出以下符号:

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

虽然它应该简单地说:

nikhgupta at MacbookPro in ~

当我输入一些文本时,我得到了相同的奇怪符号,可能是因为我在 ZSH shell 中使用动态语法突出显示。我推断这些符号是颜色代码?

有人可以帮助我如何丢弃这些颜色代码并简单地在 Vim shell 中输出文本吗?

问候

最佳答案

当您从 MacVim 执行 :shell 时,$TERM 的值将设置为 dumb。您可以使用它来相应地设置您的 ZSH 环境。

不过,我不熟悉 zsh,因此您需要自己编写正确的条件 block 。在 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

关于vim - ZSH - Vim/MacVim 内正确的 Shell 输入/输出,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12942781/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com