[macos] tmux 모드에서 vim colorscheme을 잃으십시오

iterm2를 실행 중이며 tmux 모드에있을 때 vim에서 설정 한 색상 구성표가 표시되지 않습니다. iterm에서 설정 한 색 구성표 만. 쉘에서 vim을 실행하면 색상 체계가 올바르게 나타납니다 .tmux 모드에있을 때만 해당됩니다.

:colorscheme molokaivim에있을 때 설정을 시도했지만 (아래 스크린 샷 참조) 변경되지 않습니다. 다시 iterm2의 기본 색 구성표가 남아 있습니다.

iterm 또는 tmux.conf에 대한 설정이 누락 되었습니까? 내 dotfles는 github에 있습니다.



답변

나는 같은 문제가 있었다. 차이점은 내가 solarize그때보다 사용하고 있다는 것 molokai입니다.

이 문제를 해결하기 위해 다음에 별칭을 설정했습니다 ~/.bashrc.

alias tmux="TERM=screen-256color-bce tmux"

그리고 default-terminal옵션을 설정하십시오 ~/.tmux.conf:

set -g default-terminal "xterm"

마지막으로 $ source ~/.bashrc새 별칭을로드하십시오.


답변

@romainl이 위에서 언급했듯이 -2플래그 를 추가하여 tmux가 256 색상을 사용하도록 강요해야했습니다 .

$ tmux -2

alias tmux='tmux -2'내 bash_profile에 추가 했으므로 잊지 않습니다. 🙂


답변

나는 위의 모든 솔루션을 시도했고 마침내 나를 위해 일한 것은 다음 줄을 넣는 것입니다 .tmux.conf.

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


답변

방금 혼란이 많은 이유를 발견했습니다. 나는 여기의 다른 사람들처럼 기본 터미널 설정을 적용하는 데 어려움을 겪고있었습니다. 백그라운드에서 tmux 세션이 있다는 것을 기억했습니다. 세션을 다시 연결하고 프로세스를 종료했으며 모든 tmux 프로세스를 닫았습니다. 다음에 tmux를 다시 시작하면 기본 터미널 설정 .tmux.conf이 적용되기 시작했습니다. 다른 사람들 도이 작업을 수행하고 있는지 모르겠지만 .tmux.conf파일을 수정하기 전에 모든 tmux 프로세스를 닫는 것이 좋습니다 .

나는 어떤을 수정하지 않고 내 로컬 컴퓨터 (iTerm2와 OSX 10.9.5)에 대한 작업에 내 설정을 가지고 .bashrc.bash_profile. 모든 나는 줄을 추가했다 않았다 set -g default-terminal "xterm-256color"까지를~/.tmux.conf 모든 tmux 프로세스에 하고 다시 시작하는 것입니다.

에 대한 수정없이 똑같은 방식으로 작동하도록 원격 설정 (ssh to Ubuntu 14.04)을 받았습니다 .bashrc. 원격 컴퓨터에 추가 set -g default-terminal "xterm-256color"하고 ~/.tmux.conf모든 원격 tmux 프로세스를 다시 시작했습니다.

echo $TERMtmux 세션 내에서 Vim이보고있는 것을 테스트 할 수 있습니다 . screen모든 tmux 프로세스를 다시 시작할 때까지 값으로 계속 말하면서 xterm-256color예상대로 반영 되었습니다.

희망이 도움이됩니다.


답변

그래서 이것은 부실한 측면이지만 화면을 사용하면 종종 Home 및 End 키가 손상된다는 것을 언급 할 가치가 있습니다. 사용

export TERM="xterm-256color"

의 기능을 유지하고 색상 구성표 (또는 전력선)가 제대로 작동하도록해야합니다.


답변

우분투 터미널의 tmux와 Windows의 cygwin / mintty를 올바르게 표시하려면 vim이 필요했습니다. 나는 이와 같은 대답을 결합하여 작동하도록했습니다.

.bashrc에서 :

alias tmux="tmux -2"

.vimrc에서 :

" use 256 colors in terminal
if !has("gui_running")
    set t_Co=256
    set term=screen-256color
endif

" fix cursor display in cygwin
if has("win32unix")
    let &t_ti.="\e[1 q"
    let &t_SI.="\e[5 q"
    let &t_EI.="\e[1 q"
    let &t_te.="\e[0 q"
endif

이 질문에서 응답에 따라 이 빔 위키 페이지이 블록 커서 질문


답변

위의 모든 지침을 시도했으며 가장 중요한 것은 .bashrc 파일에 다음 줄을 명시 적으로 추가해야한다는 것을 알았습니다.

export TERM=screen-256color

별칭 tmux = “TERM = screen-256color-bce tmux”가 작동하지 않는 이유를 모르겠습니다. Sierra 10.12.1을 사용합니다.