3 votes

Désactiver pour de bon l'incrémentation du numéro du VIM qui est mappé à Ctrl-a.

J'utilise des sessions tmux locales et distantes. Pour envoyer des commandes au tmux local, j'utilise Ctrl-a et à la télécommande Ctrl-q . J'ai essayé de désactiver l'incrémentation du nombre qui s'exécute normalement avec la fonction Ctrl-a dans vim, mais il se déclenche maintenant avec Ctrl-q et je ne trouve pas le moyen de le désactiver. De plus, cela ne se produit que lorsqu'une fenêtre tmux particulière n'imbrique pas une fenêtre distante. De plus, je pense qu'il peut encore y avoir une combinaison de raccourcis dans une session tmux distante qui déclenche également l'incrémentation.

Existe-t-il un moyen de désactiver complètement cette fonction ? Une solution idéale serait de la remplacer par une fonction qui ne fait rien. C'est une commande très sournoise, et j'ai eu quelques expériences de débogage vraiment terribles dans le passé à cause de cela !

Mon tmux.conf :

..
unbind C-b
set -g prefix C-a
bind-key -n C-q send-prefix
...

Ensuite, dans vim, j'essaie de désactiver à la fois Ctrl-a et Ctrl-q, sans succès.

C'est mon vimrc :

...
map <Ctrl-A> <Nop>
map <Ctrl-Q> <Nop>
...

J'ai également essayé de mettre des entrées pour Ctrl-a y Ctrl-q mais quand même Ctrl-q fait l'incrément. Je pense que le problème vient du fait que tmux reçoit Ctrl-q et l'envoie ensuite comme préfixe, ce qui n'est pas pris en compte par mes mappings supplémentaires.

A la vôtre, Paschalis

11voto

clarity123 Points 1391

Pourquoi cela ne fonctionne pas

Ctrl n'est pas reconnu par vim <> pour représenter la notation d'un clavier Control clé.

Recommandation

Pour désactiver Control - a déclencher l'auto-incrémentation par défaut de vim sur un nombre :

  1. Dans votre ~/.vimrc comme @Marth l'a dit, utilisez <C-a> :

    map <C-a> <Nop>
  2. Sauvez :w

  3. :so ~/.vimrc pour qu'il prenne effet.

Garantie

  • Testé pour fonctionner dans Vim 7.4
  • Il n'est pas nécessaire de désactiver Ctrl-q dans Vim.

Explication

  • Vous n'avez pas besoin de désactiver Ctrl-q dans Vim, puisque votre Tmux n'envoie jamais Ctrl-q,
  • Votre poste tmux.conf envoie le préfixe, que vous définissez comme Ctrl-a, donc Vim ne reçoit que Ctrl-a

Ainsi, vous avez réussi à désactiver l'auto-incrément lorsque vous mappez Control - a à l'instruction de ne rien faire <Nop>

Autres lectures

  • Vim, :help <>

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X