How do you make Vim take you back where you were when you last edited a file? [duplicate]

核能气质少年 提交于 2019-12-10 15:45:25

问题


Possible Duplicate:
In vim, how do I get a file to open at the same line number I closed it at last time?

How do you make Vim take you back where you were when you last edited a file?

My work computer has this feature, but not my home computer! How do you set Vim to remember in which part of a file you were when you last edited it?

EDIT: just to be more precise, I want this behavior when opening a new file, or on startup.


回答1:


I have this in my .vimrc and it works:

" go to the position I was when last editing the file
au BufReadPost * if line("'\"") > 0 && line("'\"") <= line("$") | exe "normal g'\"" | endif



回答2:


This is done with the viminfo file. It should be sufficient simply to enable this feature (and ensure that the file is writable). I use:

set viminfo='25,\"50,n~/.viminfo

...which stores viminfo data into ~/.viminfo. You can read about the other customization options here.




回答3:


First, check that your .vimrc file is writable.

If that isn't sufficient, add this to your .vimrc:

if has("autocmd")
    autocmd BufReadPost *
    \ if line("\'") > 0 && line("\'") <= line("$") |
        \ exe "normal g`" |
    \ endif
endif



回答4:


'0 // (single quote followed by zero) take you to place you last edited




回答5:


This is a dirty solution.

Whenever you are done editing a file and you are going to quit, just mark that place using m<letter>. Now you create a session file for this using mks!. Next time you open this file, just do ``` to reach that place.

You can have different letters to reach different places in the file. e.g. e for the place you were last editing or f function definition you were last working on etcetera. It depends upon your taste.

One thing bad about this solution is that mks! will create a Session.vim file in the current directory.




回答6:


See also the Vim Wikia article on Restore Cursor to File Position in Previous Editing Session. It looks like it lists a couple of the solutions already listed here, in addition to one larger script that specifically stores the last position for the last 10 files you've edited; you can change that value to suit your needs.



来源:https://stackoverflow.com/questions/1682536/how-do-you-make-vim-take-you-back-where-you-were-when-you-last-edited-a-file

标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!