【问题标题】:How to do shell redirection with `:term` command?如何使用 `:term` 命令进行 shell 重定向?
【发布时间】:2021-11-09 00:09:22
【问题描述】:

我正在使用 Vim 终端 (:term) 在单独的窗口中打印我的 Python 脚本的输出:

:term python3 myfile.py

它可以工作,但是当我尝试从文件重定向输入时:

:term python3 myfile.py < input.txt

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

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

【问题讨论】:

    标签: redirect vim terminal stdin term


    【解决方案1】:

    你想要执行 shell 重定向,但 Vim 命令行不是 shell,所以默认情况下整个输入作为命令及其参数传递。
    如果您希望 Vim 先将命令传递给 shell(例如 Bash)而不是直接执行,则需要使用 ++shell 选项,如下所示:

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

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

    【讨论】:

    • 非常感谢您的回答。我已经阅读了 :term 的帮助,但不知何故错过了这个选项。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-11-09
    • 2012-03-16
    • 1970-01-01
    • 1970-01-01
    • 2018-08-13
    相关资源
    最近更新 更多