2011-09-25 33 views
3

假设我有蟒蛇几行代码:通过外部命令替换线路输出

for i in range(10): 
    print "item {}".format(i) 

是有办法,我可以直接在vim得到线的输出,而无需将文本复制到解释并将输出复制回来?

这些行通常只是文件的一部分,而不是孔文件。

回答

5

真正的答案(其余均接近)

做一个直观的选择,那么

:'<,'>!python - 

(快捷方式:VĴpython -输入

1

您应该可以执行:read !python myscript.py并将输出粘贴到您当前的缓冲区中。这vim wikia entry提供了更多的信息。

+0

谢谢,但这意味着保存文件,我想知道它是否是可能做到这一点只是文件的一部分 – skeept

+0

在这个问题中使用的技术可能会有所帮助 - http://stackoverflow.com/questions/230266/vi-vim-how-to-pipe-visually-selected-text-to- a-unix-command-and-append-output-to? – arunkumar

1

尝试:

:w !python -

,如果你有一些强调,应该由自己执行整个文件,或只是一个选择。