web-dev-qa-db-ja.com

vimとパテで配色を使用する

VIM 7.0 on CentOS 5.6 x64 on here)で砂漠の配色を使用しようとしています:

http://hans.fugal.net/vim/colors/desert.vim

ファイルをダウンロードし、~/.vim/colorsディレクトリに保存しました。次に、VIMに次のコマンドを実行して配色を使用するように指示します。

:colors desert

これは次のようになるはずです。

enter image description here

しかし私はこれを得ます:

enter image description here

PuTTY 0.60を使用して、通常のユーザー(rootまたはSudoではなく)としてこのサーバーにログオンし、Window -> Coloursで次のオプションを設定しました。

端末でANSI色を指定できるようにする-チェックあり
端末で256色モードを使用できるようにする-チェックあり
太字のテストは別の色です-チェックあり
論理を使用しようパレット-チェックなし
システムカラーを使用-チェックなし

私がSudoまたはrootとしてログオンして同じことを試しても、黒い背景に白いテキスト以外の色がまったく表示されません。

これらのスキームは主にgVIMを目的としていますか?PuTTYはこれらの色を表示できませんか?

私は少しグーグル検索して this one のような記事にぶつかりましたが、動作しないようです。

16
Kev

デフォルトでは、PuTTYはxtermとして表示されます。 terminfoデータベースは、端末の機能を判別するためにさまざまなプログラムによって使用され、xtermは8色のみをサポートすると言います。

$ infocmp -1L xterm | grep max_colors

つまり、Xtermのバージョンが256色モードをサポートしている場合でも、プログラムはそれを認識しません。

  • 最も簡単な修正は、$ TERM環境変数をxterm-256colorに設定することです。

    (〜/ .profileでは、次のように使用できます:
    if [ "$TERM" = xterm ]; then TERM=xterm-256color; fi

  • 構成→接続→データ→端末タイプ文字列を介して、PuTTYに常に自身をxterm-256colorとして識別するように指示できます。 。

    注:#1または#2を使用していて、適切なterminfoエントリがないサーバーに接続すると、すべてのTUIプログラムが機能しなくなります。

  • Vimの't_Co'オプションを256に設定して、terminfo値を上書きすることもできます。

    if &term == "xterm"
        set t_Co=256
    endif
    
  • または、terminfoデータベースを編集できます。

    $ infocmp -L -1 xterm | sed -r 's/(max_colors)#[0-9]+/\1#256/' > /tmp/xterm
    $ tic /tmp/xterm
    

    更新されたエントリは~/.terminfoに保持されます。

23
user1686