在terminal中停止节点服务器并返回到vim中的文件

我是Node和vim的新手。

我有以下代码文件,在vim中打开server.js:

var http = require("http"); function onRequest(request, response) { console.log("Request received"); response.writeHead(200, {"Content-Type": "text/plain"}); response.write("Hello World"); response.end(); } http.createServer(onRequest).listen(8888); console.log("Server has started"); 

当我进入vim“命令”模式并input:

 :!node server.js 

事情按预期工作(我认为)。 窗口切换到标准的terminal窗口,如果我打开一个浏览器并导航到端口8888上的本地主机,则会显示愚蠢的“Hello World”文本。

terminal显示“服务器已启动”文本以及收到请求的输出。 一切都很好。

当我closures浏览器窗口,并键入Ctrl-z to停止节点服务器,terminal显示[1}+ stopped vim server.js ,但不会返回我的代码文件在vim中。

如果我通过inputvim返回到vim,vim将打开到同一个目录,但是我的文件没有打开。 如果我尝试打开文件,vim抱怨重复的交换文件。 很明显,我可以使用[R] ecover选项,但似乎我缺less一个步骤。

我在这里错过了什么?

我search了一下,然后search到了,但是我不确定这个问题的标题以外有什么要求(这个问题没有提出我正在寻找的答案,如果是的话,我也没有认出来)。 我只是新的,我不确定是否缺less有关terminal,vim或* nix的信息。

提前致谢 。 。 。

更新:它发生在我身上我从来没有清楚地说明我是什么 – 我想停止在terminal服务器,并返回到VIM打开的文件。 正如Tadman在下面提到的,我知道我可能试图打开一个额外的编辑器实例。 我不清楚的是如何返回到现有的实例。 现在试着Tadman的build议。

您正在创build一个运行node的子shell,使用^Z挂起它,然后在下一步时打开一个vim的新副本。 现在你有两个编辑器运行,所以你得到一个有关交换文件的错误。

为什么不在一个单独的shell中这样做,这是大多数人倾向于做的,或者使用^C来停止服务器并返回到您的编辑器?