Linux vi死机问题

死机问题

所谓“死机”问题

现象

vi编辑结束后执行存盘操作,结果导致屏幕卡死,输入任何信息都不再有显示(死机,终端死机)

原因

vi编辑结束后按下Ctrl-S,因为Windows编辑器一般设置Ctrl-S热键的动作为Save,但Linux却进入流量控制状态

解决方法

按下Ctrl-Q键后流量控制解除

意外中止问题

现象

vi编辑结束后存盘,程序意外中止,编辑成果丢失,文件内容未发生变化

原因

vi存盘命令Shift-ZZ,误操作为Ctrl-ZZ,而Ctrl-Z按键导致当前运行进程被挂起(suspend),暂停运行(但进程尚在,处于Stopped状态)

解决方法

调用bash的作业管理机制,恢复运行被Stopped的进程
列表当前被Stopped的进程有哪些

1
jobs

将1号作业恢复到前台(foreground)运行

1
fg %1

或者:

1
%1

退格键(Backspace)无法使用的问题

现象

bash命令输入时,Backspace键可用,但是,运行自己写的程序时Backspace键无法正常使用

原因

当前终端的“行律”设置不正确

解决方法

Backspace按键对应的ASCII码是控制字符Ctrl-H
执行stty erase ^H设定行律模块把Ctrl-H为删除符,以后Ctrl-H和Backspace都可以做删除。如果需要,把命令放到$HOME/.bash_profile中(类似的,stty erase ^A可以设置用Ctrl-A做删除操作)
stty -a可以了解终端行律的状态