2 回答
TA贡献1816条经验 获得超6个赞
找到答案了!
我通过制作简单的自定义命令解决了这个问题。
python3 << EOL
import vim
def ExecuteSelectedLine(l1, l2):
for i in range(l1-1,l2):
print(">>" + vim.current.buffer[i])
exec(vim.current.buffer[i],globals())
EOL
command! -range Eval <line1>,<line2> python3 ExecuteSelectedLine(<line1>, <line2>)
如何使用
在 python 中仅运行脚本的第一行到第三行
:1,3Eval
运行python中的当前行
:Eval
在 python 中运行可视化选择的脚本部分
:'<,'>Eval
范围选择与 -range 选项一起使用,并使用 python 的“exec”函数和 globals() 选项,持久性保持不变(无需刷新)。
我想我的编码风格,在控制台中尝试不同的代码片段并最终确定主脚本,是一种奇怪的编码方式,因为我在社区中找不到类似的尝试。
TA贡献2012条经验 获得超12个赞
我不明白这个问题。命令
:1,3w !python3
应该可以解决这个问题,你说的“每次我使用该函数时 python 控制台都会刷新”到底是什么意思?如果你的意思是,它等待按下回车键才能返回 vim,这是很自然的。
您还可以使用:
:'<,'>w !python3
以前使用可视化模式来选择某些代码块。您想在新的终端窗口中执行代码吗?
添加回答
举报