如何暂时退出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
为了给你一个简要的总结,下面是不同的退出和退回你的会议完整的方法:
-
暂停和恢复 – 你实际上并没有退出vim,你只需要在后台隐藏会话,直到你需要它为止。 如果您重置您的计算机或向vim发出kill命令,您将失去会话。 当你想暂时切换到另一个任务时,这是很好的,但是如果是这样的话,那么你可能会想用GNU Screen实用程序来代替。
-
会话 – 这是在vim实例之间保存会话的真实方式。 即使你真的退出vim,当你返回时,你的会话将会在那里。 这可能是你正在寻找的。
为了扩展禅的答案,你可以在你的~/.vimrc
添加下面的代码,以便在bash和vim之间快速切换:
noremap <Cd> :sh<cr>
只要把fg
放回最近暂停的程序即可
如果您使用Neovim,则可以执行以下操作:
-
:terminal
命令调出一个terminal窗口。 - 做你的terminal的东西
- input
exit
以终止进程 - 按任意键返回到nvim