如何暂时退出vim并返回

时间:2009-12-10 07:28:47

标签: vim

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

10 个答案:

答案 0 :(得分:520)

假设终端vim的风格为* nix:

暂停正在运行的vim

控制 + ž

将暂停该过程并返回到您的shell

fg

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

启动新shell

使用以下命令启动子shell:

:sh

(由配置)

:set shell?

:!bash

接下来是:

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

杀死shell并返回vim

答案 1 :(得分:101)

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

答案 2 :(得分:30)

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

:! <command>

,例如

:! ls

答案 3 :(得分:12)

如果您使用的是unix系统,ctrl-Z将暂停vim并为您提供shell。输入fg返回。请注意vim在编辑时创建交换文件,暂停vim不会删除该文件(毕竟你没有退出vim)。在哑终端上,这种方法对于使用vi的编辑 - 编译 - 编辑循环来说非常标准。我刚发现,对我来说,gvim可以最大限度地减少输入ctrl-Z

答案 4 :(得分:10)

您也可以:sus进入shell并返回fg

编辑:抱歉,这是一个错字。

答案 5 :(得分:5)

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

为了给您一个简短的总结,以下是不同的退出和退回方法:

  1. 暂停和恢复 - 您实际上并没有退出vim,只需在后台隐藏您的会话,直到您需要它为止。如果您重置计算机或向vim发出kill命令,则会丢失会话。当你想暂时切换到另一个任务时,这很有用,但如果是这种情况,那么你可能希望改为使用GNU Screen utility

  2. 会话 - 这是在vim实例之间保存会话的真正方法。即使你真的放弃了vim,当你回来时,你的会话也会在那里。这可能就是你要找的东西。

答案 6 :(得分:4)

要扩展Zen答案,您可以在~/.vimrc中添加以下行,以便在bash和vim之间快速切换:

noremap <C-d> :sh<cr>

答案 7 :(得分:3)

只需添加fg并返回最近暂停的程序

答案 8 :(得分:2)

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

  • :terminal命令调出终端窗口。
  • 做你的终端东西
  • 键入exit以终止终端进程
  • 按任意键返回nvim

答案 9 :(得分:0)

如果您不介意使用鼠标一点:

  • 启动您的终端,
  • 选择一个文件
  • 选择打开标签页

这将在终端上创建一个新选项卡,您可以在该选项卡上运行Vim。现在,使用鼠标移至/移出终端。我更喜欢这种方式,而不必总是键入(:shell并退出)。