it-swarm.com.de

Terminal wurde beim Bearbeiten von etwas in vi gehängt

Ich habe mit dem Terminal einige Änderungen an einer Remote-Datei in vi vorgenommen, als ich versehentlich gedrückt habe Ctrl+S anstelle von :wq.

Jetzt wurde alles aufgehängt. Ich habe Escape,:q! und alle Arten von vi-Befehlen ausprobiert, aber nichts reagiert. Der Terminal-Bildschirm bleibt hängen. Ich kann die Terminal-Sitzung derzeit nicht schließen, da dadurch alle Änderungen verloren gehen. Bitte schlagen Sie vor, was zu tun ist

12
vipin8169

Ctrl+Q wird rückgängig machen Ctrl+S. Dies sind alte Steuercodes, mit denen die Ausgabe an ein Terminal gestoppt und fortgesetzt werden kann. Sie können immer noch nützlich sein, zum Beispiel, wenn Sie eine Protokolldatei tailf und interessante Bildläufe durcharbeiten, aber diese Ära der unbegrenzten Scrollback-Puffer hat sie wirklich überholt.

20
zwets

Ich möchte zwets 'akzeptierte Antwort ergänzen.

Sie können die Bedeutung spezieller Tastendrücke erkennen, indem Sie die Befehle _stty -a_ und man stty eingeben.

_stty -a_ druckt alle aktuellen Einstellungen des Terminals. Das Ergebnis in meinem 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 druckt das Handbuch von stty. Der Teil, der hier relevant ist:

Spezielle Charaktere:

_   start CHAR
          CHAR will restart the output after stopping it

   stop CHAR
          CHAR will stop the output
_
6
Bill