J'essaie de trouver comment jouer vim
et tmux
jouer ensemble.
Mon problème est: lorsque j'utilise, xterm-256color
je vim
travaille bien, mais l'arrière-plan ne s'affiche pas correctement.
J'ai corrigé cela en utilisant screen-256color
. Cela a l'air bien mais casse le Ctrl + arrow keys
(ils passent en mode insertion et suppriment 4 lignes). Je souhaite utiliser ces mappages à la place pour basculer entre les onglets vim
.
Comment puis-je faire fonctionner cela?
la source
Il existe plusieurs niveaux de configuration qui doivent être configurés correctement pour la meilleure fonctionnalité.
xterm-256color
). L'entrée de la base de données terminfo identifiée par la variable d'environnement TERM indique tmux comment reconnaître les séquences pour la modification de touches fléchées (les capacités définies par l' utilisateur {kUP
,kDN
,kRIT
,kLFT
} {,3
..7
}).Configurez tmux pour générer les séquences. Définissez l'
xterm-keys
option de session suron
afin que tmux génère sa propre séquence de style xterm lorsqu'il reçoit une séquence identifiée par son TERM. Dans votre~/.tmux.conf
:screen
TERM basé sur l'intérieur de tmux (par exemplescreen-256color
). Cela indique aux programmes exécutés dans tmux comment contrôler l’ émulation (ré) du terminal de tmux et quelles réponses ils doivent attendre de tmux .Malheureusement, les
screen
entrées de la base de données terminfo basées ne définissent souvent aucune séquence pour les touches fléchées modifiées (c'est-à-dire qu'elles peuvent ne pas avoirkUP
, et cetera), donc les programmes exécutés dans tmux peuvent ne pas savoir attendre de telles séquences. Vous devrez configurer manuellement tous les programmes que vous souhaitez reconnaître ces clés. Dans Vim , vous pouvez mettre cela dans votre~/.vimrc
:Vous voudrez peut-être utiliser les variantes sans
x
(c'est-<Up>
à- dire au lieu de<xUp>
, et cetera) si vous constatez que l'utilisation de lax
variable -fonctionne les touches fléchées normales de cesser de fonctionner.L'avantage de définir des touches comme celle-ci est que vous n'avez pas à mapper chacune des combinaisons de modificateurs séparément (Shift, Control, Contol + Shift, Meta, Meta + Shift, Meta + Control, Meta + Control + Shift); l'
*
obtient interprétation spéciale pour gérer toutes les séquences apparentées (voir:help xterm-modifier-keys
).Ensuite, vous pouvez mapper les clés au lieu de leurs séquences codées en dur:
la source
Comme expliqué ici , désactivez Effacement des couleurs d'arrière-plan (BCE) en désactivant l'
t_ut
option du terminal (exécutez:set t_ut=
dans Vim, puis appuyez sur Control+ Lpour actualiser l'affichage du terminal) afin que les schémas de couleurs fonctionnent correctement lorsque Vim est utilisé dans l'écran tmux et GNU.De cette façon, vous pouvez conserver votre
TERM
valeur quantxterm-256color
à la détection correcte des touches tout en obtenant également un rendu de jeu de couleurs Vim approprié! :-)la source
La configuration
set t_Co=256
de votre ~ / .vimrc aide-t-elle du tout? Ce n'est qu'un paramètre de couleur, mais peut aider à résoudre certains problèmes.Vous pouvez également re-mapper les
ctrl+Arrow
clés dans votre ~ / .vimrc ...Edit: avez-vous essayé
ctrl+Arrow
dans une session d'écran GNU? Je pense que c'est peut-être votre problème.la source