在vim中,我如何获得一个文件打开在同一行号我上次closures它?
我想configurationvim在我离开的同一个地方打开一个文件。
从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
通常与您的用户名相同。
如果你不介意交易自动化的简单,只需按下'' (撇号,然后双引号)打开一个文件,你会跳到你所在的位置,这实际上是@ marcog的答案。
:h views-sessions
你可以把它放在你的.vimrc中 :
au BufWinLeave * mkview au BufWinEnter * silent loadview
该视图将被放置在$ HOME / .vim / view中。 您可能需要创build这些目录。
如果你启用了viminfo,就像`0
一样简单到最后编辑的文件位置。 你会注意到这只是一个'去标记'的命令;
事实上,你可以稍后做'3去到第三个编辑的位置(也许在另一个文件中),然后再次用`0
返回到最后一个
看一下
:marks
看到记住的地点。 还要注意,viminfo存储各种其他东西(如寄存器的内容,每个文件的标记,命令和search历史)。 大多数人有这个明显的原因启用
有一个名为vim-lastplace (我是作者)的插件,可以在你离开的地方打开你的文件。 它通过忽略提交消息来改进上述build议,因为通常是编辑一条新消息并希望从提交消息文件的顶部开始。
有时/root/.viminfo
变成只读。 这也可能是vim在closures文件时不存储光标位置的原因。