터미널에서 Colorscheme의 배경이 올바르지 않습니다


13

나는 태양 광 색채와 팔레트를 가져 왔습니다. 터미널에 올바른 색상과 배경이 있고 gvim에 올바른 색상과 배경이 있지만 vim에 잘못된 색상이 있습니다. 텍스트는 모두 정확하지만 배경은 순수한 검정색으로 나타납니다.

이것은 터미널, GVim 및 Vim의 비교입니다

내 .vimrc는 다음과 같습니다.

syntax enable

if has('gui_running')
    set background=dark
else
    set background=dark
endif

:set t_Co=256
let g:solarized_termcolors=256
colorscheme solarized

누군가 이것이 이것을 일으킬 수있는 것에 대한 제안이 있다면, 나는 많은 의무를지게 될 것입니다. 기본 터미널로 xubuntu를 실행합니다.

또한 조명 옵션으로 인해 Vim의 배경이 매우 노란색으로 나타납니다.


1
"[m] y 터미널의 색상과 배경이 정확합니다"라는 말 은 터미널에서 Vim에 대한 특정 조언 을 따랐다는 의미 입니까?
앤드류

2
나는 조언을 따랐다. @Andrew. 그래도 감사합니다.
Oberdiear

@Oberdiear Andrew가 링크하는 조언은 태양열 색상을 사용하고 옵션을 사용 하지 않도록 터미널을 설정해야한다는 설명입니다 g:solarized_termcolors=256. 터미널에서 태양 광 색상을 사용하는 것이 좋으면이 방법이 훨씬 효과적입니다. 귀하의 질문의 텍스트는 것을 의미 터미널의 솔라리 색상을 사용하기 때문에이 경우에, (당신이하는 것처럼 나에게 보이지 않는 표시 스크린 샷이 있지만), 왜 당신이 사용하고있는 설정 g:solarized_termcolors=256설정을?
Rich

어떤 터미널을 사용하고 있습니까? 에 대한 이 스크립트gnome-terminal있습니다.
wchargin

@Rich, 팔레트가 올바르게 설정되지 않은 것 같습니다. Xfce Terminal에 올바르게 설정하는 방법을 알고 있습니까?
Oberdiear

답변:


10

이것이 일어날 수 있다고 생각하는 두 가지 이유가 있습니다.

  1. 당신은 선언하지 않고 사용하고있는 솔라리 색상 ctermfgctermbg특징의 당신은 강조하고 싶다. 이 밖으로 시도 색 구성표를 , 터미널과 gvim을 내부 모두 본질적으로 같은 찾아야한다 이러한 경우 당신은 선언하는 색상 사용으로 볼 필요가 있습니다 ctermfgctermbg.

  2. 터미널 에뮬레이터가 표시하려는 색상을 지원하는지 확인해야합니다.


이 두 가지가 동시에 발생할 수 있지만 시스템에 대한 추가 정보 없이는이를 진단하기가 어렵습니다.


desert256은 잘 작동하지만 나는 큰 팬이 아닙니다. TERM변수가 잘못 되었다고 생각 하지만 변경 방법을 모릅니다.
Oberdiear

2
ncurses-term을 설치했습니다. 그런 다음 명령을 실행했습니다. 그것을 실행 한 후 모든 텍스트가 회색이되고 배경이 검은 색입니다.
Oberdiear

1
export TERM=xterm+256color"color s "(복수)가 아닌 이어야합니다 . 또한, 나는 그 있다고 생각해야한다 xterm-256color, NOT "** + ** 256color;.하지만 솔라리와 사용에 대한 잘못된 특히 수 있습니다에 따르면 이 대답 ,# Entries with embedded plus signs are designed to be included through use/tc capabilities, not used as standalone entries.
에드워드

export TERM=xterm+256colorOSX에서zle-line-finish:echoti:1: no such terminfo capability: rmkx
Xeoncross

나는이 정확한 문제를 export TERM=xterm+256colors겪었고 vim이 태양 광을 감지하여 터미널의 상태와 동일한 배경색을 사용하도록 도왔습니다.
Shyam Habarakada

5

좋은 소식입니다. @Tom과 @Rich는 나를 올바른 길로 안내했습니다. 여기에 제공된 솔루션을 찾았 습니다 . .vimrc를 단순으로 설정했습니다.

syntax enable
set background=dark
set t_Co=16
colorscheme solarized

