Ich verstehe nicht term
genau, wie mein Farbschema mit der Einstellung in vim interagiert, und dies behindert meine Fähigkeit, die korrekte Anzeige in neovim zu erreichen.
In meiner .vimrc-Datei muss das richtige Verhalten des betreffenden Farbschemas festgelegt werden
set term=xterm
set t_Co=256
Wenn Sie eine dieser Einstellungen weglassen, wird das Farbschema nicht korrekt angezeigt:
richtig falsch anders falsch
Das Schema sieht folgendermaßen aus:
set background=dark
hi clear
if exists("syntax_on")
syntax reset
endif
let g:colors_name="impact3"
if exists("g:impact_transbg")
hi Normal ctermfg=255 ctermbg=none
hi NonText ctermfg=DarkGray ctermbg=none
hi Statement ctermfg=Blue ctermbg=none
hi Comment ctermfg=DarkGray ctermbg=none cterm=bold term=bold
hi Constant ctermfg=173 ctermbg=none
hi Identifier ctermfg=Cyan ctermbg=none
hi Type ctermfg=DarkGreen ctermbg=none
hi Folded ctermfg=0 ctermbg=235 cterm=underline term=none
hi Special ctermfg=Blue ctermbg=none
hi PreProc ctermfg=LightGray ctermbg=none cterm=bold term=bold
hi Scrollbar ctermfg=Blue ctermbg=none
hi Cursor ctermfg=white ctermbg=none
hi ErrorMsg ctermfg=Red ctermbg=none cterm=bold term=bold
hi WarningMsg ctermfg=Yellow ctermbg=none
hi VertSplit ctermfg=0 ctermbg=0
hi Directory ctermfg=Cyan ctermbg=DarkBlue
hi Visual ctermfg=White ctermbg=Gray cterm=underline term=none
hi Title ctermfg=255 ctermbg=Blue
hi String ctermfg=Blue ctermbg=none
hi StatusLine term=bold cterm=bold,underline ctermfg=White ctermbg=Black
hi StatusLineNC term=bold cterm=bold,underline ctermfg=Gray ctermbg=Black
hi LineNr term=bold cterm=bold ctermfg=2 ctermbg=None
hi Search ctermfg=Black ctermbg=2
hi TabLine ctermfg=0 ctermbg=DarkGray
hi TabLineFill ctermfg=DarkGray ctermbg=DarkGray
else
hi Normal ctermfg=White ctermbg=Black
hi NonText ctermfg=DarkGray ctermbg=Black
hi Statement ctermfg=Blue ctermbg=Black
hi Comment ctermfg=DarkGray ctermbg=Black cterm=bold term=bold
hi Constant ctermfg=DarkCyan ctermbg=Black
hi Identifier ctermfg=Cyan ctermbg=Black
hi Type ctermfg=DarkGreen ctermbg=Black
hi Folded ctermfg=DarkGreen ctermbg=Black cterm=underline term=none
hi Special ctermfg=Blue ctermbg=Black
hi PreProc ctermfg=LightGray ctermbg=Black cterm=bold term=bold
hi Scrollbar ctermfg=Blue ctermbg=Black
hi Cursor ctermfg=white ctermbg=Black
hi ErrorMsg ctermfg=Red ctermbg=Black cterm=bold term=bold
hi WarningMsg ctermfg=Yellow ctermbg=Black
hi VertSplit ctermfg=White ctermbg=Black
hi Directory ctermfg=Cyan ctermbg=DarkBlue
hi Visual ctermfg=White ctermbg=DarkGray cterm=underline term=none
hi Title ctermfg=White ctermbg=DarkBlue
hi StatusLine term=bold cterm=bold,underline ctermfg=White ctermbg=Black
hi StatusLineNC term=bold cterm=bold,underline ctermfg=Gray ctermbg=Black
hi LineNr term=bold cterm=bold ctermfg=White ctermbg=Black
endif
In Neovim term
kann nicht festgelegt werden. Ich habe versucht, neovim mit einem manuell festgelegten $ TERM wie folgt aufzurufen:
TERM=xterm nvim
Dies führte zu einer korrekten Darstellung der Farben in regulären VIM-Dateien (entspricht der Einstellung des Ausdrucks in .vimrc). In Neovim sieht dies jedoch folgendermaßen aus:
Warum ist die Kombination von set term=xterm
und set t_Co=256
erforderlich, um die korrekte Anzeige dieses Farbschemas in vim zu erzielen, und warum führt die entsprechende Kombination von Einstellungen in neovim zu einem anderen Ergebnis?
Bearbeiten:
Die Standardeinstellung ist $TERM=xterm256-color
, die aus irgendeinem Grund xterm
in regulären Versionen überschrieben werden muss , um die Farbanzeige korrekt zu machen. Mit der Umgebungsvariablen 256 sieht neovim folgendermaßen aus:
Dies ist identisch mit regulären Vim xterm256-color
, aber nicht wie beabsichtigt. Mein Ziel ist es zu verstehen, warum der xterm-Hack in vim notwendig ist / funktioniert und warum er in neovim nicht gleich aussieht.
Beachten Sie, dass viele der Farben mit der oben genannten Einstellung für die Umgebungsvariable korrekt angezeigt werden. Besondere Ausnahmen sind Zeilennummern und Hintergrund. Ich vermute, dass die Art und Weise, wie die Farben in diesem speziellen Farbschema angegeben sind, beteiligt sein könnte.
set term=xterm
.