如何暂时退出vim并返回

我怎样才能退出Vim,而不是:q,然后回去继续编辑?

假设terminalvim的* nix的味道:

暂停你的运行vim

Ctrl + Z

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

fg 

将恢复(带来一轮)你的暂停vim

开始一个新的shell

使用以下命令启动子shell:

 :sh 

(如configuration)

 :set shell? 

要么

 :!bash 

其次是:

Ctrl + D (或exit ,但为什么input这么多?)

杀死shell并返回到vim

您可以使用:sh退出到您的默认shell,然后在shell提示符处input$ exit将返回到vim。

您可以通过以下方式临时切换到shell模式:

 :! <command> 

 :! ls 

如果你在unix系统上, ctrl-Z会挂起vim并给你一个shell。 键入fg返回。 请注意, vim在编辑时会创build一个交换文件,挂起vim将不会删除该文件(毕竟你并没有退出vim)。 在哑terminal,这种方法是非常标准的使用vi编辑 – 编译 – 编辑循环。 我刚刚发现,对我来说, gvim键入ctrl-Z最小化。

你也可以通过:sus来做到这一点:sus坠入壳内,后退fg

编辑:对不起,它的错字。

有几种方法可以退出vim,并在返回时使每件事情都一样。 vim中有非常好的文档来解释可以完成的各种方法。 您可以在vim中使用以下命令访问相关的帮助页面:help usr_21

为了给你一个简要的总结,下面是不同的退出和退回你的会议完整的方法:

  1. 暂停和恢复 – 你实际上并没有退出vim,你只需要在后台隐藏会话,直到你需要它为止。 如果您重置您的计算机或向vim发出kill命令,您将失去会话。 当你想暂时切换到另一个任务时,这是很好的,但是如果是这样的话,那么你可能会想用GNU Screen实用程序来代替。

  2. 会话 – 这是在vim实例之间保存会话的真实方式。 即使你真的退出vim,当你返回时,你的会话将会在那里。 这可能是你正在寻找的。

为了扩展禅的答案,你可以在你的~/.vimrc添加下面的代码,以便在bash和vim之间快速切换:

 noremap <Cd> :sh<cr> 

只要把fg放回最近暂停的程序即可

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

  • :terminal命令调出一个terminal窗口。
  • 做你的terminal的东西
  • inputexit以终止进程
  • 按任意键返回到nvim