Lorsque j'essaie d'ouvrir un fichier en utilisant l' vim
intérieur de tmux
la fenêtre entière se fige. Je dois tuer la fenêtre avec C-a &
.
Voici mes ~/.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 fais face au problème dans RHEL. Cependant, la même configuration fonctionne bien sur mon Mac. Je suppose que les choses fonctionnaient bien jusqu'à ce que ma boîte RHEL soit redémarrée et que j'essaie de récupérer un fichier à partir du fichier d'échange vi.
Des idées pour résoudre le problème?
[edit]: J'ai essayé ssh
une autre boîte à l'intérieur tmux
et je cours vi
là-bas. Fonctionne très bien dans une boîte à distance!
[ajouté plus tard] 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 fonctionner.
echo $TERM
à l'intérieur de tmux est "écran" et à l'extérieur de tmux est "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 transformé le $TERM
tmux intérieur en "screen-256color". Mais maintenant, quand je démarre vi
dans 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. Juste ajouté set -g default-terminal xterm
comme première ligne de mon ~ / .tmux.conf et cela a fonctionné!
set -g default-terminal screen-256color
Réponses:
J'ai résolu le problème en ajoutant la ligne
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:
Je poste uniquement cette réponse car elle a réellement résolu mon problème. n'hésitez pas à ajouter vos solutions alternatives.
la source
Je viens de rencontrer le même problème sur une vieille boîte CentOS sur laquelle je devais travailler. Pour moi, définir TERM dans tmux sur xterm a provoqué d'autres problèmes étranges. Cependant, j'ai pu le corriger en commentant
set mouse=a
dans mon .vimrc cf https://lists.gnu.org/archive/html/screen-users/2005-04/msg00039.htmlApparemment, l'ajout
set ttymouse=xterm2
à votre .vimrc peut également faire l'affaire.Pour toute autre personne rencontrant des problèmes similaires, je recommande de déplacer temporairement votre .vimrc pour voir si quelque chose en est la cause.
la source