Vim이 TMux 내에서 실행되지 않습니다


14

전체 창 vim내부를 사용하여 파일을 열려고하면 tmux동결됩니다. 로 창을 죽여야합니다 C-a &.

내 ~/.vimrc설정 은 다음과 같습니다 .

:set autoindent
:set ts=4
:set number
:set shiftwidth=4
:set showmode
:filetype on
:filetype plugin on
:syntax enable
:set mouse=a

과 ~/.tmux.conf

# I like Ctrl-a as the default hotkey
unbind C-b
set-option -g prefix C-a

# Split window using | and -
unbind %
bind | split-window -h
bind - split-window -v

# Set status bar
set -g status-bg black
set -g status-fg white
set -g status-left ‘#[fg=green]#H’

# Highlight active window
set-window-option -g window-status-current-bg red

# Makes window numbering start from 1, instead of 0
set -g base-index 1

RHEL에서 문제에 직면하고 있습니다. 그러나 동일한 구성이 내 Mac에서 제대로 작동합니다. 내 RHEL 상자가 다시 시작되고 vi 스왑 파일에서 파일을 복구하려고 할 때까지 문제가 발생했습니다.

이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

[편집] : 나는 ssh다른 상자에 들어가서 거기서 tmux뛰어 내려 노력 vi했다. 원격 박스에서 잘 작동합니다!


[나중에 추가됨] @jasonwryan의 제안 set -g default-terminal screen-256color에 따라 끝에 줄 을 추가했습니다 tmux.conf. 그로 인해 프로그램 less이 작동 하지 못했습니다 .

echo $TERM tmux 내부는 "screen"이고 외부 tmux는 "xterm"입니다.

$ TERM을 검색하면 https://wiki.archlinux.org/index.php/Tmux 로 이동 하여이 줄 set -g default-terminal "screen-256color"을의 첫 번째 줄로 추가했습니다 tmux.conf. 이것은 $TERM내부 tmux를 "screen-256color" 로 만들었습니다 . 그러나 이제 vitmux에서 시작할 때 다음 오류가 표시됩니다.

E558: Terminal entry not found in terminfo
'screen-256color' not known. Available builtin terminals are:
    builtin_riscos
    builtin_amiga
    builtin_beos-ansi
    builtin_ansi
    builtin_pcansi
    builtin_win32
    builtin_vt320
    builtin_vt52
    builtin_xterm
    builtin_iris-ansi
    builtin_debug
    builtin_dumb
defaulting to 'ansi'

문제를 해결 한 것 같습니다. set -g default-terminal xterm내 ~ / .tmux.conf의 첫 줄로 추가 되어 작동했습니다!


1
그것은 관련되지 않을 수도 있습니다,하지만 당신과 함께 TMUX 올바른 TERM을 설정해야합니다set -g default-terminal screen-256color
— jasonwryan

3
tmux 안팎에서 $ TERM으로 질문을 업데이트 할 수 있습니까?
— jasonwryan

1
tmux 외부에서 'echo $ TERM'을 실행하십시오. tmux 세션 내에서 'echo $ TERM'을 실행하십시오.
— George M

1
당신은 화면 유도체에 TMUX 기간을 설정해야합니다 참조 FAQ를 : 당신이 다른 트랙 아래 문제의 원인이됩니다 ...
— jasonwryan

1
당신은 당신의 자신의 답변을 작성하고 그것을 그것에 게시 한 다음 그것을 수락해야합니다 (완전히 받아 들일 수 있습니다).
— EightBitTony

답변:


11

줄을 추가하여 문제를 해결했습니다.

set -g default-terminal xterm

~ / .tmux.conf의 첫 번째 줄로 잘 작동했습니다.

그러나 @jasonwryan이 지적했듯이 TMUX FAQ는 다음과 같이 명확하게 설명합니다.

대부분의 디스플레이 문제는 잘못된 TERM으로 인한 것입니다! 문제점을보고하기 전에 TERM 설정이 tmux 내부 및 외부에서 올바른지 확인하십시오.

tmux TERM 내부는 "screen"또는 이와 유사해야합니다 (예 : "screen-256color"). 외부에서는 터미널과 일치해야합니다 ...

실제로이 문제를 해결 했으므로이 답변 만 게시하십시오. 다른 솔루션을 자유롭게 추가하십시오.


2

방금 작업해야했던 이전 CentOS 상자에서 동일한 문제가 발생했습니다. 나를 위해 tmux의 TERM을 xterm으로 설정하면 다른 이상한 문제가 발생했습니다. 그러나 set mouse=a.vimrc cf https://lists.gnu.org/archive/html/screen-users/2005-04/msg00039.html 에 주석을 달아서 문제를 해결할 수있었습니다.

분명히 set ttymouse=xterm2.vimrc에 추가 하면 트릭을 수행 할 수 있습니다.

비슷한 문제가 발생하는 다른 사람은 일시적으로 .vimrc를 이동하여 원인이 있는지 확인하는 것이 좋습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책과 개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.