如何在控制台中退出"vim -y"?

32

我不小心输入了 vim -y install python-requests 而不是 yum ... ,现在我不知道如何从 vim 中退出。标准选项 shift + : + q! 无效。有没有其他方法可以退出 vim 而不杀死它?


16
简易模式并不简单。 - Peter Rincker
使用Ctrl+Q退出简易模式,以后再也不要打开它。 - Vaisakh K M
5个回答

37
使用-y(easy mode)选项时,Vim默认为插入模式,并且您无法通过<Esc>永久退出到正常模式。然而,就像在默认的Vim中一样,您可以通过<C-O>发出单个正常模式命令。因此,要退出,请键入<C-O>:q!<CR>
另外,在easy mode下有一个特殊的<C-L>映射,可返回正常模式。

2
很高兴能够帮助。别忘了:第一条规则是“不要惊慌”。然后,记住Vim有出色的文档。 - Ingo Karkat

16

-y 选项使 vim 以易用模式启动,你可以输入 CTRL-L 返回正常模式,然后输入 :q! 退出。


1
我使用 gVim Easy,对于在 .gvimrc 中添加 set im!,它可以正常工作。 gVim Easy v.s. gVim

1

ctrl + q 用于退出简易模式。


太棒了!我简直不敢相信我以前居然不知道这个! - J-L

1

记住,vimvim -y(gVim Easy)几乎相同,除了以下区别:

  • vim 在 NORMAL 模式下启动;vim -y 在 INSERT 模式下启动。
  • EscCtrl-[Ctrl-C 可以退出 vim 中的 INSERT 模式。但是,在 vim -y 中,这些键并不可用。它们被替换为 Ctrl-L
  • Ctrl-Q 允许用户在 保存 提示框中退出 vim-y。(但是,如果您没有使用非易用命令vim保存文件或者在提示框中指定了文件名,则无法保存文件。)
  • Ctrl-S 可以在 vim -y 中保存当前文件。(与 Ctrl-Q 一样,只有在您在提示框中指定了文件名或使用非易用的vim 命令保存了文件时,才能成功保存文件。否则,将会出现No file name错误提示。)

此外,还需要记住这个重要的相似之处:

在插入模式下,vimvim -y都允许您使用在插入模式下工作的Ctrl-命令。例如:
  • Ctrl-T缩进当前行。
  • Ctrl-D取消缩进(即减少缩进)当前行。
  • Ctrl-NCtrl-P自动完成当前正在输入的单词。
  • Ctrl-R x将寄存器x的内容粘贴到光标所在位置。

与此主题相关的是:

  • Ctrl-O临时进入NORMAL模式以发出一个NORMAL模式命令(之后您将立即返回INSERT模式)。

希望您能看到这个最后一个(Ctrl-O命令)将允许您保存(使用:w),保存并退出(使用:wq),放弃未保存的更改(使用:e!),以及简单地退出而不保存(使用:q!)。

您还可以使用Ctrl-O,再输入非Ex命令,例如u(撤销),dd(删除当前行),ZZ(保存并退出),以及ZQ(不保存退出)。

因此,如果您不熟悉在vim的INSERT模式下使用Ctrl-命令,我强烈建议学习至少Ctrl-O命令,因为记住它将帮助您找出如何退出(并保存文档)vim -y。(虽然掌握Ctrl-L的知识将有助于vim -y,但掌握Ctrl-O的知识将在vim -yvim中都有所帮助。)


要点摘要

如果你只记得这篇文章中的三件事,请记住以下内容:

  1. Ctrl-Q 是退出 vim -y 的简单直接方法,但如果您之前没有为文件指定文件名,则无法保存文件。

  2. vim 正常退出插入模式的方式(即 EscCtrl-[Ctrl-C)在 vim -y(Vim Easy)中被替换为 Ctrl-L

  3. Ctrl-O 命令在 vim -y(Vim Easy)中与在 vim 中一样有效。因此,您可以利用它来执行任何您想要的 NORMAL 命令。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接