【问题标题】:how can i get out of vi editor when esc won't work?当 esc 不起作用时,我如何退出 vi 编辑器?
【发布时间】:2017-09-06 05:48:01
【问题描述】:

我正在为 UNIX 使用 vi 编辑器。有时我在退出 vi 编辑器时遇到问题,我去按 esc 然后输入“:wq”或“q!”退出,但它没有逃避。 vi 编辑器只是输入奇怪的符号/字符,我无法退出。 esc不逃逸怎么办逃逸退出?

【问题讨论】:

  • 感谢大家的建议。我希望没有其他人不得不与这个原始编辑器作斗争。我最终只是改用 pico,它更容易使用,我没有 vi 的 pico 问题。
  • 鉴于有无数可用的编辑器,我想知道你为什么不使用 vi,如果你不喜欢它。

标签: unix cygwin vi


【解决方案1】:

除了您正在使用的命令之外,还有一些其他命令

  1. Shift+zz 保存(如果修改)并退出
  2. :cq 不写就退出

编辑: 我发现了一些我刚刚学到的命令。

退出vi编辑器的方法有很多种,你可以使用其中一些命令退出其他编辑器

  1. 按 F2,这将使您进入插入模式,现在按:q 并回车
  2. 另一种方法是按Ctrl + c 或ctrl + z 命令强制退出vi 编辑器。
  3. 按 ZZ (shift+z+z)。它将保存并退出。
  4. Ctrl + [ 也可以像转义键一样使用。

第 3 条和第 6 条命令可能适用于每个系统,也可能不适用于每个系统,因为它取决于终端的设置和系统本身。

或者您可以将某些键映射为类似转义的行为,请参考此post,这将为您节省一些击键。

【讨论】:

    【解决方案2】:

    你试过ESC然后“ZZ”吗? 对我来说似乎是最后的结果。

    【讨论】:

      【解决方案3】:

      您是否尝试过 ^z 然后“杀死”该进程?

      【讨论】:

        【解决方案4】:

        对我来说这很有效: CTL + c(在您的情况下等于 ESC) :wq! (写保存退出)然后点击回车

        【讨论】:

          【解决方案5】:

          当 vi 以 TERM=linux 启动时会发生这种情况。您可以使用 set term 命令来解决此问题。 根据 shell,使用以下命令之一将 TERM 设置为 vt100。

          csh or tcsh:        setenv TERM vt100
          sh:                 TERM=vt100; export TERM
          ksh, bash, or zsh:  export TERM=vt100
          

          vi 应该可以在不将终端设置为 kx 模式的情况下工作(有关类似问题,请参阅此:https://unix.stackexchange.com/questions/86742/term-linuxxterm-vi-in-an-xterm-or-the-aaabbbbbbccddd-problem)。 为了保存它,将 set TERM 命令添加到 ~/.vimrc 文件中,以便在启动 vi 时加载该选项。

          【讨论】:

            猜你喜欢
            • 2015-09-14
            • 2010-10-02
            • 1970-01-01
            • 2017-04-04
            • 1970-01-01
            • 1970-01-01
            • 2012-02-10
            • 1970-01-01
            • 2015-08-25
            相关资源
            最近更新 更多