当前位置: 首页 > 面试题库 >

为什么不“历史| vim”的工作?

米元凯
2023-03-14
问题内容

我想使用Vim来查看结果history(不在shell中)。我认为history | vim可以使用(将的结果history用作的输入vim),但返回结果为:

$history | vim
Vim: Warning: Input is not from a terminal
Vim: Error reading input, exiting...

Vim: Finished.

有人可以解释吗?


问题答案:

通过传递到 vim中 ,您正在更改标准输入流。由于 vim 是交互式程序,因此它需要标准输入作为控制台。

如果要在vim中查看,应该告诉它您正在从stdin中读取文件(通过提供参数-):

history | vim -

另外,您可以使用 更多更少

history | more
history | less

后两者是优选的。如果通过管道 传送vim
,它将看到您的“文件”具有修改,因此您不能直接使用:q命令退出。相反,您必须通过强制退出:q!,这有点笨拙。

在另一方面,你可以退出 更多更少 只是打字q。看看这两个程序的手册页。您会经常使用它们。

根据Russell Silva在评论中的建议,当您从stdin中读取时,可以以只读模式打开 vim
。只需提供-R论点即可。然后,您可以正常退出而无需覆盖:

history | vim -R -


 类似资料:
  • 主要内容:人工智能的成熟(1943-1952),人工智能的诞生(1952-1956),黄金岁月 - 早期的热情(1956-1974),第一个AI寒冬(1974-1980),AI的热潮(1980-1987),第二次AI寒冬(1987-1993),智能代理的出现(1993-2011),深度学习,大数据和人工智能(2011年至今),以下是纠正/补充内容:人工智能不是一个新词,也不是研究人员的新技术。这项技术比想象的要老很多。甚至在古希腊和埃及神话中也有机械人的神话。以下是AI历史上的一些里程碑,它定义

  • 我得根据年、月、日、时、分来数次数。(秒统一为零,我不需要秒) 我选择了HashMap作为数据结构。 我没有用“约会”。是因为,Android Devloper这样说。 日期(int year,int month,int Date,int hrs,int min,int sec)API级别1中不推荐使用此构造函数。从JDK 1.1版开始,由calendar.set(年+1900,month,dat

  • 当我调用下面的代码时,我总是得到 用户的值。Id和密码有效。结果错误总是说“无效令牌”,我没有尽可能地看到它,因为我得到它并立即检查它和它的错误。这只是一个理智测试——我通常通过电子邮件向用户发送令牌,但这也不起作用。 UPDATE 1我在同一个控制器中定义UserManager,如下所示: UPDATE 2这是我的Application ationUserManager代码:

  • 有人能找出为什么我的不能工作。也许我错过了什么。我意识到这可能是愚蠢的没有任何更多的上下文比我所展示的,但请您询问,我将很乐意提供更多。 这是一段很大的代码,所以我不知道如何用它生成SSCE。您正在查看的是子类的构造函数,它包含3个面板。此时,只是一个。方法打开一个filechooser,然后加载选定的图像,该图像被绘制到上。图像显示良好,一切正常,除了我调整窗口大小时,没有滚动条。

  • 历史 本书改编和包含了以下两本书的部分章节,这两本书均以GNU Free Documentation License发布。 How To Think Like A Computer Scientist: Learning with C++ 作者Allen B. Downey。原书由Green Tea Press发行,可以从http://www.greenteapress.com/下载到。 Prog