3

この質問から: vimステータスラインの色を変更するにはどうすればよいですか? 次のように、ステータス ラインの色を変更する方法を学びました。

hi StatusLine ctermbg=3 ctermfg=4

それは問題ありませんが、開く新しいウィンドウごとにコマンドを適用するのではなく、常にすべてのウィンドウに対してそれを行うにはどうすればよいですか。これを .vimrc で行うことを期待していますが、方法がわかりません。

GUIではなくターミナルでvimを実行しています。カラースキームとして砂漠を使用しています。


ANSWER!: Ingo と Kent から提供された回答で、私が正しいことをしていると安心した後も、まだうまくいきませんでした。次に、vimrcに次の行があることを発見しました

背景を暗く設定

なぜそこにあったのかはわかりませんが、コメントアウトすると、必要なステータスラインの色が得られました.


答えではありません!:うーん、わかりました。.vimrc にその変更を加えると、vimrc を編集しているときに実際に正しい色が得られることを発見しましたが、python ファイルを編集するとステータスの色が消えます。これは filetypes=on と関係があると思いますか?

いずれにせよ、もっと考える時間ができたら、この質問を再質問する必要がありますが、「背景を暗くする」ことが問題だったようですが、それは完全な解決策ではありません.

私のvimrcは次のようになります。

配色砂漠
autocmd BufRead,BufNewFile *.py 構文
autocmd BufRead,BufNewFile *.py set ai
autocmd BufRead *.py set smartindent cinwords=if,elif,else,for,while,with,try,except,finally,def,class
タブストップを 4 に設定
展開タブを設定
shiftwidth=4 に設定
ファイルタイプのインデント
「グラウコンスタート」
:set ignorecase "デフォルトで大文字と小文字を区別しない検索を行う
:インクサーチを設定
:set hlsearch
" 貼り付けモードが有効な場合は true を返します
関数!HasPaste()
    ペーストする場合
        return '貼り付けモード'
    ja
        戻る ''
終了機能
" 常にステータス ラインを表示する
laststatus=2 に設定
" ステータス行をフォーマットする
set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l
こんにちは StatusLine ctermbg=3 ctermfg=4
"背景を暗く設定
「グラウコンエンド」
4

2 に答える 2

3

StatusLineは大丈夫だと思います(大きなS)。問題は(私が推測する)です:

hi StatusLin...を呼び出しの前に置きますcolorscheme desert。カラースキームがステータスラインの強調表示を上書きするようにします。

あなたはcolorscheme desertあなたの.vimrc

于 2013-03-27T11:10:49.837 に答える
3

まず、colorscheme が独自の定義を提供する可能性があるため、内の:hiコマンドの後にコマンドを配置する必要があります。と についても同様です。:colorscheme~/.vimrc:set background=...:syntax on

ステータスラインの色がまだ消える場合は、新しいウィンドウを切り替えたり開いたりしても(これはあなたの質問からは完全に明確ではありませんでした)、:autocmdこれを行う が必要です。次に、インストールされているプラ​​グインを確認します。

于 2013-03-27T11:06:32.253 に答える