我在 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。