TMUX에서 Vim 배경에 대한 256 색 지원 구성표가 변경됩니다. 스크린

tmux에서 vim을 사용하는 동안 256 색상 지원이 활성화되어 있음을 알 수 있습니다. $ tput 색상으로

그러나 tmux에서 vim에서 색상 구성표를 변경하면 전체 배경이 아니라 라인별로 색상 구성표가 변경됩니다. 스크린 샷 참조여기에 이미지 설명을 입력하십시오

다음은 내 .vimrc 파일의 스 니펫입니다. 내 원래의 색 구성표는 어둡게 태양을 켠 다음 : colorscheme molokai를 실행하면 어떤 일이 발생하는지 알 수 있습니다.

정보

  • 그놈 터미널
  • 세게 때리다

~ / .tmux.conf에서

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

내 ~ / .vimrc에서

    set t_Co=256

내 ~ / .bashrc에

# ryan
export TERM="xterm-256color"
# ryan
alias tmux="tmux -2"

내 ~ / .profile

# ryan 256 color support
if [ -e /usr/share/terminfo/x/xterm-256color ]; then
    export TERM='xterm-256color'
  else
    export TERM='xterm-color'
  fi

vim에서 색상을 완전히 바꾸는 방법에 대한 아이디어가 있습니까? 파일의 모든 스 니펫이 잘 보이나요?



답변

.bashrc 및 .profile의 모습에서 tmux 내부의 쉘이 tmux conf의 ‘기본 터미널’설정을 재정의합니다. 이 같은:

  • tmux는 TERM=screen-256color
  • .bashrc / .profile 실행, 설정 TERM=xterm-256color
  • vim이 실행되고 tmux에 잘못된 TERM을 사용하려고합니다.

당신은 이것을 실행하여 이것을 확인할 수 있습니다

echo $TERM

신선한 tmux 쉘에서.

Tmux는 터미널을 올바르게 설정하는 데 비교적 까다 롭습니다. 가능하면 .bashrc가 아닌 gnome-terminal의 구성에서 용어 값을 설정하십시오. 실패하면 “screen”또는 “screen-256color”TERM을 확인하여 해당 설정을 둘러싸고이 경우 재설정하지 마십시오.

Tmux REALLY는 터미널을 screen또는screen-256color


답변

여기설명 된대로 tmux 및 GNU 화면에서 Vim을 사용할 때 색상 구성표가 올바르게 작동하도록 터미널 옵션 을 지우고 ( Bim 에서 실행 한 다음 + 를 눌러 터미널 표시를 새로 고침 ) BCE ( Background Color Erase )를 비활성화 하십시오 .t_ut:set t_ut=ControlL


답변

이 게시물 에서 더 나은 방법을 찾았 습니다 . tmux -2tmux가 쉘이 256 색 터미널을 사용한다고 가정 하도록 하는 tmux의 별명을 작성할 수 있습니다 .


답변

이것이 #Ubuntu와 #Mac에서 저에게 효과적이었습니다.

# File: ~/.bashrc (Ubuntu), ~/.bash_profile (Mac)
# for VIM and TMUC
if [ "$TERM" = "xterm" ]; then
  export TERM=xterm-256color
fi
alias tmux='tmux -2'  # for 256color
alias tmux='tmux -u'  # to get rid of unicode rendering problem

새로 고침 설정 :

$ 소스 ~ / .bashrc # 우분투

$ 소스 ~ / .bash_profile # Mac

Mac 용 .bashrc 설정 (tmux에서 사용됨)

# File: ~/.bashrc (Mac)
source ~/.bash_profile

~ / .tmux.conf에서 “default-terminal”옵션을 설정하십시오.

# File: ~/.tmux.conf
set -g default-terminal "screen-256color"  # Mac and Ubuntu


답변

빠른 수정은 터미널에서 다음을 실행하는 것입니다.

export TERM=xterm-color

~/.bash_profile시작시 항상 설정되도록 다른 프로필에 추가 할 수 있습니다 .


답변

gnome-terminal + tmux + vim과 매우 비슷한 문제가 있었지만 특정 키 조합 문제로 확장되었습니다. 몇 가지를 함께 결합해야했습니다. 우선 .tmux.conf를 다음과 같이 설정해야했습니다.

# Ensure terminal starts with its own colour scheme (helps Vim/Neovim themes to not break)
set -g default-terminal "xterm-256color"
# set -g default-terminal "screen-256color" # no S-Fx keys ;-(
# and ensure the key-codes are xterm alike
set -g xterm-keys on

그런 다음 .vimrc에서 :

if $COLORTERM == 'gnome-terminal'
      set t_Co=256
endif
set t_ut=

그리고 그것은 열쇠와 배경을위한 일을했습니다.


답변

여전히 문제가 발생하면 : vim t_Co=8이로 $TERM설정되어 있어도 tmux 내부의 옵션을 사용하는 것으로 돌아 왔습니다 screen-256color. 내 해결 방법은 vimrc 의이 스 니펫입니다.

if exists("$TMUX")
        set t_Co=256
        set notermguicolors
else
        set termguicolors
endif

$TMUX변수 만 TMUX 세션 내부의 경우 채워진다. 이 경우 vim에서 256 색을 사용할 수 있습니다. tmux는 트루 컬러를 지원하지 않으므로 termguicolors를 설정 해제했습니다.