有时我需要在 shell 中测试我的 python 代码,所以我必须编辑代码,保存并退出并运行代码。如果出现任何问题,请重新打开文件以修改我的代码。然后保存并退出....我想知道VI中是否有一个方便的功能可以轻松测试VI中的代码?
问问题
244 次
3 回答
2
不,但如果你有 Ipython,它有一个方便的魔法,叫做 %autoreload。
例如:test.py
class A(object):
def __init__(self):
self.a = 0
然后我运行 ipython -i test.py
In [2]: a=A()
In [3]: a.a
Out[3]: 0
糟糕,最初的“a”值应该是 21……我最好解决这个问题。
class A(object):
def __init__(self):
self.a = 21
现在在 ipython 中我这样做了,这又是在 IPYTHON 的同一实例中:
%load_ext autoreload
%autoreload
这将为我将 A 类对象重新加载到 python 中,所以现在。
In [4]: a.a
Out[4]: 21
这在调试大型类时真的很有帮助,而且只做很小的改变。我的工作流程通常包括打开两个终端窗口,一个使用 vim 来编辑 .py 文件,一个运行 ipython 来测试和调试更改。
于 2013-09-13T17:48:36.950 回答
0
当然,我一直这样做。在你的 vimrc 中放:
command R ! python ./%
然后 :R 将执行 python 代码。我也有这个用于调试,尽管它不像我希望的那样有用:
command D ! python -m ipdb ./%
它在调试中运行它,但我们的环境通常不会在同一实例中永久重新运行。
于 2013-09-13T17:52:33.677 回答
0
我可能会错误地解释您的问题,但这是我的建议。也许您可以打开多个终端。在一个终端上,编写/编辑您的代码并保存。我假设使用 ':w' 并让终端保持打开状态。然后在另一个终端上,编译你的代码。
于 2013-09-13T17:56:59.143 回答