ටර්මිනලයක Ctrl-S අහම්බෙන් එබීමෙන් පසු නිදහස් කළ හැක්කේ කෙසේද?


781

එය මට බොහෝ විට සිදුවී ඇති තත්වයකි: මම Ctrl-Sටර්මිනලයක (වෙනත් අභිප්‍රායයකින්) එබීමෙන් පසුව , එය සමඟ අන්තර්ක්‍රියා (ආදානය හෝ ප්‍රතිදානය) ශීත කරනු ලැබේ. එය බොහෝ විට "අනුචලන අගුලක්" හෝ ඕනෑම දෙයක් විය හැකිය.

මෙයින් පසු මම පර්යන්තය නිදහස් කරන්නේ කෙසේද?

(මෙම කාලය, මම සමඟ වැඩ කර ඇත apt-shellතුළ වන bashඇතුළත urxvt--not වග විශේෂ මෙහෙයුම් සඳහා වගකිව යුතු වේ ඔවුන් කරන Ctrl-S: මා ආපස්සට විධාන ඉතිහාසය සොයමින් C-rreadline සඳහා සුපුරුදු පරිදි, නමුත්, පසුව, මම "ආපසු යන්න ඕනෑ "ඉතිහාසය සමඟ සුපුරුදු පරිදි ඉදිරියට යන්න - අවම වශයෙන් ඉමාක්ස් හි - C-s( 1 , 2 , 3 ), නමුත් එය පර්යන්තය කැටි කිරීමට හේතු විය. හොඳයි, අතීත දේවල් බැලීමට අනුචලනය / පේජින් කිරීම තවමත් පර්යන්තය තුළ ක්‍රියාත්මක වේ, නමුත් අන්තර්ක්‍රියාකාරිත්වයක් නොමැත ක්‍රියාවලි එහි ක්‍රියාත්මක වේ.)


29
මම වැඩ කරමින් සිටි vimඅතර මගේ සංස්කරණයන් සුරැකීමට මම Ctrl-S එබුවෙමි. අහ්XD
ADTC

6
එය මුලින් පවතින්නේ ඇයි?
neverMind9

Answers:


932

Ctrl-Q

මෙය මුළුමනින්ම අක්‍රිය කිරීමට, stty -ixonආරම්භක පිටපතක රැඳී සිටින්න . ඕනෑම යතුරක් නැවත ගලා ඒමට ඉඩ දීමට, භාවිතා කරන්න stty ixany.

ps: මෙය සිදු කරන්නේ පර්යන්තය හෝ කවචය නොව මෙහෙයුම් පද්ධතියේ පර්යන්ත ධාවකයයි.


10
ඔබට ස්තුතියි! බීටීඩබ්ලිව්, එහිදී ඔවුන් යෝජනා කළා Ctrl-C; ඒකත් වැඩ කරනවද? (ඔබත් වෙනත් ස්ථානයක ඔවුන් යෝජනා Ctrl-Qකළා.)
imz - අයිවන් සකරියාෂෙව්

27
Ctrl-C ක්‍රියා කරයි, නමුත් එය සාමාන්‍යයෙන් අවශ්‍ය නොවන බාධාකාරී සං signal ාවක් ද යවයි. (Btw, මේ සඳහා භාවිතා කරන යතුරු සියල්ලම වින්‍යාසගත කළ හැකිය stty.)
ak2

23
දෙවියන්ට ස්තූතිවන්න !! මෙය වසර ගණනාවක් තිස්සේ මට කරදරයක් විය. VIM විසින් එය කරන ඕනෑම දෙයක් වෙනුවට සුරැකීම සඳහා දේශීය කෙටිමඟක් ලෙස මෙය ක්‍රියාත්මක නොකරන්නේ මන්දැයි නිශ්චිතවම කිව නොහැක. සී.ටී.ආර්.එල් + එස් (කෙටිමඟ සුරකින්න) ස්වාභාවික භාවිතය නිසා ශීත කළ වී.අයි.එම්.
ක්‍රැං ප්‍රයිම්

