Vim은 tmux 내에서 실행되지 않습니다.

Vim은 tmux 내에서 실행되지 않습니다.

vim내부를 사용하여 파일을 열려고 하면 tmux전체 창이 정지됩니다. kill window 를 사용해야 합니다 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. 원격 상자에서 잘 작동합니다!


set -g default-terminal screen-256color[ 나중에 추가됨] @jasonwryan의 제안에 따라 tmux.conf. 이로 인해 이와 같은 프로그램을 less실행할 수 없게 됩니다.

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

$TERM 검색 Let Me Findhttps://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'

이 문제를 해결한 것 같습니다. ~/.tmux.conf의 첫 번째 줄에 추가하면 set -g default-terminal xterm작동합니다!

답변1

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

set -g default-terminal xterm

내 ~/.tmux.conf의 첫 번째 줄에서는 정상적으로 작동합니다.

그러나 @jasonwryan이 지적했듯이TMUX FAQ구체적으로 정의됨:

대부분의 디스플레이 문제는 잘못된 용어로 인해 발생합니다! 문제를 보고하기 전에 tmux 내부와 외부 모두에서 TERM이 올바르게 설정되었는지 확인하세요.

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를 일시적으로 이동하여 문제가 있는지 확인하는 것이 좋습니다.

관련 정보