이것은 모든 것을 고치는 것 같습니다. 글꼴 예제 에서 색상이 밝지 않은 것처럼 보이지만 그것은 나에게 아주 좋을 수 있습니다. Solarized colorscheme을 사용하고 xfce4 터미널을 사용하려는 사람에게는 terminalrc와 .vimrc를 변경하면 내 주요 문제를 해결하는 것처럼 보였습니다. 도와 주셔서 감사합니다!


1
set t_Covimrc에 줄이 필요하지 않습니다 : Vim은 터미널 에서이 값을 읽을 수 있습니다 (설정 't_Co'은 약간의 Vim화물 컬트 인 것 같습니다 : 많은 사람들이 온라인에서 많은 사람들이 해결하려고하는 문제를 이해하지 않고 권장합니다. .)
Rich

"screen"과 "tmux"라고 말하겠습니다. 이러한 도구는 $ TERM 변수를 변경하여 vim이 필요한 정보를 읽을 수 없도록합니다.
NieDzejkob

@NieDzejkob 터미널 멀티플렉서를 사용하고 터미널을 올바르게 구성 할 수 있습니다.
Rich

@Rich 터미널 쪽의 올바른 수정 내용이 무엇인지 설명해 주시겠습니까? tmux를 사용 $TERM=screen하고 있으며 설정하면 t_Co=16실제로 시각적 문제가 해결되지만 관계가 무엇인지 먼저 알고 싶습니다.
ffledgling

@ffledgling하고 싶습니다. 약간의 앞뒤로 필요할 수 있으므로 채팅에 참여해주세요 .
리치

4

나는 이것이 colorscheme터미널과 의 호환성 문제라고 생각합니다 . 플러그인 csaprox은이 문제를 기적적으로 해결합니다.

개요:

터미널 Vim의 색상 표를 찾기가 어렵습니다. 대부분의 색상 화학은 GVim 만 지원하도록 작성되었으며 터미널 Vim에서는 전혀 작동하지 않습니다.

이 플러그인은 터미널이 88 또는 256 색을 지원하는 한 GVim 전용 색상을 Just Vim에서 작동하도록합니다. 일반적으로 사용자 상호 작용이 필요하지 않습니다 (단, 작동하지 않는 경우 수행 할 작업에 대한 도움말 참조). 이 플러그인을 행복하게 설치 한 후에는 사용할 :colorscheme때 마다 마법이 작동하고 색상이 제대로 작동합니다.

플러그인에 대한 링크 :


1
이 플러그인은 유용한 플러그인이지만 태양열 색상 체계는 이미 16 색 및 256 색 터미널 모두에서 터미널 Vim에서 작동하기 위해 상당한 노력을 기울이고 있으므로 도움이되지 않습니다.
Rich

4

태양 광 터미널 -Vim 색상 표는 두 가지 방법 중 하나로 작동 할 수 있습니다.

  1. 16 컬러 모드 : 솔라 라이즈는 16 컬러 만 포함하므로이 모드에서는 터미널 을 솔라 라이즈 컬러를 16 컬러로 사용하도록 설정 하면 Vim 컬러 케미칼은이 컬러를 사용합니다. 예를 들어 Vim colorscheme은 터미널 색상 "1"을 요청하고이를 16 진 색상 # dc322f로 표시합니다.

  2. 256 색 팔레트에서 256 색과 가장 일치하는 16 색을 선택합니다.

이전 방법은 저자 (및 본인) 가 강력하게 권장하며, "터미널에 올바른 색상과 배경이 있습니다"라고 말했기 때문에이 방법을 사용 하는 것이 좋습니다 .