9
AnSanuelJackson Ctrl-S “කෙටිමං සුරකින්න” සෑම ඩෙස්ක්ටොප් යෙදුමකටම අදාළ වේ. සහ ඊමාක්ස් හැර. සහ නැනෝ. අනෙක් සෑම "යෙදුමක් "ම ඔබට පර්යන්තයක් මත ධාවනය කළ හැකිය, හරියටම එය දැනටමත් පර්යන්තය විසින් ප්‍රවාහ පාලනය සඳහා භාවිතා කර ඇති නිසාය. Ctrl-Alt-FN කෙටිමං භාවිතා කරමින් ඔබට ලිනක්ස් ඩෙස්ක්ටොප් යෙදුමක් සොයාගත නොහැකි වීමට එකම හේතුව එයයි: මන්ද ඒවා දැනටමත් පද්ධතිය විසින් භාවිතා කර ඇති බැවිනි.
ගර්ලෝස්

3
Am සාමුවෙල් ජැක්සන් ඔබේ .vimrc හි ctrl-s: w විධානයට බැඳීමෙන් ඔබව වළක්වන කිසිවක් නැත, උදාහරණයක් ලෙස මෙහි බලන්න: stackoverflow.com/a/11298171/2380702
xor

416

Ctrl- Qඇත්තෙන්ම පිළිතුරයි. Ak2 හි නිවැරදි පිළිතුරේ මායිමට සරිලන තරම් දිගු වන කුඩා ඉතිහාසයක් තුළ මම එය විසි කිරීමට සිතුවෙමි .

අඳුරු යුගයකදී, පර්යන්තයක් යනු දුරස්ථ උපාංගයකට සම්බන්ධ වූ විශාල උපකරණ කැබැල්ලකි (මුලින් තවත් පර්යන්තයක් වූයේ විදුලි පණිවුඩ යතුරකට වඩා ටෙලි ටයිප් ක්‍රියා කිරීමට ඉගෙන ගැනීම පහසු බැවින්) දිගු කම්බියක් හරහා හෝ මොඩම සහිත දුරකථන මාර්ග හරහා ය. යුනික්ස් සංවර්ධනය වන කාලය වන විට, ASCII කේතය දැනටමත් හොඳින් ස්ථාපිත වී ඇත (IBM වෙතින් තරඟකාරී EBCDIC කේතය තවමත් ගණනය කළ යුතු බලවේගයක් වුවද).

පැරණිතම පර්යන්ත මගින් ලැබෙන සෑම අක්ෂරයකම මුද්‍රිත වාර්තාවක් තබා ඇත. අක්ෂර පැමිණෙන තාක් කල් මුද්‍රණ ශීර්ෂයට වඩා වේගයෙන් ඒවා ටයිප් කළ නොහැක. නමුත් සී.ආර්.ටී මත පදනම් වූ පර්යන්ත හැකි ඉක්මනින් ගැටළුව මතු වූයේ සී.ආර්.ටී.ට පේළි 25 ක් පමණ ගැළපෙන අතර අක්ෂර 80 කින් යුත් පේළි 25 ක් ප්‍රමාණවත් තරම් RAM ප්‍රමාණයක් නිරූපණය කර ඇති අතර ඉහළින් අනුචලනය කළ අක්ෂර සඳහා වැඩි RAM ප්‍රමාණයක් ලබා දීම ගැන කිසිවෙකු බැරෑරුම් ලෙස නොසිතයි. තිරය.

එබැවින් පා send කයාට හසු කර ගැනීම සඳහා යැවීමේ අවසානය විරාමයක් ගත යුතු බවට සං signal ා කිරීම සඳහා යම් සම්මුතියක් අවශ්‍ය විය.

7-බිට් ASCII කේතයේ අක්ෂර 33 ක් ඇත (0 සිට 31 සහ 127 දක්වා). එම සමහර වැනි හොඳින් ස්ථාපිත අරමුණු කර NUL(නිගමනයට, හිඩැස්, සහ splices සඳහා හිස් කඩදාසි පටි නායක), DEL( "ගුණාකාර" කඩදාසි පටි මත චරිත සියල්ල සත් කුහර සිදුරු මගින් පෙන්නුම් කරන), BEL(ding!), CR, LF, සහ TAB. නමුත් හතර (පර්යන්තය උපාංගය ම පාලනය සඳහා පැහැදිලි ලෙසම අර්ථ ලදී DC1කිරීමට DC4Ctrl + Q, Ctrl + R, Ctrl + S සහ Ctrl + T හෙවත්).

