node.js - 在终端中停止 Node 服务器并返回到 vim 中的文件

标签 node.js vim linux-mint

我是 Node 和 vim 新手。

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

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/

相关文章:

linux - 如何使用 Cinnamon 中的键盘快捷键将窗口捕捉到屏幕中间?

ubuntu - 升级到 Linux Mint 18 后扫描仪不再工作

javascript - 如何播放多个视频对象,一个接一个地缓冲

javascript - req.body 如何正确映射到这里的 const 变量数组?

node.js - SocketIO 组

VIM - 如何删除 php 标签内的所有行?

node.js - 使用 nodejs 从 youtube 数据 api v3 发布/制作私有(private) youtube 视频

vim - 保存文件导致 vim 卡住

vim - vim中如何才能正常显示中文?

mysql.server : command not found