J'étais en train d'apporter des modifications à un fichier distant dans vi en utilisant le terminal lorsque j'ai accidentellement appuyé sur Ctrl+S au lieu de :wq
.
Maintenant tout a été pendu. J'ai essayé Escape,:q!
et toutes sortes de commans vi mais rien ne répond. L'écran du terminal est bloqué. Je ne peux pas fermer la session Terminal dès maintenant car cela entraînerait la perte de tous les changements. S'il vous plaît suggérer ce qui devrait être fait
Ctrl+Q se défaire Ctrl+S. Ce sont d'anciens codes de contrôle pour arrêter et reprendre la sortie vers un terminal. Ils peuvent toujours être utiles, par exemple lorsque vous êtes tailf
un fichier journal et que quelque chose d’intéressant défile, mais cette ère de mémoires tampon de défilement illimitées les a vraiment obsolètes.
Je voudrais compléter réponse acceptée par zwets .
Vous pouvez voir la signification des touches spéciales en entrant les commandes _stty -a
_ et man stty
.
_stty -a
_ imprime tous les paramètres actuels du terminal. Le résultat dans mon terminal:
_speed 38400 baud; rows 33; columns 80; line = 0;
intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W;
lnext = ^V; flush = ^O; min = 1; time = 0;
-parenb -parodd cs8 hupcl -cstopb cread -clocal -crtscts
-ignbrk brkint -ignpar -parmrk > -inpck -istrip -inlcr -igncr icrnl ixon -ixoff
-iuclc ixany imaxbel iutf8
opost -olcuc -ocrnl onlcr -onocr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0
isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt
echoctl echoke
_
man stty
imprime le manuel de stty. La partie qui est pertinente ici:
Caractères spéciaux:
_start CHAR CHAR will restart the output after stopping it stop CHAR CHAR will stop the output
_