Vim-Farbschemata ändern nicht den Hintergrund im Ubuntu-Terminal

2

Ich habe die folgenden .vimrc :

set nocompatible              " Use vim defaults
"set ls=2                      " Always show status line
set showcmd                   " Show incomplete commands
set scrolloff=3               " Keep 3 lines when scrolling
set ruler                     " Show the cursor position all the time
set title                     " Show title in console title bar
set hid                       " Change buffer without saving
set showmatch                 " Show matching bracets

set ts=2                      " Numbers of spaces of tab character
set sw=2                      " Numbers of spaces to (auto)indent
set et                        " Tabs are converted to spaces, use only when required
set sts=2                     " Soft tab stop
set smartindent               " Smart indent
set autoindent
set nocindent
set wrap

set hlsearch                  " Highlight searches
set incsearch                 " Do incremental searching

Und wenn ich vim von meinem Ubuntu 12.04-Terminal aus öffne, sehe ich die Farben des Schemas, aber der Hintergrund ist der gleiche, mit dem ich das Terminal öffne. Ich würde sagen, der Hintergrund sollte sich ändern, aber ich weiß nicht warum.

Irgendeine Hilfe bitte?

Hommer Smith
quelle
Warum sollte sich Ihrer Meinung nach der Hintergrund ändern?
ZyX
Vielleicht, weil genau das passieren soll ?
Romainl
Welches Farbschema? Hat es so etwas wie hi Normal ctermbg=something? Welchen Befehl zum Laden des Farbschemas? Was ist die Ausgabe von $ echo $TERM?
Romainl
@romainl Ich verstehe nicht, er hat keine colorschemein seiner .vimrc. Warum soll das passieren?
keine
Wenn Ihr Farbschema eine Hintergrundfarbe definiert, soll diese anstelle der Hintergrundfarbe des Terminals angezeigt werden. Deshalb frage ich auch, wie er sein Farbschema lädt und was es ist, da ich in seinem Bild kein Farbschema sehe.
Romainl

Antworten:

1

Versuchen Sie dies, um die Hintergrundfarbe zu ändern:

:set background=dark

oder

:set background=light

So ändern Sie Ihr Farbschema:

:colorscheme name

Bearbeiten Sie beispielsweise das Farbschema und setzen Sie Hervorhebungsbefehle.

highlight Normal ctermbg='color'

vivify ist ein schöner Ort, um ein neues Farbschema zu erhalten

b3h3m0th
quelle
set background=…tut genau nichts mit hintergrund. Es teilt vim lediglich mit, ob der Hintergrund dunkel oder hell sein soll, und passt die Standardfarben entsprechend an. Funktioniert nicht für nicht standardmäßige Farben (die durch das Farbschema geändert werden). Wird automatisch geändert, wenn das Farbschema die NormalHervorhebungsgruppe neu definiert . Und übrigens hi Normal ctermbg=colorkeine Zitate.
ZyX
'farbe' steht für 'welche farbe willst du'! Ich habe Optionen angegeben, um das Problem zu lösen! Dein -1 ist zu hoch !!!
b3h3m0th
Es ist für "versuchen Sie dies, um die Hintergrundfarbe zu ändern: set background…". Es ändert nie den Hintergrund. Farbe ist kein Problem (nicht das für -1): Es ist nur ungewöhnlich, 'color'einen Platzhalter für Dinge wie zu haben Red. Es wäre üblich, wenn Sie ctermbg=coloroder verwenden ctermbg={color}. Ich weiß jetzt, dass dies auch ctermbg='Red'akzeptiert wird, aber ich sehe diese Akzeptanz nicht in :h highlight-ctermfg, sondern nur in :h highlight-guifg.
ZyX
Tatsächlich ist diese Zeile mit hi comment guifg='salmon pink'die einzige Zeile, in der :highlightin help Argumente in einfachen Anführungszeichen (mit Ausnahme der 383. Patch-Beschreibung in :h version6) verwendet werden, und ich habe auch in keinem Farbschema Zitate gesehen.
ZyX
1

Sie ~/.vimrcenthalten keine Erwähnung eines Farbschemas.

Das bedeutet entweder:

  • Sie verwenden das defaultFarbschema oder

  • Sie laden ein bestimmtes, noch nicht benanntes Farbschema manuell.

Wenn Sie das defaultFarbschema verwenden, ist das, was Sie sehen, normal . Das defaultFarbschema definiert keine Hintergrundfarbe, daher soll die Hintergrundfarbe Ihres Terminals angezeigt werden .

Wenn Sie ein bestimmtes Farbschema mit laden :colorscheme colorscheme_nameund nicht sehen, dass sich die Farben des Hintergrunds ändern, kann dies daran liegen, dass dieses Farbschema auch keine Hintergrundfarbe definiert. Sehen Sie, ob es so etwas enthält Hi Normal ctermbg=color. Aber wir können es nicht debuggen, weil Sie es nicht gepostet haben.

Ich würde auf das defaultFarbschema wetten.

romainl
quelle