我正在编辑的文件名

时间:2009-06-17 17:45:14

标签: python vim

我在〜/ Documents中编辑文件。但是,我的工作目录在其他地方,比如〜/ Desktop。

我正在编辑的文件是一个Python脚本。我有兴趣做一个像...这样的命令。

:!python

无需执行

:!python~ / Documents / script.py

这可能吗?如果是这样,命令会是什么?

谢谢。

2 个答案:

答案 0 :(得分:9)

尝试:!python%

答案 1 :(得分:6)

我经常映射一把钥匙给我这样做。我通常使用F5键,因为在vim中默认没有与之关联的命令。

我喜欢使用的映射是:

:map <F5> :w<CR>:!python % 2>&1 \| tee /var/tmp/robertw/results<CR>

这也将确保您在运行脚本之前已经写完了脚本。在将stderr复制到stdout之后,它还会在临时文件中捕获任何输出。

如果你做了:

:set autoread

和a:

:sb /var/tmp/robertw/results

您将完成显示两个缓冲区。一个包含脚本,另一个包含输出,包括你的脚本中的错误。通过设置自动注册,按下v键后,将自动加载显示输出的窗口。

要记住的一个技巧是使用cntl-ww在窗口和映射之间切换,因为它引用%(当前文件)仅在光标位于包含Python脚本的窗口中时才起作用。

我发现这确实减少了我的代码,测试,调试周期时间。