Terminal bị treo khi chỉnh sửa một cái gì đó trong vi


13

Tôi đã thực hiện một số thay đổi cho một tệp từ xa trong vi bằng cách sử dụng thiết bị đầu cuối khi tôi vô tình nhấn Ctrl+ Sthay vì :wq.

Bây giờ mọi thứ đã bị treo. Tôi đã thử Escape,:q!và tất cả các loại vi commans nhưng không có gì đáp ứng. Màn hình Terminal bị kẹt. Tôi không thể đóng phiên Terminal ngay bây giờ vì nó sẽ dẫn đến mất tất cả các thay đổi. Hãy đề nghị những gì nên làm

Câu trả lời:


23

Ctrl+ Qsẽ hoàn tác Ctrl+ S. Đây là các mã điều khiển cổ để dừng và tiếp tục đầu ra cho thiết bị đầu cuối. Chúng vẫn có thể hữu ích, chẳng hạn như khi bạn đang tạo tailfmột tệp nhật ký và một cái gì đó thú vị cuộn qua, nhưng thời đại của bộ đệm cuộn không giới hạn này đã thực sự làm chúng bị lỗi thời.


7

Tôi muốn bổ sung câu trả lời được chấp nhận của zwets .

Bạn có thể thấy ý nghĩa của các phím nhấn đặc biệt bằng cách ban hành các lệnh stty -aman stty.

stty -ain tất cả các cài đặt hiện tại của thiết bị đầu cuối. Kết quả trong thiết bị đầu cuối của tôi:

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 sttyin hướng dẫn sử dụng stty. Phần có liên quan ở đây:

Nhân vật đặc biệt:

   start CHAR
          CHAR will restart the output after stopping it

   stop CHAR
          CHAR will stop the output
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.