Node.js 停止终端中的节点服务器并返回到vim中的文件

Node.js 停止终端中的节点服务器并返回到vim中的文件,node.js,vim,linux-mint,Node.js,Vim,Linux Mint,我不熟悉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"); respo

我不熟悉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“命令”模式并键入:

:!node server.js
(我认为)事情按预期进行。该窗口更改为标准终端窗口,如果打开浏览器并导航到8888端口上的localhost,将显示愚蠢的“Hello World”文本

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

当我关闭浏览器窗口并键入
Ctrl-z以停止节点服务器时,终端显示
[1}+stopped vim server.js
,但不会将我返回到vim中的代码文件

如果我通过键入
vim
返回到vim,vim将打开到同一目录,但我的文件未打开。如果我尝试打开该文件,vim会抱怨交换文件重复。显然,我可以使用[R]ecover选项,但似乎我遗漏了一个步骤

我错过了什么

我已经在谷歌上搜索过了,但除了这个问题的标题之外,我不确定我在问什么(这个问题没有给出我想要的答案,或者如果它给出了,我也没有认出它)。我只是太新了,以至于我不确定我是否遗漏了关于终端、vim或*nix的一些信息

先谢谢你


更新:我突然意识到我从来没有清楚地说明我在追求什么-我想停止终端中的服务器并返回到vim中打开的文件。正如Tadman在下面提到的,我知道我可能试图打开一个额外的编辑器实例。我不清楚的是如何返回到现有实例。现在尝试Tadman的建议

您正在创建一个子shell来运行
节点
,使用
^Z
挂起该子shell,然后在执行下一步时打开
vim
的新副本。现在有两个编辑器正在运行,因此您会得到一个有关交换文件的错误


为什么不在一个单独的shell中执行此操作(大多数人都会这么做),或者使用
^C
停止服务器并返回到编辑器?

我会尝试。这对Linux、vim和Node来说是一个新概念。当你不确定自己做错了哪一部分时,会遇到挑战!我要做的是,从vim命令输入运行Node app,退出Node app并重新启动转到我正在使用的文件。我将查看您建议的^C选项。这正是我正在寻找的。谢谢!大多数shell中都有很多这样的工作。这些工作可以追溯到20世纪70年代,如果不是更早的话。很酷。是的,我喜欢我在使用时发现的*nix,但有时很难记住,而且还需要一段时间才能知道是什么正确的做法是。永远不要确定我已经做的(就代码o而言)是否有错误,或者我只是没有找到正确的下一件事。:-)