vi 中按了 Ctrl+S 后死机不能动怎么办?
我们下意识想保存文档时,会不知觉地按下 Ctrl+S 组合键。但如果是正在 Linux 的 Shell 中使用 vi 编辑文本,这么按就糟了,会直接出现卡住、不能动、卡死的现象。
不过,后来我搞明白了,这种卡住、卡机、死机,都是一种假象。解决方法也很简单:再按下 Ctrl+Q 就能解除。
是不是有种知道真相后眼泪掉下来的感觉啊?我当初也是。
再进一步解释下到底是怎么回事?为什么 vim 要有这样的一个假死功能?
你可以做个实验,用 vim 打开一个空文档,先按下 Ctrl+S 再随便按几个数字,你会发现 vim 一动不动,然后再按 Ctrl+Q,就能看到,咦,刚刚输入的数字又出来了。
因为 Ctrl+S 是 vim 关闭屏幕回显,只接受输入不提供反馈的静默模式。回忆回忆,这有点儿像我们在 Linux 终端里输入密码时的感觉,是不。
问题解决了,我们再想想更深层的原因,在和 Linux 打交道的过程里,为什么这样闹心的小问题会反复出现?
我反思,这是没有系统地学习 Linux、学习 Linux 命令,一直靠边查搜索引擎边学,就是容易出现这种问题。
系统学习的痛,是不是就是一直野路子、从来不花钱的痛。Pony Ma 灵魂拷问过,不充钱你会变得更强吗?

其实我们也不是没有花钱解决问题的思维。
关键是,我们不想被收割,想充钱要去哪里充!!去哪里充,更便宜,更实在?!
讲讲我的经验给你参考下,我是靠极客时间上的这门系统性极强的尹会生大牛的《Linux实战技能100讲》视频课程给自己的 Linux 补了补课。
一般的 Linux 仅仅是简单地罗列和讲解命令,并不值得学。但实话说,尹会生这门运营课以点带面,侧重于让人认真理解 Shell 和 核心的命令,很适合拿来给自己打基础。
一般的视频课动不动就想收割我们一个月的工资钱,这个课不会,也就100出头就能买到。
不仅适合计算机系的朋友们,像理论物理、理论化学、地科生科这样长期和 Linux 系统打交道、提交任务排队列的朋友,我觉得也最好不要错过。而且,是视频课啊,跟着操作很容易学到。

课程地址:Linux实战技能100讲
哪怕不买,我认为如果是有心人,进去研究一下课程目录都覆盖了哪些知识点,也是极好的。
以上。
-----

