我是 Node 和 vim 新手。
我有以下代码文件,server.js 在 vim 中打开:
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 上的本地主机,则会显示愚蠢的“Hello World”文本。
终端显示“服务器已启动”文本,以及收到请求的输出。一切都很好。
当我关闭浏览器窗口并输入 Ctrl-z
停止 Node 服务器时,终端会显示 [1}+ stop vim server.js
,但不会返回到 vim 中的代码文件。
如果我通过输入 vim
返回到 vim,vim 将打开到同一目录,但我的文件未打开。如果我尝试打开该文件,vim 会提示交换文件重复。显然我可以使用 [R]ecover 选项,但似乎我错过了一个步骤。
我在这里缺少什么?
我已经用谷歌搜索了,但我不确定除了这个问题的标题之外我要问什么(它没有产生我正在寻找的答案,或者如果有,我不认识它)。我只是新手,我不确定我是否遗漏了有关终端、vim 或 *nix 的内容。
提前致谢。 。 .
更新:我突然想到我从来没有清楚地说明我在做什么 - 我想停止终端中的服务器并返回到 vim 中打开的文件。正如塔德曼下面提到的,我知道我可能正在尝试打开另一个编辑器实例。我不清楚的是如何返回到现有实例。现在尝试塔德曼的建议。
最佳答案
您正在创建一个子 shell 来运行 node
,使用 ^Z
暂停它,然后在执行下一步时打开 vim
的新副本。现在您有两个编辑器正在运行,因此您会收到有关交换文件的错误。
为什么不在一个单独的 shell 中执行此操作(这是大多数人倾向于做的),或者使用 ^C
停止服务器并返回到编辑器?
关于node.js - 在终端中停止 Node 服务器并返回到 vim 中的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19993321/