Was ist der Interrupt-Schlüssel für den Linux-Befehl "Weniger"?

33587
studiohack

Wenn Sie shift-f mit weniger tun, können Sie die Aktualisierung der Datei in Echtzeit sehen und erhalten die Meldung "Warten auf Daten ... (Unterbrechung zum Abbruch)".

Die Aktualisierung funktioniert gut, aber was ist der Interrupt? Nichts scheint zu funktionieren (Strg-C, Esc, Strg-I usw.). Ich muss immer das Terminal töten, was schmerzhaft ist.

23
Für mich funktioniert Interrupt (Strg-C) gut, außer dass es den gesamten Prozess abbricht! taranaki vor 7 Jahren 0

3 Antworten auf die Frage

28
Randy Orrison

Strg + C arbeitet für mich. Wenn ich den F-Befehl in weniger verwende, heißt es "(Interrupt zum Abbruch)". Der "Interrupt", auf den er sich bezieht, ist der Schlüssel, der an den Terminal-Interrupt gebunden ist. Der Befehl stty -azeigt die relevanten Terminaleinstellungen an:

Geschwindigkeit 38400 Baud; Reihen 50; Spalten 80; Zeile = 0; intr = ^ C ; quit = ^ \; löschen = ^ H; töten = ^ U; eof = ^ D; eol =; eol2 =; swtch =; start = ^ Q; stop = ^ S; susp = ^ Z; rprnt = ^ R; werase = ^ W; lnext = ^ V; Spülung = ^ O; min = 1; Zeit = 0; -paren -parodd cs8 -hupcl -cstopb cread -clocal -crtscts -ignbrk -brkint -ignpar -parmrk -inpck -istrip -inlcr -igncrncr -nxon -ixoff -iuclc -ixany -imaxax -iutf8opost -olcuccroncr -onlret -ofill -ofdel nl0 cr0 tab0 bs0 vt0 ff0 isig icanon iexten echo echoe echok -echonl -noflsh -xcase -tostop -echoprt echoctl echoke

Dies intr = ^Czeigt, dass Interrupt von Strg + C erzeugt wird.

Wenn du stty -awas machst, zeigt es?

es sagt intr = ^ C. Aha!! Es ist eigentlich Ctrl-Shift-c - also Großbuchstaben. Danke für die Hilfe vor 14 Jahren 1
Das ist seltsam - ich habe nie gewusst, dass sich Strg + Shift von nur Strg unterscheidet. Meines zeigt Großbuchstabe C, aber Strg + C (ohne Schicht) funktioniert einwandfrei. Randy Orrison vor 14 Jahren 3
Ich habe noch nie ein System verwendet, das Strg-C und Strg-C unterschiedlich behandelt. Nur ein Datenpunkt. CarlF vor 14 Jahren 4
I'm having the same issue, and neither ctrl-c nor ctrl-shift-c works. Could this have something to do with the fact that i'm running less inside a screen session? jenming vor 10 Jahren 1
Dies funktioniert für mich: 'ctrl-shift-c' wechselt in den Normalmodus und gibt einfach 'q' zum Beenden ein Mohammad Ali Akbari vor 9 Jahren 2
1
Travis Clarke

Wie @RandyOrrison erwähnt, ist ^C( Steuerung + c ) das entsprechende Interrupt- Zeichen. Die lessAntwort auf dieses Signal hängt jedoch von den zur Ausführungszeit angebotenen Optionen ab.

Normalerweise lessstoppt ein Interrupt-Zeichen, was immer es gerade tut, und kehrt zu seiner Eingabeaufforderung zurück (dh nicht zur Eingabeaufforderung von Terminal / tty).

Wenn Sie stattdessen signalisieren möchten, dass Sie den Vorgang lessbeenden und zur Eingabeaufforderung Terminal / tty zurückkehren möchten, sollten Sie die Option -Koder verwenden --quit-on-intr. Dies führt lesszum sofortigen Beenden (mit Status 2), wenn ein Interrupt-Zeichen (normalerweise ^C) eingegeben wird.

weniger manpage

-K, --quit-on-intr

Bewirkt, dass weniger sofort beendet wird (mit Status 2), wenn ein Interrupt-Zeichen (normalerweise ^ C) eingegeben wird. Normalerweise stoppt ein Interrupt-Zeichen weniger, was es gerade tut, und kehrt zur Eingabeaufforderung zurück. Beachten Sie, dass die Verwendung dieser Option es unmöglich macht, vom Befehl "F" zur Eingabeaufforderung zurückzukehren.

less -K [filename]... less --quit-on-intr [filename]... 
-1
hjeannin

Versuchen Sie Shift + Ctrl + C, ich hatte das gleiche Problem und musste Ctrl + Z-> fg-> Qbeenden.