我从缓冲区 1 切换到缓冲区 2,光标位于第 100 行。我使用 j/k 滚动并停在第 120 行。然后我使用 ctrl-O 切换回缓冲区 1,然后使用 ctrl-I 转到缓冲2。
我预计光标应该位于第 120 行,因为那是我离开的地方,但令我烦恼的是,光标位于第 100 行。我怎样才能让 vim 转到第 120 行?
您正在使用的命令按照广告中的方式工作。问题是您没有使用正确的命令来执行您想要执行的操作。
<C-o>并且与缓冲区完全<C-i>无关。他们的工作是让你在跳转列表中上下移动,不多也不少。事实上,它们会将您引导至另一个缓冲区,这是一个副作用。不要依赖副作用:如果您不想导航跳转列表,请不要使用它们。
如果您需要在两个缓冲区之间交替,正确的命令是<C-^>(或<C-6>在某些键盘上)。
如果需要切换到特定缓冲区,请使用:b <tab>或 ,:ls后跟:bn是n所需缓冲区的编号。