我正在浏览Neovim Python Client API中的可用函数列表,以寻找获取可视模式选择坐标的方法。能够给我一对视觉块开始/结束的一对(行#,列#)的东西。
到目前为止,我还没有找到任何明确允许我这样做的内容。也许有人有?
修改
正如下面的评论所示,我尝试过以下方式使用vim native getpos
函数:
from neovim import attach
nvim = attach('child', argv=["/bin/env","nvim","--embed"])
buffer = nvim.current.buffer
buffer[0] = 'visual mode'
nvim.feedkeys("fmve")
print("Current caret position: {}".format(nvim.windows[0].cursor))
cmd ='getpos("\'<")' # cmd=r"""getpos("'<")"""
print("Start of visual selection: {}".format(nvim.eval(cmd)))
运行上述脚本的结果是:
Current caret position: [1,10]
Start of visual selection: [0,0,0,0]
我希望第二条印刷线的值应该是这样的:
Start of visual selection: [1,8]
鉴于我们要求选择开始位置。我在哪里弄错了?
谢谢!