그러나 스크린 샷에서 터미널 에 올바른 색상이 설정되어 있지 않은 것으로 보입니다 . (흰색은 태양열 세트의 색상이 아니며 스포이드하지 않았지만 스크린 샷의 다른 텍스트 색상은 태양 화 된 "바이올렛"(# 6c71c4)처럼 보이지 않습니다.)

당신이 선이 설정을 제거하는 경우 t_Cog:solarized_termcolors귀하의 vimrc의 *에서, 제대로 터미널 색상을 구성, 당신은 16 색 색상 구성표 일에 시작됩니다 솔라리 것을 발견한다.

*이 라인들은 256 색 모드를 사용하여 태양열로 전환됩니다. 이해야 또한 작업, (나는 의심 @Jubal가 기원전 제안에 올바른 문제 여기에있다 ),하지만 당신은 명시 적으로하지 않는 한 16 색 모드는 바람직 하지 않습니다 터미널에서의 솔라리 사용하고 싶습니다.


나는 당신이 완전히 올바른 길을 가고 있다고 생각합니다. 팔레트가 올바르게 설치되지 않은 것 같습니다. 그 과정을 안내해 줄 수 있습니까? 모든 도움을 주셔서 감사합니다, @Rich.
Oberdiear

1
첫 번째 링크가 이제 종료 된 것 같습니다.
akozi

@azoki 감사합니다. Solarized 사이트가 (재) 건설중인 것 같습니다. 당분간 github 저장소를 가리 키도록 링크를 변경했습니다.
Rich

3

답을 찾은 것 같습니다. 나는이 같은 문제가 있었고 위의 아무것도 작동하지 않았다. 무엇 나를 위해 일한 것은 사용했다 언쟁의를terminalrc 반대로, sgerrand의 .

내 관련성 vimrc은 간단합니다.

syntax enable
set background=dark
colorscheme solarized

누군가를 돕는 희망!


1

그래서 이것은 저에게 효과적입니다 (xterm, konsole, gnome-terminal, iterm2, roxterm – gvim 및 macvim과 함께 Linux 및 OS X 모두에서 사용했던 모든 터미널에서).

" no other configuration than this needed for solarized
colorscheme solarized
highlight SpecialKey ctermfg=11 ctermbg=8

if &term =~ '256color'
  " Disable Background Color Erase (BCE) so that color schemes work
  " properly within 256-color terminals
  set t_ut=
endif

이것은 t_Co = 16 설정과 비슷한 문제를 일으켰습니다. 팔레트에 문제가 있다고 확신하지만 아직 파악하지 못했습니다.
Oberdiear

어떤 터미널 에뮬레이터를 사용하고 있습니까? 올바르게 기억한다면, 곤솔의 내장형 태양열 구성을 완전히 사용할 수 없으며 원래 태양열 저장소의 설정을 사용해야합니다…
Jubal

Xfce 터미널을 사용합니다.
Oberdiear

나는 그것이 일했다고 생각한다 : 태양 xfce-terminal git 저장소가 아닌 터미널 환경 설정에서 태양 사전 설정을 사용하면서 TERM을 xterm-256color로 강제로 시도하십시오. 이것은 위의 BCE 핵과 함께 xfce4 터미널의 트릭을 수행했습니다.
Jubal

(기본 터미널 에뮬레이션 글꼴 렌더링 에는 여전히 비린내가 있지만 Linux에서 왜 오래된 오래된 xterm으로 돌아 갔는지 상기시켜
봤습니다

0

이것은 작업하기가 어려웠으며 (Linux Mint에서 터미널 Vim을 사용합니다) 불행히도 나는 내가 한 모든 일의 세부 사항을 기록하지 않았습니다. 내 vimrc의 관련 섹션은 다음과 같습니다.

syntax enable
set background=dark
set t_Co=16
colo solarized

GitHub에서이 프로젝트를 확인하는 것도 좋습니다.


t_Co = 16으로 설정하면 색상이 예상 한 것과 크게 달라집니다. 또한 기본 Xubuntu 터미널은 Xfce-Terminal입니다.
Oberdiear

@Oberdiear t_Co = 16을 설정하면 (g : solarized_termcolors 변수를 설정하지 않은 상태로) 색상에 영향을 주면 터미널 색상이 태양 광을 사용하도록 올바르게 설정되지 않은 것입니다. 터미널 색상은 어떻게 설정합니까?
Rich

0

나를 위해 일한 것은 설정 의이 부분을 제거하는 것이 었습니다.

if has('gui_running')
   set background=dark
else
   set background=dark
endif

xfce4 터미널을 실행 중입니다


0

나도이 문제가 있었다 xfce-terminal.

약간의 연구 끝에이 버그를 발견 했습니다 . $TERMXFCE 터미널에서 설정 한 내용 은 무시됩니다.

나는 이것이 XFCE 터미널 (여전히 GTK + 2 기반)이 사용 하는 기본적이고 유지 관리되지 않은 오래된 VTE 라이브러리 의 버그라고 생각 합니다. 내재적으로 새로운 VTE 라이브러리를 사용하는 GTK + 3 터미널로 전환 하면 문제가 해결되었습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.