.
上次退出当前缓冲区时的光标位置。默认为第一行的第一个字符。参见| last-position-jump |有关如何对每个打开的文件使用此
。
每个缓冲区仅记住一个位置,而对于每个窗口则不记住一个
。只要缓冲区在窗口中可见,就不会更改位置。
{Vi无此功能}。
如果我
关闭所有显示缓冲区的窗口(但是缓冲区列表中仍然存在该缓冲区)。或:
杀死缓冲区的所有实例
标记似乎没有更新,如何使用标记跳转到缓冲区/文件中最后一个光标位置的位置?
#1 楼
这是一个经典的解决方案:使用`H
跳转到最后一个HTML文件,依此类推...等等。
评论
谢谢,这似乎真的很有用。我已经将它加载到我的vimrc中进行尝试。我已将autocmd更改为WinLeave,因为我注意到当关闭拆分时BufLeave似乎没有触发,并且缓冲区在其他位置仍处于打开状态。我知道这有点极端,但是WinLeave似乎可以在更广泛的“文件关闭”类型情况下工作,但是我仍在测试...
–the_velour_fog
16 Jun 10'在12:32
#2 楼
我写了这个似乎可行的vimscript语句。当您移动到另一个窗口时触发
,当您关闭显示缓冲区的最后一个窗口时,
当您用
BufLeave
关闭缓冲区本身时/>
bd
-默认情况下,autocmd的:normal
部分似乎是一个ex命令。因此,要告诉vim运行普通模式命令,您需要添加command
:normal
-设置标记ml
(助记符:最后一个)用法
,只需从上一次进入缓冲区中就可以调用光标位置,只需点击
br />
#3 楼
如果您希望光标恢复viminfo已知的最后一个位置,可以使用我已经使用了很多(因为我是一名Web开发人员):
/>
autocmd BufReadPost * call setpos(".", getpos("'\""))
评论
我认为您正在寻找Ctrl + o和Ctrl + i ...:h跳跃运动以获取更多信息@spasic多数民众赞成在一个不错的建议,但是一旦您进行了几十次跳跃,该位置就会在庞大的跳跃列表中丢失。通过将标记范围划分为缓冲区,您可以管理标记/位置的列表更小
如果您还没有阅读它,我认为此技巧将很有趣。也许您需要调整您的viminfo
@statox谢谢。我看到了,vim帮助中的提示。我认为这些解决方案会在您打开文件时导致自动跳转到“”标记。我真的只想手动跳转到最后一个光标位置。而且,我只是无法理解“”标记何时设置并更新,因此我的标记无法使用。