Lorsque j'essaie d'ouvrir un fichier avec vim
dans tmux
toute la fenêtre se fige. Je dois tuer la fenêtre avec C-a &
.
Voici mon ~/.vimrc
paramètres :
:set autoindent
:set ts=4
:set number
:set shiftwidth=4
:set showmode
:filetype on
:filetype plugin on
:syntax enable
:set mouse=a
et ~/.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
Je suis confronté au problème dans RHEL. Cependant, la même configuration fonctionne bien sur mon Mac. Je suppose que tout fonctionnait bien jusqu'à ce que ma boîte RHEL soit redémarrée et j'ai essayé de récupérer un fichier à partir du fichier d'échange vi.
Des idées pour résoudre ce problème ?
[edit] :j'ai essayé ssh
vers une autre boîte à l'intérieur de tmux
et exécutant vi
là. Fonctionne bien dans la boîte à distance !
[ajouté ultérieurement]
Suite à la suggestion de @jasonwryan, j'ai ajouté la ligne set -g default-terminal screen-256color
à la fin de tmux.conf
. Cela empêchait des programmes comme less
de travailler.
echo $TERM
à l'intérieur de tmux se trouve "screen" et à l'extérieur de tmux se trouve "xterm".
La recherche de $TERM m'a conduit à https://wiki.archlinux.org/index.php/Tmux, d'où j'ai ajouté la ligne set -g default-terminal "screen-256color"
comme première ligne de tmux.conf
. Cela a rendu le $TERM
à l'intérieur de tmux sur "screen-256color". Mais maintenant, quand je lance vi
à l'intérieur de tmux, il affiche l'erreur suivante :
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'
On dirait que j'ai résolu le problème. Je viens d'ajouter set -g default-terminal xterm
comme première ligne de mon ~/.tmux.conf et ça a marché !
Réponse acceptée :
J'ai résolu le problème en ajoutant la ligne
set -g default-terminal xterm
comme première ligne de mon ~/.tmux.conf et cela a bien fonctionné.
Cependant, comme @jasonwryan l'a souligné, la FAQ TMUX indique clairement que :
La plupart des problèmes d'affichage sont dus à un TERM incorrect ! Avant
de signaler des problèmes, ASSUREZ-VOUS que les paramètres TERM sont corrects à l'intérieur et
à l'extérieur de tmux.À l'intérieur de tmux TERM doit être "screen" ou similaire (comme
"screen-256color"). A l'extérieur, il doit correspondre à votre borne…
Je ne poste que cette réponse car elle a en fait résolu mon problème. n'hésitez pas à ajouter vos solutions alternatives.
Connexes :Faire fonctionner un moteur synchrone à courant alternatif avec du courant continu ?