我有一个与用户交互的脚本(将一些问题打印到 stderr 并从 stdin 获取输入),然后将一些数据打印到 stdout。我想将脚本的输出放入 vimscript 的变量中。它可能应该看起来像这样:
let a = system("./script")
假定的行为是脚本运行,与用户交互,并且毕竟 a
被分配其输出到 stdout。但是 a
被分配了 stdout 和 stderr 的输出,因此用户不会出现任何提示。
你能帮我解决这个问题吗?
最佳答案
最好避免在 Vim 中使用交互式命令;特别是使用 GVIM(在 Windows 上)时,会弹出一个新的控制台窗口;您可能没有功能齐全的终端,...
更好地在 Vimscript 本身中查询任何需要的参数(使用 input()
;或者从自定义 Vim :command
传递它们),并且只需使用外部脚本即可-以交互方式,为其提供所需的一切。
关于scripting - 如何在 vimscript 中与外部命令交互?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20597924/