【发布时间】:2013-05-07 09:13:42
【问题描述】:
我正在从 vim 执行 python 文件,如下所述: How to execute file I'm editing in Vi(m)
我在 Windows 和 Linux 上观察到相同的行为。 为了测试,我移动了我的 .vim 以避免其他插件干扰。然后我设置:
:set makeprg=python\ %
现在当我运行这样的示例文件(称为 mini.py)时
import datetime
print "hello"
def foo1():
print "foo"
print "str: " + str(datetime.datetime.now())
print "str: " + str(datetime.datetime.now().date())
foo1()
现在当我执行时
:make
"mini.py" 10L, 173C written
:!python mini.py 2>&1| tee /tmp/vew33jl/9
hello
foo
str: 2013-05-07 17:01:47.124149
str: 2013-05-07
"str: 2013-05-07 17" [New File]
(3 of 4): 47.124149
vim 会阻塞 datetime.now 输出,并使用当前日期创建一个新文件并立即显示它。
这种行为是意料之中的吗?
如果我注释掉 .now() 行(now().date() 显然不是问题),它会按预期工作,我或多或少会看到我期望的文本输出。
【问题讨论】: