簡體   English   中英

從 python class 創建 vim 實例?

[英]Create a vim instance from a python class?

我正在調用一個返回字典的 python function,它有效,但我只是想知道是否有辦法在 vimscript m.multi(3), m.div(20,5)中創建這樣的實例。 這只是一個例子,不確定最后兩行。

python3 <<EOF
class Multiply:
    @staticmethod
    def myfunc(n):
        print("Answer is:", n * n)
EOF
python3 m = Multiply
python3 vim.command(f"let multi={m}")
call multi(4)

Multi定義為 VimScript function 並在其中調用 python :

python3 <<EOF
import vim

class Multiply:
    @staticmethod
    def myfunc(n):
        print("Answer is:", n * n)
EOF

" Single global instance
python3 m = Multiply()

function! Multi(i)
    " int() is required as vim.eval() returns a string even for int arg
    python3 m.myfunc(int(vim.eval('a:i')))
endfunction

測試: :call Multi(4)

我認為不可能,將面向 object 的內容留在 python 代碼中。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM