Jör*_*chs 13 python vim offset
我想得到偏移量
在vim中,从文件的开头开始.我在python中这样做,所以提示如何使用vim的python脚本编写将非常有帮助.
我之前使用过vim.current ..来编写脚本,但它使用的是行和列,而不是一般的偏移量.
我是否必须计算所有先前行长度+当前行的数量,还是有更简单的方法?
Ale*_*lli 14
如果您的vim是使用该+byte_offset选项编译的,那么在通常的Python脚本中import vim,您可以使用,例如:
vim.eval('line2byte(line("."))+col(".")')
Run Code Online (Sandbox Code Playgroud)
从光标位置的文件开始获取字节偏移量,对于其他标记也是如此.更一般地说,如果你有一个行/列对(假设+byte_offset你的vim是如何编译的)是获得字节偏移的方法(还有另一种方式的byte2line函数).
虽然vim模块确实在vim中直接为Python脚本提供了许多功能,但我发现vim.eval并且vim.command通常是最方便的(有时是唯一的;-)方式,可以根据需要进入;-).哦,而且我总是试着用v +编写vim编译,只要我能用它就可以了;-).
Aym*_*man 12
您可能还想查看该statusline设置.这会将bye offset添加到状态行:
set statusline+=%o
Run Code Online (Sandbox Code Playgroud)
看到 :h statusline
请注意,因为默认状态行为空白,并且通过将%o附加到它,您将丢失所有默认值.