如何通过单键退出 Vi 编辑器?

Posted

技术标签:

【中文标题】如何通过单键退出 Vi 编辑器?【英文标题】:How do you quit the Vi editor with single keypress? 【发布时间】:2010-10-02 21:46:37 【问题描述】:

因为诚实

:wq!

打字太多了。

请注意,问题是关于原始 Vi(比如 FreeBSD 附带的 Vi)而不是 Vim。

【问题讨论】:

用一个按键关闭编辑器是不是有点……嗯……不安全? 哦,如果您选择“Enter”作为“一键”,那么所有代码​​都在一行:/ 讽刺 Filip 的评论是为了搞笑,但有点行不通……您可以非常有效地使用 Vi,而无需在普通、可视、操作符挂起或插入模式下使用“Enter”。只有命令模式需要“回车”。 【参考方案1】:

:x 可以在 Vi 上工作吗?虽然对于你的情况,我猜它可能是:x!

【讨论】:

你不需要最后一个!,你只需要按 ESC,输入 :wq 然后回车。【参考方案2】:

按住 shift 键并敲击 Z 两次。

ZZ(大部分)等同于:wq!

如果您真的想要一个单键击键解决方案,FreeBSD 提供了源代码,因此,在紧要关头,您可以对其进行修改并重新编译。这有点矫枉过正,但它会解决你的问题。

【讨论】:

对于 dolzenko 的教化,ZQ (大部分)等同于 :q!我肯定比 :wq/:q 更多地使用它们。【参考方案3】:

“ZZ”呢?它与 ":wq!" 的语义略有不同,但也略短。

【讨论】:

【参考方案4】:

将您最喜欢的键映射到 :wq!命令。

例如把它放在你的 .vimrc 中:

map <F8> :wq!<CR>

等等。

编辑: 抱歉,只有 vim,错过了。

【讨论】:

【参考方案5】:

这似乎适用于 solaris 的旧版本 vi:

Version SVR4.0, Solaris 2.5.0

$ vi -c "map g ZZ" test

编辑:另外,这似乎有效:

$ vi -c 'map g :q!^M' test

^M 实际在哪里,^V (ctl-v) 然后 ^M (ctl-m)

【讨论】:

是的,它有效,很好!实际上我已经后悔我没有说明我想要哪个版本(即保存或不保存),那么有没有办法将 Enter 字符放入映射序列中?可以“map g :q!”退出而不保存。 这似乎也有效: $ vi -c 'map g :q!^M' test ^M 实际在哪里,^V 然后 ^M【参考方案6】:

如果你使用的是 gvim,你可以用ALT+F4 关闭它。两个键,但一个键。

如果您在自己的 xterm 中使用 vi,ALT+F4 应该关闭 xterm,同时终止 vi。

【讨论】:

【参考方案7】:

久经考验的真实有什么问题?

:x

这不是一键按下,但它比 :wq 少得多!这就是您的问题似乎真正寻求的。

或者这是 ViM 独有的功能?如果是这样,我很抱歉。

【讨论】:

以上是关于如何通过单键退出 Vi 编辑器?的主要内容,如果未能解决你的问题,请参考以下文章

在linux下如何退出vi编辑状态,我输入:q!不管用啊

使用vi编辑器修改配置文件时,如何快速复制,粘贴多行文字内容

linux如何退出vi

SecureCRT内文本vi编辑完内容后保存退出会有很长一串~的空格

linux vi保存退出命令 (如何退出vi)

Linux的vi和vim编辑器