මගේ හොඳම අනුමානය නම්, සමහර ඉංජිනේරුවන් සිතුවේ (සිහිවටන අනුව), “නවත්වන්න” සඳහා “එස්” සහ “ඉදිරියට යන්න” සඳහා “Q” එතරම් නරක නොවන බවත්, DC3“කරුණාකර යැවීම නවත්වන්න” සහ DC1“හරි , දැන් යැවීම දිගටම කරගෙන යන්න ".

යුනික්ස් බෙල් ලැබ්ස් හි කූඩුව අතහැර ලෝකයට යාමට කාලය වන විට එම සමුළුව පවා හොඳින් තහවුරු වී තිබුණි.

සමුළුව මෘදුකාංග ප්‍රවාහ පාලනය ලෙස හැඳින්වෙන අතර සැබෑ අනුක්‍රමික උපාංගවල එය බහුලව දක්නට ලැබේ. නිවැරදිව ක්‍රියාත්මක කිරීම පහසු නැත, මන්ද එය සන්නිවේදන නාලිකාවේ වෙනත් ඕනෑම කටයුත්තක් සඳහා එම අක්ෂර භාවිතා කිරීම වළක්වන අතර, ලැබීමේ අවසානයට වඩා වැඩි ප්‍රමාණයක් යැවීම වළක්වා ගැනීම සඳහා අපේක්ෂිත ලැබී ඇති අක්ෂරවලට වඩා නැවතුම් සං signal ාව හැසිරවිය යුතුය. හසුරුවන්න.

ප්‍රායෝගික නම්, ප්‍රවාහ පාලනය සඳහා අනුක්‍රමික දත්ත ප්‍රවාහයෙන් කලාපයෙන් පිටත අතිරේක සං als ා භාවිතා කිරීම බෙහෙවින් කැමති වේ. අතිරේක සං signal ා වයර් ලබා ගත හැකි සෘජුවම රැහැන්ගත සම්බන්ධතා වලදී, ඔබ භාවිතයේ ඇති දෘඩාංග අත් සේදීම සොයා ගනු ඇත, එමඟින් එම අක්ෂර වෙනත් භාවිතයන් සඳහා නිදහස් කරයි.

ඇත්ත වශයෙන්ම, අද ටර්මිනල් කවුළුව සත්‍ය භෞතික අනුක්‍රමික වරායක් භාවිතා නොකරයි, අනුචලන තීරු ඇත, ඇත්ත වශයෙන්ම මෘදුකාංග අත් සේදීම අවශ්‍ය නොවේ. නමුත් සම්මුතිය දිගටම පවතියි.

පළමු නිකුතුවලදී සෙවුම් සඳහා රිචඩ් ස්ටෝල්මන්ට Ctrl + S සිතියම්ගත කිරීම පිළිබඳ පැමිණිලි ලැබුණු බවත්, බිටු 7 ක මෘදුකාංග ප්‍රවාහ පාලිත සම්බන්ධතාවයක් මත යැපීමට සිදු වූ ඕනෑම පරිශීලකයෙකු කෙරෙහි ඔහු අනුකම්පා නොකළ බවත් මට මතකය.


14
ඒ ඉතිහාසයට බොහොම ස්තූතියි. මා විසින් මෑතකදී නඩත්තු කරන ලද ටර්මිනල් ඉමුලේටරයක පෙරනිමියෙන් ප්‍රවාහ පාලනය අක්‍රීය කළ නමුත් තවමත් එය භාවිතා කරන යුනික්ස් සාම්ප්‍රදායිකවාදීන්ගේ හ protest විරෝධතාවලින් ඉක්මණින් එය නැවත ස්ථාපනය කිරීමට මට සිදු විය. මම ඒ වෙනුවට ixany බිට් එක සකසා ඇත, එබැවින් අවම වශයෙන් ^ Q ගැන නොදැන ^ S එබූ පුද්ගලයින් සිරවී නොසිටිනු ඇත.
ak2

