第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問題,去搜搜看,總會(huì)有你想問的

在 Vim 中執(zhí)行 python 腳本行

在 Vim 中執(zhí)行 python 腳本行

慕妹3146593 2024-01-24 20:55:48
我剛剛開始使用 Vim 作為我的主要 IDE,在之前的 IDE 中我經(jīng)常使用的功能之一是“在 python 中執(zhí)行選擇”。我了解到在 python 中執(zhí)行代碼有兩種方法,一種是, :python3 {expression}另一種是:w python3我想要做的是在 vim 中執(zhí)行腳本的選定行,而不刷新(關(guān)閉)python 控制臺(tái)??雌饋?python3 {expression}沒有關(guān)閉python控制臺(tái),所以在我使用之后:python3 a=3,命令:python3 print(a)返回了正確的值3。但是,我認(rèn)為這個(gè)功能沒有“選擇功能”。雖然:help python顯示了[range]參數(shù),但我不明白如何使用它。另一方面,第二個(gè)函數(shù)具有選擇功能(例如:1,3w !python3),但每次我使用該函數(shù)時(shí),python 控制臺(tái)似乎都會(huì)刷新(=關(guān)閉)。我想向 .vimrc 添加簡單的函數(shù)就可以達(dá)到我的目的,但找不到。任何幫助將非常感激!
查看完整描述

2 回答

?
瀟湘沐

TA貢獻(xiàn)1816條經(jīng)驗(yàn) 獲得超6個(gè)贊

找到答案了!


我通過制作簡單的自定義命令解決了這個(gè)問題。


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 中僅運(yùn)行腳本的第一行到第三行:1,3Eval

  • 運(yùn)行python中的當(dāng)前行:Eval

  • 在 python 中運(yùn)行可視化選擇的腳本部分:'<,'>Eval

范圍選擇與 -range 選項(xiàng)一起使用,并使用 python 的“exec”函數(shù)和 globals() 選項(xiàng),持久性保持不變(無需刷新)。

我想我的編碼風(fēng)格,在控制臺(tái)中嘗試不同的代碼片段并最終確定主腳本,是一種奇怪的編碼方式,因?yàn)槲以谏鐓^(qū)中找不到類似的嘗試。


查看完整回答
反對(duì) 回復(fù) 2024-01-24
?
繁花如伊

TA貢獻(xiàn)2012條經(jīng)驗(yàn) 獲得超12個(gè)贊

我不明白這個(gè)問題。命令

:1,3w !python3

應(yīng)該可以解決這個(gè)問題,你說的“每次我使用該函數(shù)時(shí) python 控制臺(tái)都會(huì)刷新”到底是什么意思?如果你的意思是,它等待按下回車鍵才能返回 vim,這是很自然的。

您還可以使用:

:'<,'>w !python3

以前使用可視化模式來選擇某些代碼塊。您想在新的終端窗口中執(zhí)行代碼嗎?


查看完整回答
反對(duì) 回復(fù) 2024-01-24
  • 2 回答
  • 0 關(guān)注
  • 234 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)