我如何退出Vim,而不是:q,然后返回继续编辑?
答案 0 :(得分:520)
假设终端vim的风格为* nix:
控制 + ž
将暂停该过程并返回到您的shell
fg
将恢复(带来 f g 轮)你的暂停的vim
使用以下命令启动子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
为了给您一个简短的总结,以下是不同的退出和退回方法:
暂停和恢复 - 您实际上并没有退出vim,只需在后台隐藏您的会话,直到您需要它为止。如果您重置计算机或向vim发出kill命令,则会丢失会话。当你想暂时切换到另一个任务时,这很有用,但如果是这种情况,那么你可能希望改为使用GNU Screen utility。
会话 - 这是在vim实例之间保存会话的真正方法。即使你真的放弃了vim,当你回来时,你的会话也会在那里。这可能就是你要找的东西。
答案 6 :(得分:4)
要扩展Zen答案,您可以在~/.vimrc
中添加以下行,以便在bash和vim之间快速切换:
noremap <C-d> :sh<cr>
答案 7 :(得分:3)
只需添加fg
并返回最近暂停的程序
答案 8 :(得分:2)
如果您正在使用Neovim,则可以执行以下操作:
:terminal
命令调出终端窗口。 exit
以终止终端进程答案 9 :(得分:0)
如果您不介意使用鼠标一点:
这将在终端上创建一个新选项卡,您可以在该选项卡上运行Vim。现在,使用鼠标移至/移出终端。我更喜欢这种方式,而不必总是键入(:shell
并退出)。