我正在Node.js上创建一个简单的基于终端的文件管理器。有什么方法可以,当我的程序在终端上运行时,退出它并用VIM打开一个文件?
答案 0 :(得分:8)
简单地:
require('child_process').spawn('vim', ['test.txt'], {stdio: 'inherit'});
如果在vim退出时Node.js事件循环中没有任何内容,则节点也将自动退出。或者,如果您需要保证节点将在vim执行时退出:
var vim = require('child_process').spawn('vim', ['test.txt'], {stdio: 'inherit'});
vim.on('exit', process.exit);
至于在 vim退出之前关闭节点应用程序,这实际上是不可能的,因为vim从生成进程(节点)继承标准输入/输出/错误流,这些流在节点退出时被销毁。