Vim não rodando dentro do tmux

12

Quando tento abrir um arquivo usando vim dentro de tmux , toda a janela congela. Eu tenho que matar a janela com C-a & .

Aqui estão as minhas configurações ~/.vimrc :

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

e ~/.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

Estou enfrentando o problema no RHEL. No entanto, a mesma configuração funciona bem no meu Mac. Eu acho, as coisas estavam funcionando bem até que minha caixa RHEL foi reiniciada e tentei recuperar um arquivo do arquivo de troca vi.

Alguma idéia de como corrigir isso?

[edit]: Eu tentei ssh para outra caixa dentro de tmux e executando vi lá. Funciona bem na caixa remota!

[adicionado posteriormente] Seguindo a sugestão de @jasonwryan, adicionei a linha set -g default-terminal screen-256color no final de tmux.conf . Isso impediu que programas como less funcionassem.

echo $TERM dentro do tmux é "screen" e fora do tmux é "xterm".

A pesquisa por $ TERM levou-me ao link , de onde adicionei a linha set -g default-terminal "screen-256color" como o primeiro linha de tmux.conf . Isso fez com que o $TERM dentro do tmux fosse "screen-256color". Mas agora quando inicio vi dentro do tmux, ele exibe o seguinte erro:

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'

Parece que resolvi o problema. Apenas adicionei set -g default-terminal xterm como a primeira linha do meu ~ / .tmux.conf e funcionou!

    
por BiGYaN 18.05.2012 / 08:52

2 respostas

9

Eu resolvi o problema adicionando a linha

set -g default-terminal xterm

como a primeira linha do meu ~ / .tmux.conf e funcionou bem.

No entanto, como @jasonwryan apontou, a FAQ da TMUX afirma claramente que:

Most display problems are due to incorrect TERM! Before reporting problems make SURE that TERM settings are correct inside and outside tmux.

Inside tmux TERM must be "screen" or similar (such as "screen-256color"). Outside, it must match your terminal ...

Eu só publico esta resposta porque ela realmente resolveu o meu problema. sinta-se à vontade para adicionar suas soluções alternativas.

    
por 22.05.2012 / 08:00
2

Acabei de me deparar com o mesmo problema numa velha caixa do CentOS em que tive de trabalhar. Para mim, configurar o TERM no tmux para o xterm fez com que outros problemas estranhos surgissem. No entanto, eu pude corrigi-lo comentando set mouse=a no meu .vimrc c.f. link

Aparentemente, adicionar set ttymouse=xterm2 ao seu .vimrc também pode funcionar.

Para qualquer um que tenha problemas parecidos, eu recomendo mover temporariamente seu arquivo .vimrc para ver se algo está lá.

    
por 29.03.2017 / 18:28

Tags