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
以前使用可視化模式來選擇某些代碼塊。您想在新的終端窗口中執行代碼嗎?
添加回答
舉報