33

iTerm のコマンド ラインから vim を実行すると、構文の強調表示がローカルで機能しないようです。

たとえばvimでは、MacVimで非常にうまく機能する素敵なcolorschemeをインストールしましたが、iTermでも同じものが表示されれば素晴らしいでしょう。

これをオンにする方法はありますか?

これは私が使用しようとしている配色です http://www.vim.org/scripts/script.php?script_id=2340

4

7 に答える 7

79

その配色は 256 色の端末しかサポートしていないようです。端末が 8 色しかサポートしていないと Vim が判断した場合、その特定の配色は表示されません。

Vimでこれを確認するには、次のようにします。

:echo &t_Co

それが を返す場合8、これが問題である可能性があります。で 256 に設定してみて、~/.vimrcそれが役立つかどうかを確認してください。

let &t_Co=256
于 2010-09-22T03:02:48.620 に答える
79

vim でコードの強調表示をオンにするには、構文プラグインを有効にしてみてください。

:syntax enable
于 2010-09-22T02:19:09.443 に答える
27

まだお悩みの方へ。

iTerm 2 -> 設定 -> プロファイル -> 色 -> 最小コントラスト -> 最小

設定

于 2016-03-15T13:01:17.180 に答える
13

私は以前にこの問題と関連する問題をいくつか抱えていたので、私が見つけたことを要約します。

  1. iTerm が 256 色を使用するように設定されていることを確認してください。コマンド ラインで試してみてください。$ echo $TERM表示されない場合は、この回答xterm-256colorの指示に従ってください。

  2. vimrc他の端末も処理できるようにセットアップします。たとえば、Snow Leopard の通常のターミナルは 8 色しかサポートしておらず、256 色の配色を使用しようとすると点滅します (その場合は設定していません)。ここに私が持っているものがあります:

    " enable 256 colors in GNOME terminal (for my Ubuntu VM)
    if $COLORTERM == 'gnome-terminal'
        set t_Co=256
    endif
    
    " set your color scheme (replace wombat with whatever yours is called)
    " if you're using a gvim or macvim, then your color scheme may have a version
    " that uses more than 256 colors
    if has("gui_running")
        colorscheme wombat
    elseif &t_Co == 256
        colorscheme wombat256
    endif
    
    " turn on language specific syntax highlighting
    syntax on
    
于 2012-04-27T01:51:58.100 に答える
4

この (および他の同様の) 質問のすべてのアドバイスに従ったにもかかわらず、私は最終的に、何年も前に Web 上のどこかから取得した vimrc の忘れられた部分で問題を発見し (かなりうまく構成されていたため)、その後大幅に変更しました。私自身の目的のために。

しかし、問題の領域は、最初に使用した元のファイルに戻って、私が触れたことのない設定の小さなグループにありました. 関連する .vimrc のビットは次のとおりです。

   " GVIM- (here instead of .gvimrc)
   if has('gui_running')
          set guioptions-=T               " remove the toolbar
          set lines=40                    " 40 lines of text instead of 24,
   else
           set term=builtin_ansi       " Make arrow and other keys work
   endif

当然のことながら (振り返ってみると)、その "set term" 行は物事をリセットするので、ターミナルが TERM 環境変数で報告しているタイプに関係なく、一般的な 8 色の ANSI ターミナルになります。'term' を .vimrc 内で明示的に設定することは、t_Co を直接設定するのと同じように、おそらく非常に悪い考えです。

私はこのブロック全体を削除しました (そして、gvim の設定を .gvimrc に配置しました)。それ以来、すべてが正しく機能しています。

于 2012-08-02T00:10:37.473 に答える
1

sudo vim ~/.vimrc を編集して「syntax on」を追加すると、問題が解決するはずです。

于 2021-12-29T18:24:13.300 に答える