我的vim插件有一个跳转到其他位置的命令(就像标签一样)。

我为此使用cursor函数。

如何在跳转列表中记录上一个位置,以便Ctrl + O可以按预期工作?

最佳答案

:help cursor() 再清楚不过了:

[…]
Does not change the jumplist.
[…]

(编辑)

这意味着 cursor() 跳转没有记录在跳转列表中,因此,cursor() 在这里是一个不合适的工具。

(结束)

作为替代方案,您可以使用类似
execute "normal " . target_line . "G" . target_col . "|"

它与 <C-o><C-i> 完全兼容,并且就像惯用语一样
call cursor(target_line,target_col)

即使它让 JavaScripters 不寒而栗 ;-)

关于vim - 将位置推送到跳转列表,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19195160/

10-11 19:21