为什么 vim 在运行期间不能记住我在文件中的位置?

为什么 vim 在运行期间不能记住我在文件中的位置?

我在 64 位 ubuntu 10.04 上使用 vim 7.2.330,上周的某个时候,每次我重新打开文件时,它都会将光标放在文件顶部。我可以在 ~/.viminfo 中看到它保存了上次使用的位置,但它似乎没有遵守这一点。

有任何想法吗?

答案1

你可以ctrlo跳过‘跳跃’。

你也可以在 .vimrc 中添加一些内容来自动跳转到光标位置,更多信息请阅读http://vim.wikia.com/wiki/Restore_cursor_to_file_position_in_previous_editing_session

" VimTip 80: Restore cursor to file position in previous editing session
" for unix/linux/solaris
set viminfo='10,\"100,:20,%,n~/.viminfo

" only for windows [give some path to store the line number info]
"set viminfo='10,\"100,:20,%,nc:\\Winnt\\_viminfo
 au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif

答案2

事实上,我观察到了同样的行为,但诊断却截然不同。

当我的 /home/... 分区满了之后,.viminfo 就无法写入,所以那些文件位置就永远不会被存储。一旦我清理出一些空间,viminfo 就会再次定位我的编辑器。

答案3

看一下:help 最后位置跳转

如果设置了标记,则打开文件后立即跳转autocommand到文件中的最后一个已知位置:'"'

:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g`\"" | endif

答案4

您可能需要检查 ~/.viminfo 文件的权限和所有权。如果您之前通过“sudo -s”或其他方式访问过 vim,则 vim 可能无法写入此文件。您可能必须将其改回您的组和 ID。

相关内容