Ctrl+s et vi

Si vous êtes un maniaque du ctrl+s comme moi. Vous avez surement déjà fait un ctrl+s sous vi (ou vim) et vous avez ressentis ce moment de panique où tout ce freeze. La solution pour s’en sortir et toute simple il suffit de faire un ctrl+q.

Mais pourquoi ? Comment cela ce fasse ? La réponse vient de la FAQ de VIM.

De nombreux simulateur de terminaux ou de terminaux réels utilise le raccourci CTRL+S pour arrêter le flux de donné entrant. L’idée est de permettre de pouvoir arrêter quand on veut une avalanche de donnée s’affichant sur le terminal et de pouvoir le reprendre quand on veut en utilisant CTRL+Q. C’est pour cela que lorsque l’on presse CTRL+S sous vi ou vim, les données ne sont plus envoyées et on a l’impression que VI/VIM est freezé. Presser CTRL+Q permet donc de tout remettre à la normal.

Si vous voulez désactiver cette fonctionnalité utilisez cette commande :

$ stty -ixon -xoff

Ou sinon changez les raccourcis clavier de gestion du terminal :

$ stty stop <char>
$ stty start <char>