私の配色がterm
vim の設定とどのように相互作用しているかを完全に理解していないため、neovimで正しく表示するための能力が妨げられています。
私の.vimrcファイルでは、問題の配色の正しい動作には設定が必要です
set term=xterm
set t_Co=256
これらの設定のいずれかを省略すると、配色が正しく表示されません。
正しく ない正しく ない
スキームは次のようになります。
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
neovimでは、term
設定できません。私は次のように$ TERMを手動で設定してneovimを起動しようとしました:
TERM=xterm nvim
これにより、通常のvim(.vimrcで用語を設定するのと同等)で色が正しく表示されますが、neovimでは次のようになります。
なぜの組み合わせであるset term=xterm
とset t_Co=256
VIMこの配色の正しい表示を生成するのに必要では、なぜ設定の等価組み合わせはneovimに異なる結果を生成しますか?
編集:
デフォルトは $TERM=xterm256-color
であり、何らかの理由xterm
で通常のvimでオーバーライドして、カラー表示を正しくする必要があります。環境変数をデフォルトの256に設定すると、neovimは次のようになります。
これはを使用した通常のvimと同じですxterm256-color
が、意図したとおりではありません。私の目標は、xtermハックがvimで必要/動作する理由と、neovimで同じように見えない理由を理解することです。
上記のenv変数設定では、多くの色が正しく表示されることに注意してください。顕著な例外は行番号と背景です。この特定の配色での色の指定方法が関係しているのではないかと思います。
set term=xterm
ます。