我正在编辑的文件名

Spa*_*gus 2 python vim

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

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

:!蟒蛇

无需做

:!python~/Documents/script.py

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

谢谢.

phi*_*phi 9

试试:!python%


Rob*_*lls 6

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

我喜欢使用的映射是:

:map <F5> :w<CR>:!python % 2>&1 \| tee /var/tmp/robertw/results<CR>
Run Code Online (Sandbox Code Playgroud)

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

如果你做了:

:set autoread
Run Code Online (Sandbox Code Playgroud)

和a:

:sb /var/tmp/robertw/results
Run Code Online (Sandbox Code Playgroud)

最后会显示两个缓冲区.一个包含脚本,另一个包含输出,包括 你的脚本中的错误.通过设置自动回复,按下v键后,将自动加载显示输出的窗口.

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

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