tmux를 실행할 때 vim에서 모든 색상이 작동하도록 하는 데 문제가 있습니다. 나는 이것이 TERM 변수 또는 256 색상과 관련된 일종의 문제라고 생각하지만 수정 없이 vim, tmux 및 iTerm에서 256 색상이 작동하도록 온라인에서 찾을 수 있는 모든 것을 시도했습니다. 작은 문제인데 심각하게 고민되네요.
다음은 iTerm을 통해 vim에서 실행되는 샘플 코드 파일입니다.
이것은 tmux 및 iTerm을 통해 vim에서 실행되는 동일한 파일입니다.
여기에 코드를 작성할 때만 배경색이 약간 일치하지 않는 것처럼 보입니다. 왜 그럴까요?
내 iTerm 터미널은 set t_Co=256
로 설정되어 있습니다 vimrc
. 내 iTerm 터미널은 로 설정되어 있습니다 xterm-256color
. 내 iTerm 터미널은 set -g default-terminal xterm-256color
다음으로 설정되어 있습니다 tmux.conf
.
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
export TERM='xterm-256color'
else
export TERM='xterm-color'
fi
내 .profile
. 이 정확한 문제는 제가 작업하는 Ubuntu 기반 시스템에서 재현되었으며 거기에서 동일한 구성 파일을 모두 사용하고 있습니다. 이는 적어도 문제가 OS/iTerm 독립적인 것으로 분리됩니다.
답변1
이것은 오래된 질문이지만 Google 검색에서 높은 순위를 차지하지만 도움이 되지 않습니다. 이것은 마침내 나에게 문제를 해결했습니다.
존재하다.tmux.conf:
set -g default-terminal "screen-256color"
set -ga terminal-overrides ",*256col*:Tc"
존재하다.vimrc:
if exists('+termguicolors')
let &t_8f = "\<Esc>[38;2;%lu;%lu;%lum"
let &t_8b = "\<Esc>[48;2;%lu;%lu;%lum"
set termguicolors
endif
답변2
뒤에 다음 줄을 추가하십시오..tmux.conf
set -g default-terminal "screen-256color"
아래 줄을 추가해야 합니다..vimrc
set term=screen-256color
마지막으로 별칭을 추가해야 합니다..bashrc
alias tmux='tmux -2'
답변3
TERM=screen-256color
tmux 내부에서는 다음과 같이 설정해야 합니다 .여기이는 tmux 내부에서만 작동하지만 tmux에서 셸을 열 때 얻는 값 이나 값을 tmux.conf
무조건 덮어쓰는지 확인하세요 .TERM
.bashrc