我的 Ubuntu LTS 12.04 有 vim 编辑器。如果我打开一个文件,移动到某个段落并重新打开 vim,则光标始终会转到文件的开头。
这不是预期的行为。vim 如何在关闭文件后记住上次读取的位置?
我vi
也尝试过,但结果是一样的。
答案1
该文件/etc/vim/vimrc
已包含必要的功能。只需取消注释即可:
" Uncomment the following to have Vim jump to the last position when
" reopening a file
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
(事实上你也可以参考/usr/share/vim/vim73/vimrc_example.vim
)
答案2
我也遇到过同样的问题,结果发现我的主目录中的 .viminfo 文件的所有权错误。它的所有者是 root:root。
一旦我将文件所有权改为我自己,记住文件位置的功能又开始起作用了
答案3
我认为这篇 wiki 帖子可能提供了一个解决方案。我不认为恢复位置是预期的行为。http://vim.wikia.com/wiki/Restore_cursor_to_file_position_in_previous_editing_session
答案4
有一个插件叫vim-最后位置(我是作者)它将从您上次停下的地方打开您的文件。它通过忽略提交消息来改进上述建议,因为您通常会编辑新消息并希望从提交消息文件的顶部开始。