【发布时间】:2013-03-31 03:22:31
【问题描述】:
我正在 Node.js 上创建一个简单的基于终端的文件管理器。有什么办法可以在我的程序在终端上运行时退出它并使用 VIM 打开一个文件?
【问题讨论】:
我正在 Node.js 上创建一个简单的基于终端的文件管理器。有什么办法可以在我的程序在终端上运行时退出它并使用 VIM 打开一个文件?
【问题讨论】:
简单地说:
require('child_process').spawn('vim', ['test.txt'], {stdio: 'inherit'});
如果 vim 退出时 Node.js 事件循环中没有任何内容,则 node 也会自动退出。或者,如果您需要保证节点会在 vim 退出时退出:
var vim = require('child_process').spawn('vim', ['test.txt'], {stdio: 'inherit'});
vim.on('exit', process.exit);
至于在 vim 退出之前 关闭节点应用程序,这实际上是不可能的,因为 vim 从生成进程(节点)继承标准输入/输出/错误流,这些流在节点退出时被销毁。 p>
【讨论】:
stdin.pause()。谢谢!