在新安装的Ubuntu 16.04.3 LTS上,我遇到了vim跳转到文件重新打开的最后位置的问题。出于某种原因,标记'"
仅在我执行sudo vim file
时有效,否则无效。因此,我的vimrc文件(/ etc / vim)中的以下内容没有做任何事情
if has("autocmd")
au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | exe "normal! g'\"" | endif
endif
但是这行适用于sudo vi file
?我已经在这里待了几个小时了,这真让我很烦。这适用于其他机器虽然(没有sudo),例如Mac我有。
答案 0 :(得分:4)
文件中的最后一个位置存储在标记中。标记保存在~/.viminfo
中。如果您的主目录中有.viminfo
由其他用户拥有,则vim无法写入。
在您的情况下,您拥有root ~/.viminfo
。正在运行sudo vim
因为vim以root身份运行,但普通用户没有权限更新文件。
删除root拥有的~/.viminfo
,清除vim在下次运行时重新创建文件的方式,这次是普通用户。