如何在打开文件时恢复光标的“逻辑”和“物理”位置?
即:
1. 光标应该位于文件中上一次所在的逻辑行。 2. 光标应该位于 Vim 窗口中上一次所在的物理行。
我注意到了这篇帖子。它确实将光标放在了正确的逻辑行上。但是,窗口中光标的物理位置却是第一行或中间位置。
更新: @sehe 提到的解决方案是使用 mkview 和 loadview 命令。
为了使其与其他插件(例如我的情况下,LaTeX 文件 + latex-box)配合使用,可以使用以下命令:
au BufWinLeave *.tex mkview
au VimEnter *.tex loadview
根据 Vim 的文档,VimEnter 命令的作用是:
即:
1. 光标应该位于文件中上一次所在的逻辑行。 2. 光标应该位于 Vim 窗口中上一次所在的物理行。
我注意到了这篇帖子。它确实将光标放在了正确的逻辑行上。但是,窗口中光标的物理位置却是第一行或中间位置。
更新: @sehe 提到的解决方案是使用 mkview 和 loadview 命令。
为了使其与其他插件(例如我的情况下,LaTeX 文件 + latex-box)配合使用,可以使用以下命令:
au BufWinLeave *.tex mkview
au VimEnter *.tex loadview
根据 Vim 的文档,VimEnter 命令的作用是:
- 在完成所有启动工作,包括加载
.vimrc
文件、执行“-c cmd”参数、创建所有窗口并在其中加载缓冲区之后。
更新2:为了更好地组织“查看快照文件”
通过创建一个名为~/.vim/view
的文件夹,您可以将所有“查看快照文件”保存在那里。
如果您正在使用git
同步跨计算机使用的~/.vim
,也许您想要
- 忽略
~/.vim/view
中的文件, - 但保留空文件夹在您的repo中。
然后您需要(根据here中的答案进行调整)
- 创建一个空文件:
~/.vim/view/.gitignore
- 在
~/.vim/.gitignore
中放置view/*
和!.gitignore
viminfo
可以完成的事情,但是通过一些脚本/自动命令是可能实现的。 - Cascabel