Non ho una piena comprensione di come la mia term
combinazione di colori sta interagendo con l' impostazione in vim e questo sta impedendo la mia capacità di farlo visualizzare correttamente in neovim.
Nel mio file .vimrc, è necessario impostare il comportamento corretto della combinazione di colori in questione
set term=xterm
set t_Co=256
Se si omette una di queste impostazioni si ottiene una visualizzazione errata della combinazione di colori:
corretto errato diverso errato
Lo schema è simile al seguente:
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
non può essere impostato. Ho provato a invocare neovim con un $ TERM impostato manualmente in questo modo:
TERM=xterm nvim
Ciò ha prodotto la corretta visualizzazione dei colori in vim regolare (ovvero equivalente al termine di impostazione in .vimrc), ma in neovim è simile al seguente:
Perché la combinazione di set term=xterm
e set t_Co=256
necessaria per produrre la corretta visualizzazione di questa combinazione di colori in vim e perché la combinazione equivalente di impostazioni produce un risultato diverso in neovim?
Modificare:
L'impostazione predefinita è $TERM=xterm256-color
, che per qualche motivo deve essere sovrascritta xterm
in vim regolare per rendere il display a colori corretto. Con la variabile d'ambiente di default 256, neovim si presenta così:
Questo è identico al normale VIM con xterm256-color
, ma non come previsto. Il mio obiettivo è capire perché l'hack xterm è necessario / funziona in vim e perché non sembra lo stesso in neovim.
Si noti che molti dei colori vengono visualizzati correttamente con l'impostazione della variabile env di cui sopra, ad eccezione di numeri di riga e sfondo. Sospetto che il modo in cui i colori sono specificati in questa specifica combinazione di colori possa essere coinvolto.
set term=xterm
.