如何为 Vim 中的整个文件添加书签,而不是特定行?
How to bookmark the whole file in Vim, not a specific line?
用例
- 我打开文件A,转到A1行
- 我收藏了它
- 我转到同一文件中的另一行 A2
- 我打开文件B
- 我导航到书签
- A是在A2行打开的,不是A1行
标记用于转到设置它们的特定行、列和文件。这就是目的。
可能适合您的选项:
- 设置大写标记,例如
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
跳转到文件的最后位置。
用例
- 我打开文件A,转到A1行
- 我收藏了它
- 我转到同一文件中的另一行 A2
- 我打开文件B
- 我导航到书签
- A是在A2行打开的,不是A1行
标记用于转到设置它们的特定行、列和文件。这就是目的。
可能适合您的选项:
- 设置大写标记,例如
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
跳转到文件的最后位置。