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

因为诚实

:wq!

打字太多了。

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

【问题讨论】:

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

标签: keyboard-shortcuts vi


【解决方案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 独有的功能?如果是这样,我很抱歉。

        【讨论】:

          猜你喜欢
          • 2017-04-04
          • 1970-01-01
          • 2015-09-10
          • 2017-09-06
          • 1970-01-01
          • 2012-02-10
          • 2021-11-29
          相关资源
          最近更新 更多