tmux의 Vim이 잘못된 색상을 표시합니다.

tmux의 Vim이 잘못된 색상을 표시합니다.

우분투 11.10을 설치했습니다. 그런 다음 Gnome Terminal용 Solarized 테마를 다운로드했습니다. 터미널에서 내 vim은 괜찮아 보입니다. vim-powerline 플러그인이 올바르게 표시되고 구문이 적절한 색상으로 강조 표시됩니다. 하지만 tmux를 실행하고 vim을 실행하면 구문 강조 표시는 하나의 기본 색상만 사용하고 vim-powerline은 색상을 표시하지 않습니다. vim-powerline에서 FAQ를 살펴보았는데 솔루션은 .tmux-config에 다음 줄이 있어야 합니다.

set -g default-terminal "screen-256color"

하지만 작동하지 않습니다. TERM을 보니 'xterm'이 반환되었으므로 다음을 시도했습니다.

set -g default-terminal "xterm-256color"

하지만 이것도 별 도움이 되지 않습니다.

이것은 .tmux.config의 유일한 줄입니다. .vimrc에는 다음 줄이 있습니다.

call pathogen#infect()
set nocompatible
set encoding=utf-8
set laststatus=2
let g:Powerline_symbols = 'fancy'
set t_Co=256
syntax enable
set background=dark
colorsheme solarized

답변1

다음 플래그로 tmux를 시작하면 이 문제가 해결됩니다.

tmux -2

tmux 매뉴얼 페이지에서:

-2 tmux가 터미널이 256색을 지원한다고 가정하도록 강제합니다.

답변2

이것은 나에게 효과적이었습니다

~에.tmux.conf

set -g default-terminal "screen-256color"

~에.vimrc

set term=screen-256color

.vimrc의 이전 용어 값을 제거하세요. 이것이 작동할 것이라고 믿습니다.

답변3

GitHub 저장소의 최신 Solarized를 사용하여 Byobu 5.17 및 tmux 1.5를 사용하는 Ubuntu 10.04 LTS에서 동일한 문제가 발생합니다.

$TERM파일 에 다음을 지정하여 이 문제를 부분적으로 수정할 수 있었습니다 .bashrc.

export TERM="xterm-256color"

또한 런치패드에 버그가 있는 것으로 보이지만 아직 해결되지 않았습니다. byobu가 dircolor를 제대로 표시하지 않습니다.

답변4

~/.tmux.conf에서 터미널 유형을 screen-256color로 설정해야 합니다. TERM 환경 변수를 설정할 내용을 tmux에 알려주므로 현재 세션에서는 작동하지 않습니다. 새 세션을 시작한 다음 테스트하세요.

그래도 작동하지 않으면 다음을 사용하여 Vim을 실행할 수 있습니다.

TERM=screen-256color vi

이는 일회성 vi 실행을 위한 환경 변수를 설정합니다.

vim이 모든 색상을 표시하지 않으면 터미널(단지 하나의 터미널 에뮬레이터로 테스트하고 있는지 확실하지 않음)이 256 색상 팔레트를 지원하도록 컴파일되었는지 테스트하십시오. 아래 Perl 스크립트를 다운로드하여 실행하십시오. 문제의 터미널 에뮬레이터.

http://scie.nti.st/dist/256colors2.pl

추신. 나는 당신이 jordanbrock이 발견한 오타를 이미 수정했다고 가정합니다.

관련 정보