我如何退出Vim,而不是:q,然后返回继续编辑?


当前回答

你可以通过以下方法暂时切换到shell模式:

:! <command>

:! ls

其他回答

假设终端Vim是*nix类型:

暂停运行Vim

Ctrl + Z

将暂停进程并返回到您的shell

fg

将恢复(带到前景)您暂停的Vim。

启动一个新的shell

使用以下命令启动子shell:

:sh

(由)

:set shell?

or

:!bash

紧随其后的是:

Ctrl+D(或退出,但为什么要输入这么多?)

杀死外壳并返回Vim。

你可以通过以下方法暂时切换到shell模式:

:! <command>

:! ls

有几种方法可以退出Vim,并且当您返回时一切都是一样的。在Vim本身中有非常好的文档解释了实现这一点的各种方法。您可以在vim中使用以下命令访问相关帮助页面

为了给你一个简单的总结,这里有不同的退出和返回的方法,而你的会话完好无损:

Suspend and resume - You don't actually quit Vim with this; you simply hide your session in the background until you need it. If you reset your computer or issue a kill command to Vim, you will lose your session. This is good for when you want to switch to another task temporarily, but if this is the case, then you might want to look into using the GNU Screen utility instead. Sessions - This is the true way of saving your session between instances of Vim. Even if you truly quit Vim, your session will be there for you when you return. This is probably what you are looking for.

如果您正在使用Neovim,您可以执行以下操作:

:terminal命令打开终端窗口。 做好你的终端工作 输入exit终止终端进程 按任意键返回到Neovim

如果您在Unix系统上,Ctrl + Z将挂起Vim并给您一个shell。

输入fg返回。注意,Vim在编辑时创建一个交换文件,挂起Vim不会删除该文件(毕竟你并没有退出Vim)。在哑终端上,这个方法对于使用vi的编辑-编译-编辑循环来说是相当标准的。我刚刚发现,对我来说,gVim最小化了键入Z。