8

この質問は、 Mac OS XでMacVimZSHを使用することに関するものです。

私は ZSH シェルを使用しており、色付きのプロンプトを使用するように構成されており、すべてが ZSH 自体でうまく機能します。

ただし、このシェルを Vim のデフォルトに設定すると (usin: set shell=zsh\ -li)、vim はテキストの入力または出力時に次の記号を表示します。

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

それは単に言うべきですが:

nikhgupta at MacbookPro in ~

テキストを入力すると、同じ奇妙な記号が表示されます。おそらく、ZSH シェルでその場で構文の強調表示を使用しているためです。これらのシンボルはカラーコードであると推測しましたか?

これらのカラー コードを破棄し、単にテキストを Vim シェルに出力する方法を教えてもらえますか?

よろしく

4

1 に答える 1

2

:shellMacVim から実行すると、 の値が$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
于 2012-11-14T16:18:07.310 に答える