gnome-terminal, tmux 및 vim을 사용하여 태양 광 색 구성표를 얻으려면 어떻게해야합니까?


25

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

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

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

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

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


나는 xterm-256color (GNOME 터미널이 아닌), tmux 및 vim을 사용 하며이 많은 후프 근처에서 뛰어 넘을 필요가 없다는 것을 기억하지 않습니다. 내가해야 할 유일한 일은 터미널을 솔라리스 화하고 (xterm은 프로파일 대신 XResources를 사용함) 알아 내고 추가하는 데 약간의 고통이 solarized.vim있었고 모두 설정되었습니다.
jw013

답변:


24

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라는 아름다운 색상의 터미널이 생겼기 때문입니다.


set t_Co=16나를 위해 트릭을했다. 해당 옵션 구문을 설정하기 전에 hightlighting이 전혀 작동하지 않았습니다.
Koraktor

2
텍스트 편집기에서 16 가지 색상을 사용하려면 얼마나 많은 작업이 필요합니까?

참고 : Gnome Terminal 3.18.3 (Ubuntu 16.04)에서는 더 이상 작동하지 않습니다. 색상을 받아들이지 않고 vim의 t_Co = 256을 사용하면 더 나은 결과를 얻을 수 있습니다.
artfulrobot

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