CLI:实现类似git commit(打开文本编辑器并获取值)

Jon*_*ono 4 git shell command-line command-line-interface node.js

我正在制作命令行应用程序.我想允许用户在为终端中的内容添加值时,能够使用文本编辑器添加值.git是如何实现这一目标的?

我想打开他们的默认编辑器,允许他们输入文本,当他们保存时获取值并将该值用于我的应用程序.

谢谢.

che*_*ner 7

通常,您会做四件事:

  1. 创建一个临时文件
  2. fork一个外部进程,它执行环境变量中指定的程序$EDITOR,将临时文件的名称作为参数.
  3. 等待进程返回.
  4. 打开并从临时文件中读取以查看用户编写的内容.

  • 伟大的。这很有帮助。我发现这些指令可以在 Node 中执行此操作(如果其他人需要它们):http://stackoverflow.com/questions/15726004/is-there-a-way-to-quit-node-js-and-launch-vim-on -a-file `var vim = require('child_process').spawn('vim', ['test.txt'], {stdio: '继承'}); vim.on('退出', process.exit);` (2认同)