49 votes

Impossible de redimensionner les parties de vim dans tmux

Tout fonctionne bien en dehors de tmux . Mais en tmux Je ne peux pas redimensionner les scissions de vim avec la souris. J'ai set mouse=a dans mon .vimrc. Y a-t-il une solution à ce problème ?

.tmux.conf :

$ cat ~/.tmux.conf
set-option -g mode-mouse on
set-option -g mouse-resize-pane on
set-option -g mouse-select-pane on
set-option -g mouse-select-window on

69voto

Chris Johnsen Points 36743

Il semble que le fait de faire glisser la ligne d'état pour redimensionner une division ne soit pas possible lorsque l'option Vim option ttymouse es xterm ; cela fonctionne lorsque la valeur est xterm2 mais Cette dernière valeur configure Vim pour qu'il demande un mode de rapport de souris étendu qui (entre autres) fournit un meilleur support pour le glissement. Ce mode étendu ne fonctionne qu'avec les nouvelles versions de xterm (et d'autres émulateurs de terminal compatibles, y compris tmux ), ce n'est donc pas la valeur par défaut.

Vous pourriez utiliser quelque chose comme ce qui suit dans votre .vimrc pour définir l'option :

set mouse+=a
if &term =~ '^screen'
    " tmux knows the extended mouse mode
    set ttymouse=xterm2
endif

(Toutefois, je ne suis pas certain de l'impact que cela aura sur les activités réelles de l'entreprise). écran qui utilisent également un TERME commençant par screen .)

Lorsque vous êtes en dehors de tmux La variable d'environnement TERM est probablement un xterm -et Vim sondera l'état d'avancement de la mise en œuvre de l'initiative xterm en utilisant l'option t_RV séquence de contrôle.

16voto

PurushothamC Points 21

Dans mon cas, il a résolu les deux cas : redimensionnement du partage de la souris et problème de position de la souris pour un écran large.

La solution est la suivante :

if has("mouse_sgr")
    set ttymouse=sgr
else
    set ttymouse=xterm2
end

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X