redirect - 如何使用 `:term` 命令进行 shell 重定向?
问题描述
我正在使用 Vim 终端 ( :term
) 在单独的窗口中打印我的 Python 脚本的输出:
:term python3 myfile.py
它可以工作,但是当我尝试从文件重定向输入时:
:term python3 myfile.py < input.txt
它不这样做,只是坐在那里等待输入。
如何在 Vim 命令模式下使用重定向输入:term
?
解决方案
你想要执行 shell 重定向,但 Vim 命令行不是 shell,所以默认情况下,整个输入作为命令及其参数传递。
如果您希望 Vim 先将命令传递给 shell(例如 Bash)而不是直接执行,您需要使用++shell
选项,如下所示:
:term ++shell python3 myfile.py < input.txt
要了解有关 Vim 内置终端选项的更多信息,请查看:h :term
和:h term++open
推荐阅读
- php - 从容器内部发送请求时出现 PDO 异常
- java - 如何在 Android Studio 中改变 listView 中的项目数量?
- python - QuerySet 上的 range() 用于 QuerySet 上的 tqdm
- macos - 如何在 iOS Catalina (10.15.1) 上解决此错误消息
- php - 如何添加到另一个 PHP 文件中的数组?
- java - 在单词列表上实现合并排序 - 原始单词附加回列表?
- c - 使用 POSIX 读取文件
- java - 在eclipse中单击完成按钮后项目不会导入
- ruby-on-rails - 为在 Rails 6.0 上运行的 webapp 添加 Bootstrap JavaScript 库到 application.js
- ios - 从具有编译条件的多个目标的工作区中排除 AdMob