根据vim wiki:
Vim会记住发生变化的位置。每个职位 (列号,行号)记录在更改列表中,每个 buffer有一个单独的更改列表,记录最后100个位置 发生可撤销变更的地方。
然后可以使用 g; 移动到更改列表中的最后一个更改。此列表通过不同的会话存活。这意味着,即使在新会话中打开文件后没有对文件进行任何更改, g; 也会将光标/点移动到上一个会话中发生最新更改的行。
据我所知,{{1}}没有每个缓冲区的更改列表。或者是吗?
答案 0 :(得分:0)
如果安装了evil-mode
,您可能需要查看undo-tree
使用的Undo Tree。我不认为它具有您描述的g;
功能。但是,它可以维持会话之间的撤消历史记录。
答案 1 :(得分:0)
在melpa上查看exec()
。 Evil通过goto-last-change
进行默认集成。