เทอร์มินัลถูกแขวนคอเมื่อแก้ไขบางสิ่งใน vi


13

ผมได้รับการเปลี่ยนแปลงบางอย่างไปยังไฟล์ระยะไกลใน vi ใช้ terminal เมื่อผมกดบังเอิญCtrl+ แทนS:wq

ตอนนี้ทุกอย่างถูกแขวนคอ ฉันพยายามEscape,:q!และคอมม่าทั้งหมดของ vi แต่ไม่มีอะไรตอบสนอง หน้าจอเทอร์มินัลติดอยู่ ฉันไม่สามารถปิดเซสชันเทอร์มินัลได้ในขณะนี้เพราะจะนำไปสู่การสูญเสียการเปลี่ยนแปลงทั้งหมด กรุณาแนะนำสิ่งที่ควรทำ

คำตอบ:


24

Ctrl+ Qจะยกเลิก+Ctrl Sนี่คือรหัสควบคุมโบราณที่จะหยุดและดำเนินการส่งคืนข้อมูลไปยังเทอร์มินัล พวกเขายังคงมีประโยชน์เช่นเมื่อคุณกำลังtailfบันทึกไฟล์และสิ่งที่น่าสนใจเลื่อนโดย แต่ยุคของบัฟเฟอร์ scrollback ไม่ จำกัด นี้ได้ล้าสมัยจริง ๆ พวกเขา


7

ผมอยากจะเติมเต็มคำตอบที่ได้รับการยอมรับ zwets'

คุณสามารถดูความหมายของการกดแป้นพิเศษโดยการออกคำสั่งและstty -aman stty

stty -aพิมพ์การตั้งค่าปัจจุบันทั้งหมดของเครื่อง ผลลัพธ์ในเทอร์มินัลของฉัน:

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พิมพ์คู่มือของ stty ส่วนที่เกี่ยวข้องที่นี่:

ตัวละครพิเศษ:

   start CHAR
          CHAR will restart the output after stopping it

   stop CHAR
          CHAR will stop the output
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.