python - 如何从 Vim 在 shell 中加载 python,但不立即使用它?

标签 python vim tdd maya

我正在进行 TDD,但我正在使用的系统需要 6 秒才能完成样板代码。该代码不是我工作的一部分,也不是我测试的一部分(它是 Autodesk Maya 的 headless/batch/CLI Python 模式)。我已经与支持人员交谈过,并且没有办法解决加载时间问题,所以我想也许我可以在编码时首先在后台加载并初始化Python,然后当我'时,我的映射将简单地在其中运行nosetests我准备好了。我的测试大约需要 0.01 秒,所以这应该感觉是瞬时的,这确实有助于红/绿/重构循环。

简而言之,Vim 不会触发 /path/to/mayapy/path/to/runtests.py/current/buffer/path,而是只会触发 /path/to/mayapy 以及来自 runtests.py 的样板内容,然后以某种方式保留该正在运行的实例。当我点击映射时,它会使用当前缓冲区的路径向该正在运行的实例发送对nosetest的调用(然后启动另一个实例以在等待下一次运行时保留)。如何保留正在运行的实例并稍后调用它?我什至考虑使用 2 或 3 个链,以应对我犯一些小错误并在 2 秒后重新运行的情况。

最佳答案

Vim-ipython是 Paul Ivanov 的出色作品,是 vim 和 ipython session 之间的接口(interface) ( demo video )。这可能会减轻您向 python 发送缓冲区并等待结果的一些样板。

我不完全确定这正是你想要的,但是使用一些 python 和 vim 粘合代码,这可能是朝着正确方向迈出的一步,但我猜你需要做一些进行实验以获得您满意的工作流程。

关于python - 如何从 Vim 在 shell 中加载 python,但不立即使用它?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20866856/

相关文章:

python - 如何为 Python repl 着色

TDD 和 UML 一起

python - pytest-mock assert_called_with 类函数失败

python - 大量的 Python OSC 模块——使用哪一个?

在 Vim 中搜索 "off the record",或者从搜索历史中删除搜索模式?

xcode - 如何使用 OCUnit/XCTest 检查对象上是否存在属性?

node.js - 使用 Visual Studio Code 的 Mocha 断点

python - 如何在 Windows XP 上安装 Python Image Library?

python - 正则表达式如何处理正则表达式模式中间的 `^` 或 `$`?

vim - vim中用空格包围字符的命令