如何使用 `:term` 命令进行 shell 重定向?

How to do shell redirection with `:term` command?

我正在使用 Vim 终端 (:term) 在单独的 window:

中打印我的 Python 脚本的输出
:term python3 myfile.py

它有效,但是当我尝试重定向来自文件的输入时:

:term python3 myfile.py < input.txt

它没有这样做,只是坐在那里等待输入。

如何使用 :term 在 Vim 命令模式下重定向输入?

您想执行 shell 重定向,但 Vim 命令行没有 shell,因此默认情况下整个输入作为命令及其参数传递。
如果你想让Vim先把命令传递给shell(例如Bash)而不是直接执行它,你需要使用++shell选项,像这样:

:term ++shell python3 myfile.py < input.txt

要了解有关 Vim 内置终端选项的更多信息,请查看 :h :term:h term++open