gnome-terminal, tmux 및 vim과 함께 사용할 일광 색상 구성표를 얻으려면 어떻게 해야 합니까?

gnome-terminal, tmux 및 vim과 함께 사용할 일광 색상 구성표를 얻으려면 어떻게 해야 합니까?

이 문제를 둘러싸고 많은 질문이 있지만 변수가 너무 많기 때문입니다. 이 작업을 시작하기 전에 저는 여러 웹사이트에서 지침을 모아야 했습니다.

첫째, gnome 터미널에서 16개의 태양광 색상 정의를 쉽게 설정할 수 없었습니다(수동으로/한 번의 클릭으로 수행했지만 순서/매핑이 정확하지 않다는 것을 깨달았습니다). 일단 그걸 확립하고 계속 진행했습니다 ...

그런 다음 vim에서 햇볕에 탄 색상을 사용했는데 제대로 작동했지만 일부 하이라이트에서 이상한 검정색 배경이 나타났습니다. 그 문제를 해결한 후 계속 진행했습니다.

그러다가 tmux에서 실행하자 vim이 이상하게 행동하기 시작했다는 것을 깨달았습니다. 이것은 널리 논의되었지만 (주로 setup 에 관한 TERM) 답변 중 xterm-256colors나에게 도움이 된 답변은 거의 없었습니다. 저도 드디어 이 문제를 해결했습니다.

햇볕에 탐매우 좋은 팔레트입니다(비록 가장 어두운 기본 색상을 어둡게 하고 가장 밝은 색상을 밝게 했지만 더 높은 대비를 선호하고 보정 화면에서 tmux의 "백색도"가 노란색으로 너무 많이 나타났습니다. 일반적으로 보정되지 않은 일반적인 노트북 화면에서는 괜찮을 것입니다. 일반적으로 너무 파란색이기 때문입니다) !) 그래서 제가 배운 내용을 공유하기 위해 이 질문과 답변을 게시합니다.

답변1

햇빛에 노출되면 매우 특정한 색상이 생성됩니다. 너이 색상은 표준 256 팔레트에서는 실제로 구현할 수 없습니다.. 이를 달성하는 유일한 방법은 터미널 에뮬레이터에서 정확한 색상을 설정하는 것입니다. 그런 다음 응용 프로그램은 표준 16 색상(8 + 8 밝은 색상)을 사용하고 있다고 생각하지만 이러한 색상은 Solarized 팔레트에 정확하게 매핑됩니다.

Gnome Terminal은 팔레트나 프로필을 내보내거나 가져오는 매우 쉬운 방법을 제공하지 않지만 다음 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"

니오브. 여기에서는 Solarized의 가장 어두운 색상과 가장 밝은 색상을 다루었습니다. 댓글에 표시된 대로 원하시면 원본을 사용해도 됩니다.

충분하다. 지금 설치햇볕에 쬐인 vim 컬러 파일이 파일을 ~.vim/colors/solarized.vim.

이제 Vim에게 해당 색 구성표를 사용하도록 지시할 수 있습니다 colo solarized. 하지만 그게 제대로 작동하지 않아서 Vim에게 16색 팔레트를 사용하라고 지시해야 했습니다 set t_Co=16. 나는 이 두 가지를 모두 ~/.vimrc내 파일에 넣었습니다.

이제 vim 색상은 작동하지만 tmux 내에서 실행되는 경우에는 작동하지 않습니다.

다음 부분은 매우 혼란 스럽습니다. 대부분의 제안에서는 TERM외부 tmux를 설정하라고 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에서 색상을 수정하세요. 니오브. 이 -2옵션은 tmux256 팔레트를 사용하라고 지시하는데, 이는 환경 변수가 다르게 지시하는 것 같아서 정말 혼란스럽습니다... 정말 모르겠습니다. 유감스럽게도 이 지식 곡선을 배우고 싶지도 않습니다. 이제 잘 작동하는 멋진 색상의 터미널이 생겼기 때문입니다.

답변2

나는 또한 이 프로젝트를 발견했습니다:

https://github.com/sigurdga/gnome-terminal-colors-solarized

팁 고마워 :-)

관련 정보