我想配置vim在我离开的同一个地方打开一个文件。
答案 0 :(得分:178)
从Ubuntu的/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("'\"") > 0 && line("'\"") <= line("$")
\| exe "normal! g'\"" | endif
endif
如果这不起作用,则常见问题是没有~/.viminfo
文件的所有权。如果是这种情况,请运行:
sudo chown user:group ~/.viminfo
用户是您的username
,而group
通常与您的用户名相同。
答案 1 :(得分:40)
如果你不介意简化交易自动化,只需按开键' “(撇号,后跟双引号)打开文件,你会跳到你原来的位置。这基本上就是@ marcog的答案。
答案 2 :(得分:20)
:h views-sessions
您可以将其放在 .vimrc :
中 au BufWinLeave * mkview
au BufWinEnter * silent loadview
视图将放在$ HOME / .vim / view中。您可能需要创建这些目录。
答案 3 :(得分:6)
如果启用了viminfo,则只需`0
即可转到上次编辑的文件位置。你会发现这只是一个'去标记'命令;
实际上,您可以稍后执行'3转到之前编辑的第三个位置(可能在另一个文件中),然后再次使用`0
返回到最后一个
看看
:marks
查看记住的位置。另请注意,viminfo存储各种其他内容(如寄存器内容,每个文件的标记,命令和搜索历史记录)。大多数人出于显而易见的原因启用了此功能
答案 4 :(得分:5)
您可以使用
启动vim而不指定文件名vim
然后按两次CTRL + O移动到您处理的任何文件中的最后一个位置。
答案 5 :(得分:3)
有一个名为vim-lastplace的插件(我是作者),它会在你离开的地方打开文件。它通过忽略提交消息来改进上述建议,因为您通常编辑新消息并希望从提交消息文件的顶部开始。
答案 6 :(得分:1)
有时~/.viminfo
变为只读或您的用户无法访问该文件。这也可能是当您关闭文件时vim不存储光标位置的原因。