vi 中按了 Ctrl+S 后死机不能动怎么办?的更多相关文章
- linux vi 中按了ctrl+s后没法退出
linux vi 中按了ctrl+s后无法退出 Linux 中使用vi编辑文件 不小心按了Ctrl + S (习惯了) 结果终端就跟死了一样, 解决办法: Ctrl+Q
- VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法
VMware虚拟机中的CentOS7安装Nginx后本机无法访问的解决办法 在linux上安装nginx 请参考:Linux Centos7 安装 nginx 在虚拟机centos7上安装nginx之 ...
- Vmware 15.5 ubuntu 12.04.5-desktop-i386.iso insmod后死机
就是makefile没有问题,在其他同学的相同环境下也没有问题,但是在我的虚拟机里就会死机,复制了其他同学的虚拟机过来也会死机,所以猜想是VMware的问题. 于是下载了Virtual box,然后安 ...
- Linux 操作系统死机故障处理方法总结
通常在出现系统崩溃后,大家会担心再次出现故障,但是发现系统各日志中并没有记录到任何死机前后的信息,无法分析故障原因,认为已经无药可救.但是,实际上,Linux 有多种机制来保证发生系统崩溃后,可以获取 ...
- [转发]dsdt解决睡眠唤醒死机
登录 注册 首页 热门话题 最新发布 简单模式 详细模式 dsdt解决睡眠唤醒死机 Leave a reply 首先,感谢x5115x提供了一个相对比较完整的THINKPAD T410在MAC下的 ...
- Windows死机的话,可能的一些猫病
一.由硬件引起的原因 [散热不良] 显示器.电源和CPU在工作中发热量非常大,因此保持良好的通风状况非常重要,如果显示器过热将会导致色彩.图象失真甚至缩短显示器寿命.工作时间太长也会导致电源或显示器散 ...
- 关于单片机编程里面调用sprintf死机的解决方法及原因分析
好久之前的做的笔记,这里贴出. char String[100];//直接用数组代替指针即可解决 下面代代码下载至单片机中,发现会出现单片机死机问题 #include "stdio.h&qu ...
- VMware虚拟机从安装到激活再到创建虚拟机解决黑屏、卡、死机系列问题教程第二篇
第二篇:在VMware中创建一个虚拟机(黑屏死机卡在最下面简单说一下你就懂了) 1.我们要打开我们已经安装好的VMware,然后点击创建新的虚拟机 2.然后选择自定义 3.下面这个默认,直接下一步 4 ...
- Vi或者Vim下按了ctrl+s后终端卡住了咋办?
在Vi或者Vim下按了ctrl+s后终端卡住了咋办? 习惯了在windows下写程序,也习惯了按ctrl+s 保存代码. 在用vim的时候,也习惯性的按ctrl+s结果就是如同终端死掉了一样. 原因: ...
随机推荐
- Java并发的若干基本陷阱、原理及解决方案
勿止于结论:持续探索与求证. 概述 为什么要使用并发 ? 有三点足够信服的理由: 性能提升.单核 CPU 的性能基本抵达瓶颈,充分挖掘多核 CPU 的能力,使得性能提升变成水平可扩展的. 事件本质.世 ...
- 2019icpc上海站 打星体验,首次感想 D K代码
暑期训练以来首次参赛,体验还行吧,过程有些战战兢兢. 刚开始以为是正式队,热身赛只过了一题,有很大的压力,正赛前一天晚上才知道是打星队,有点如释重负的感觉.也幸好都是打星队,不然真的有可能打铁,虽然实 ...
- NLP入门(十一)从文本中提取时间
在我们的日常生活和工作中,从文本中提取时间是一项非常基础却重要的工作,因此,本文将介绍如何从文本中有效地提取时间. 举个简单的例子,我们需要从下面的文本中提取时间: 6月28日,杭州市统计局权 ...
- DevExpress Skins<2>
Skins DevExpress WinForms控件包括许多现成的绘画主题(或外观),用于更改DevExpress表单和控件的外观.您可以通过运行WinForms演示应用程序并使用外观选择器在可用主 ...
- vue2.0 知识体系示意图
- Android PopupWindow增加半透明蒙层
先看效果图: BasePopupWindowWithMask.class package com.example.popupwindowwithmask; import android.content ...
- python捕捉详细异常堆栈的方法
python中有 try——except 的方法捕获异常,可以获取到异常的种类以及自定义异常, 但是有时候对于debug测试来说,信息不全,比如说 触发异常的具体位置在哪: import traceb ...
- oracle 根据时间戳查询date类型sql
话不多说上sql: select to_char(1574837126879/(1000*60*60*24)+to_date('1970-01-01 08:00:00','YYYY-MM-DD HH2 ...
- [主动学习--查询策略] 01 Core-set
符号定义 主动学习每一次迭代选择的样本数量为一个 budget 训练集中初始无标签数据集记为 unlabeled data,\(\bm{u}^0\) 训练集中初始有标签数据集记为 initial la ...
- [C]#include和链接
概述 对于刚接触C语言的同学来说,通常对“在文件中用#include预处理操作符引入文件”和“编译时链接多个文件”这两个操作会有所混淆,这个文章主要为了解析一下它们的区别. #include预处理操作 ...