3
BRBerteig මම බැක්ස්පේස් සහ මකාදැමීම පිළිබඳ සමාන දෙයක් ඉගෙන ගත්තා. බැක්ස්පේස් නිල වශයෙන් ^ H වන අතර මකාදැමීම is ද? ඉමාක්ස් සංවර්ධකයින්ට (ස්ටෝල්මන් නැවතත්?) සමහර අයට අවශ්‍ය වූයේ help H වැනි උදව් සඳහා කෙටිමං වැනි පොදු අරමුණු සඳහා ලබා ගත හැකිය. ගැලවීමේ අනුක්‍රමය ^ [[3 ~ හෝ වෙනත් දෙයක් ප්‍රතිස්ථාපනය කිරීම සඳහා නිර්මාණය කරන ලද්දක්ද? පසු අවකාශය දැන් පැරණි මකාදැමීමේ චරිතය බවට පත් විය ^?. ඇත්ත වශයෙන්ම, ටර්මින්ෆෝ හි යතුරු නැවත සකස් කිරීම සඳහා ලිනක්ස් ඩිස්ට්‍රෝස් මත විශේෂයෙන් ඇලවූ ncurses මා දැක ඇති අතර FreeBSD හි ncurses නොගැලපෙන අතර සමහර කරදරකාරී ව්‍යාකූලතා නිසා පසුබිම ක්‍රියා නොකරයි.
penguin359

28
කඩදාසි පාලක සහ ඒඑස්ආර් 33 සමඟ මා සෙල්ලම් කරන තෙක් ඩෙල්ට අනෙක් පාලක අක්ෂර සමඟ කාණ්ඩගත වීමට වඩා 127 කේතය ඇත්තේ මන්දැයි මම කල්පනා කළෙමි. සියලු සිදුරුවලට පහර දීමේ බලපෑමක් ඇති බව මට වැටහුණු විට, එයින් අදහස් කළේ එය මකා දැමීම සඳහා කලින් පහර දුන් ඕනෑම අක්ෂරයකට එය ඉක්මවා යා හැකි බවයි.
RBerteig

3
An සානුවෙල් ජැක්සන් මා සමීපව බැලීමට කාලයක් ගත වී ඇත, නමුත් කවුළු සමඟ නැව්ගත කරන සුපුරුදු vimrc වසර ගණනාවක් තිස්සේ <Cs> ": යාවත්කාලීන" කිරීමට සිතියම් ගත කර ඇත. අතීතයේ දී ද gvim සඳහා ඩිස්ට්‍රෝස් කිහිපයක එය දැක ඇති බව මට ද විශ්වාසයි. ඔබ ටර්මිනලයක vim භාවිතා කරන්නේ නම්, මෙම ඉතිහාසය තවමත් බොහෝ සෙයින් අදාළ වේ. නවීන ටර්මිනල් ඉමුලේටරයන් තවමත් ප්‍රවාහ පාලන යතුරු ක්‍රියාත්මක කරයි, එබැවින් ඒවා සිතියම්ගත කළද, පිළිගත් පිළිතුරෙහි විස්තර කර ඇති පරිදි එක් එක් පරිශීලකයා ප්‍රවාහ පාලනය අක්‍රීය කිරීමට නොගියහොත් එය කිසි විටෙකත් නොපෙනේ.
ඩ්‍රූ

3
@CMCDragonkai Nope. සමග සියලු කිසිවක් SIGCONTහා SIGSTOP. ටයිප් SIGTSTPකරන විට ටර්මිනල් ධාවක විසින් ජනනය කරනු ලබන අතර ^Zඑය කළ නොහැකි ලෙස නොසලකා හැරිය SIGSTOPහැක. යතුරු එබීමක් යවන්නේ නැත SIGCONT, එය ඔබගේ කවචයේ ඇති ඕනෑම විධානයක් මඟින් එවන ලද සං signal ාවකි. මෙම ^Sසහ ^Qයතුරු පර්යන්තය රියදුරු අඩුක්කුව මත සෘජුවම ක්රියා, සහ පොදුවේ සංඥාවක් යවන්න එපා.
RBerteig
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.