我该如何退出Vim但不是使用 :q
命令,然后再回去继续编辑?
假设你在*nix操作系统上使用终端版的Vim:
Ctrl + Z
可以将进程挂起并返回到你的shell中
fg
这将恢复(将挂起的Vim带回到前台),
使用以下命令启动子Shell:
:sh
(按照配置)
:set shell?
:!bash
接着按:
Ctrl+D (或者exit
,但为什么要打那么多字呢?)
以杀死shell并返回Vim。
您可以使用:sh
命令退出到默认shell,然后在shell提示符下键入$ exit
即可返回Vim。
你可以通过以下方式临时切换到 shell 模式:
:! <command>
例如
:! ls
如果你正在使用Neovim,可以按照以下步骤操作:
:terminal
命令打开终端窗口。exit
关闭终端进程。fg
即可返回到您最近暂停的程序。:help usr_21
为了给您一个简要概述,这里是不同的退出和返回方法,使您的会话保持完好:
挂起和恢复 - 您并不实际退出 Vim;您只需将会话隐藏在后台,直到需要它。如果您重置计算机或向 Vim 发出 kill 命令,您将失去会话。这对于您想暂时切换到另一个任务很有用,但如果是这种情况,那么您可能需要考虑使用 GNU Screen 实用程序。
会话 - 这是在 Vim 实例之间保存会话的真正方法。即使您真正退出 Vim,在您返回时,您的会话也将存在。这可能是您正在寻找的。
如果您不介意稍微用一下鼠标:
这将在终端上创建一个新的选项卡,您可以在其中运行Vim。现在使用鼠标在终端之间切换。我更喜欢这种方法,而不是总是需要输入(:shell
和退出)。
ps
命令可以查看前台进程。http://unix.stackexchange.com/questions/6115/viewing-foreground-process-using-ps - Vlad Vinnikovnodemon app.js
(nodemon 可以在文件编辑时刷新服务器),然后我想回到我的 vim 编辑中。我能在不打开两个分离的终端窗口的情况下做到这一点吗? - Costa Michailidiscontrol-z
的作用是“撤消”,请检查你的 vimrc 文件是否存在behave mswin
。如果有,请将其删除,然后control-z
将会起作用。 - schuess