我可以用vim创建无限制的标记吗?

我希望能够为现有的单字母标记设置额外的标记.因此,我可以解决我目前面临的两个问题:

>标记在脚本中设置,我不想破坏脚本用户已经设置的标记
>我可以设置无限数量的标记,这样我就不必计算它们(我将它们命名为“script_mrk_”.s:mark_count).

所以,如果表达为函数调用,我可能正在寻找一些东西

setPrivateMark(l:mark_name, l:line, l:pos)

let line_pos = getPrivateMark(l:mark_name)

当然,在使用setPrivateMark和getPrivateMark(…)设置之后,解决方案应该能够抵抗标记上方缓冲区的更改.

有这样的事吗?

最佳答案 Vim仅在更改时更新其内置标记的位置;如果您需要该功能,则必须使用这些功能,并且仅限于现有标记的数量.

没有办法解决这个问题;对于简单的用户编辑,您可以挂钩到CursorMovedI事件并调整您记录的位置,但是没有办法挂钩Ex命令,如:append.

如果插件需要几个标记,最好允许用户配置脚本使用的标记(例如通过g:MyPlugin_UseMarks变量);几乎没有人一直使用所有的标记,但不同的人有不同的偏好.

点赞