在Vim中,我经常使用g,
和g;
遍历更改列表,但我注意到当我在同一窗口中编辑2个缓冲区时,后者内部的当前位置会发生变化。 / p>
例如,如果我使用最少的初始化启动Vim,则编辑2个现有文件:
vim -Nu NORC file1 file2
然后输入:
,确保我在两个更改列表的末尾99g,
:next
99g,
C-^
最后,如果我在file1
(99g;
)的更改列表的开头移动,然后返回file2
(C-^
),我就不再了在变更清单的最后但是在开头。似乎file1
的更改列表中的当前位置已复制到file2
的更改列表,我已通过执行:changes
命令并查看前缀{{1 }}
由于更改列表中包含的行是缓冲区的本地行,因此我预计更改列表中的位置也是缓冲区的本地位置。
目前,我正在试验这两个autocmds:
>
我没有经过很长时间的测试,所以我不知道它们是否可靠。
是否有一个选项可以启用哪个会使更改列表中的位置在缓冲区本地而不是窗口?否则,可以改进autocmds以使其更可靠吗?