如何在Vim缓冲区中打印python代码的输出?

时间:2016-02-08 13:52:34

标签: python python-3.x vim printing

示例(在vim函数中):

python3 << endpython
import vim,sys,locale
locale.setlocale(locale.LC_ALL, vim.eval("Locale"))
for i in range(1,10,2):
    print(locale.format('%.2f', i))
endpython

打印命令,将数字打印为回显信息 我想在当前缓冲区的顶部打印数字 我怎样才能做到这一点?

2 个答案:

答案 0 :(得分:3)

您可以通过以下方式访问当前缓冲区并在第0行(=在顶部插入)后追加:

vim.current.buffer.append("example text", 0)

请参阅:help python-buffer

答案 1 :(得分:1)

如果您有这个https://caniuse.com/#search=backdrop-fil, 您可以使用以下方法恢复已打印的文本:

:Redir messages

示例:

:py3 print('print to stdout')
:Redir messages
/print to stdout

它将在打开的缓冲区的末尾。