13 命令fc将允许可视地编辑前一个命令。如果在编辑器中改变主意,如何停止执行命令。在vim中,输入q!或q都导致命令被执行,并且CTRL-C也不起作用。是删除编辑器中的命令然后删除wq的唯一选择吗? bash command-history — 减用器 source
17 在vi中,您可以键入:cq退出而不保存并使用非零返回码。在这种情况下,该命令将不会重复。 另外,您通常可以挂起编辑器,使用ctrl-z该编辑器可以使您返回到Shell,而无需重做命令。您仍然必须fg重新启动编辑器,但是tmp文件将不再存在,因此您可以安全地退出编辑器。或者,您可以使用kill -9 %此暂停的编辑器。 我同意,这可能会更容易。当然,您始终可以使用vi或emacs命令在bash中编辑行。 — u source vi没有命令“:cq”。您要输入“:q!”吗? — 2015年 @schily抱歉,我假设vi是vi。您可以cq在quickfix中阅读有关vim 的信息。 — 2015年 不幸的是,vim不兼容POSIX(除了增强之外还有偏差)。对于一般帮助,通常最好不要依赖于本地或供应商的独特增强功能。顺便说一句::q!足够了,因为在这种情况下POSIX vi将退出!= 0。 — 2015年 @schily在大多数情况下,要依赖于vim的安装可能是安全的,在这种情况下,提问者明确说q!对他们不起作用 — Michael Mrozek 2 这是因为没有错误,因此退出代码为0。在vi中,它可以键入:c(导致非法命令消息),然后键入:q!。并且记住的错误导致退出代码!=0。但是,这在vim中不起作用。我以前的假设是:q!总是导致退出代码!= 0是错误的。 — 2015年