如何为 Vim 中的整个文件添加书签,而不是特定行?

How to bookmark the whole file in Vim, not a specific line?

用例

标记用于转到设置它们的特定行、列和文件。这就是目的。

可能适合您的选项:

  • 设置大写标记,例如mA
  • 使用缓冲区导航命令,例如:b foo:b 可以取部分文件名)
  • 使用模糊查找器跳转到您的缓冲区
  • 记住缓冲区号,直接使用:b 12(避免这个)
  • 使用<c-o>返回缓冲区
  • 使用<c-6>跳转到上一个缓冲区
  • 使用拆分以便您可以同时查看两个缓冲区
  • 在新标签页中打开缓冲区(我倾向于避免使用标签页)

我个人会设置另一个大写标记或使用 :b.

您可以通过考虑缓冲区编号来使用(大写)文件标记来做到这一点;即不是通过 A 调用(精确标记的)位置,而是

:execute 'buffer' getpos("'A")[0]

由于 Vim 记住缓冲区中的最后一个位置,它会将您带到那里,而不是标记的位置。

将此添加到您的 ~/.vimrc

nnoremap <c-m> :execute 'buffer' getpos("'" . nr2char(getchar()))[0]<cr>

然后只需使用 mX 为文件添加书签,然后使用 <c-m>X 跳转到文件的最后位置。