gnome-terminal, tmux 및 vim을 사용하여 태양 광 색 구성표를 얻으려면 어떻게해야합니까? 배경이 나타납니다. 내가 고치면, 나는

이것에 대해 많은 질문이 있지만 변수가 너무 많기 때문입니다. 이 작업을 수행하기 전에 여러 사이트에서 지침을 작성해야했습니다.

먼저, gnome-terminal에서 16 개의 태양열 색상 정의를 쉽게 설정할 수 없었습니다. 내가 움직 인 것을 고치면 …

그런 다음 vim에서 작동하는 색상을 태양 광으로 확인했지만 특정 강조 표시에 이상한 검은 배경이 나타납니다. 내가 고치면, 나는 움직였다 …

그런 다음 vim이 tmux 내에서 실행되면 vm wonky가 갔다는 것을 깨달았습니다. 이것은 매우 논쟁의 여지가 있지만 (대부분 설정 TERM하는 것에 대해 말하는) 답변은 거의 없습니다 xterm-256colors. 나는 결국 그것도 고쳤다.

Solarized 는 매우 멋진 팔레트입니다. (높은 대비를 선호하고 보정 된 화면에서 tmux의 ‘흰색’이 너무 노랗게 나타 났으므로 가장 어두운 기본 색상을 어둡게하고 가장 밝게 밝게했지만) 나는 보통 너무 파란색!), 그래서 나는 내 학습 결과를 공유하기 위해이 질문에 답을 게시하고 있습니다.



답변

Solarized는 매우 특정한 색상을 제공합니다. 당신은 정말 표준 256 색상 팔레트에서 이러한 색상을 만들어 낼 수 없습니다 . 이것을 달성 할 수있는 유일한 방법은 터미널 에뮬레이터에서 정확한 색상을 설정하는 것입니다. 그런 다음 앱은 표준 16 색상 (8 + 8 밝기)을 사용한다고 생각하지만 솔라 라이즈 팔레트에 정확하게 매핑되었습니다.

그놈 터미널은 팔레트 나 프로파일을 내보내거나 가져올 수있는 쉬운 방법을 제공하지는 않지만이 bash 스크립트를 사용하면됩니다.

#!/bin/sh
DARK_BG='#000014141A1A'
# original: DARK_BG='#00002B2B3636'
LIGHTEST='#FFFFFBFBF0F0'
# original: LIGHTEST='#FDFDF6F6E3E3'

gconftool-2 --set "/apps/gnome-terminal/profiles/Default/use_theme_background" --type bool false
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/use_theme_colors" --type bool false
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/palette" --type string "#070736364242:#D3D301010202:#858599990000:#B5B589890000:#26268B8BD2D2:#D3D336368282:#2A2AA1A19898:#EEEEE8E8D5D5:$DARK_BG:#CBCB4B4B1616:#58586E6E7575:#65657B7B8383:#838394949696:#6C6C7171C4C4:#9393A1A1A1A1:$LIGHTEST"
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/background_color" --type string "$DARK_BG"
gconftool-2 --set "/apps/gnome-terminal/profiles/Default/foreground_color" --type string "#65657B7B8383"

Nb. 여기에서는 Solarized의 가장 어둡고 밝은 색상을 재정의했습니다. 의견대로 원한다면 원고를 사용할 수 있습니다.

충분하다. 이제 파일을 에 배치 하여 Solarized vim colors 파일 을 설치하십시오 ~.vim/colors/solarized.vim.

이제 Vim에게와 함께 해당 색 구성표를 사용하도록 지시 할 수 있습니다 colo solarized. 그러나 이것은 효과가 없었으며 Vim에 16 색 팔레트를 사용하도록 지시해야했습니다 set t_Co=16. 내 ~/.vimrc파일 에 둘 다 붙어 있습니다.

이제 vim 색상이 작동했지만 tmux 내부에서 실행되면 작동하지 않습니다.

이 다음 비트는 매우 혼란 스럽습니다. 대부분의 조언은 TERMtmux 외부 를로 설정하는 것에 대해 말하지만 xterm-256colors, 내가 그렇게했을 때 tmux는 시작조차하지 않습니다. 그것은 나를 혼란스럽게했다. 태양 화되지 않은 것은 256 색 팔레트가 열악한 근사치라고 말하지 않습니까? 글쎄, 혼란스럽고 어쨌든 작동하지 않았으므로 다른 방법이 필요했습니다.

다음을 포함하는 파일 /tmp/foo을 작성하십시오 .

xterm-16color|xterm with 16 colors,
    colors#16, use=xterm,

그런 다음 이것을 설치하십시오 sudo tic /tmp/foo

마지막 tmux으로 다음과 같이 별칭 을 지정하십시오.

alias tmux='TERMINFO=/usr/share/terminfo/x/xterm-16color TERM=xterm-16color tmux -2'

이제 터미널, vim 및 vim-inside-tmux에서 정확한 색상을 얻습니다. Nb. 이 -2옵션은 tmux256 색상 팔레트를 사용하도록 지시 합니다. 이는 env 변수가 다르게 말하는 것처럼 보이기 때문에 실제로 혼란 스럽습니다 … 정말 모르겠습니다. 정말로 배우지 않고 걱정하지 않습니다. Just Just Works라는 아름다운 색상의 터미널이 생겼기 때문입니다.