by zhimsel

zhimsel /vim-stay

Make Vim persist editing state without fuss

129 Stars 7 Forks Last release: over 1 year ago (v1.4.2) MIT License 136 Commits 10 Releases

Available items

No Items, yet!

The developer of this repository has not created any items for sale yet. Need a bug fixed? Help with integration? A different license? Create a request here:

Project status Current release Open issues License Build Status

Stay at my cursor, boy!

vim-stay adds automated view session creation and restoration whenever editing a buffer, across Vim sessions and window life cycles. It also alleviates Vim's tendency to lose view state when cycling through buffers (via

et al.). It is smart about which buffers should be persisted and which should not, making the procedure painless and invisible.

If you have wished Vim would be smarter about keeping your editing state, vim-stay is for you.


  1. The old way: download and source the vimball from the releases page, then run
    :helptags {dir}
    on your runtimepath/doc directory. Updating the plug-in via
    is supported. Or,
  2. The plug-in manager way: using a git-based plug-in manager (Pathogen, Vundle, NeoBundle, Vim-Plug etc.), simply add
    to the list of plug-ins, source that and issue your manager's install command. Or,
  3. The Vim package way (requires Vim 7.4 with patch 1384): create a
    directory in your
    and clone this repository into it. Run
    :helptags {dir}
    on the
    directory of the created repo. Run
    :runtime plugin/stay.vim
    to load vim-stay (or restart Vim).



set viewoptions=cursor,folds,slash,unix
(but at the very least do
set viewoptions-=options
). Edit as usual. See the documentation for more.


Keeping editing session state should be a given in an editor; unluckily, Vim's solution for this, view sessions, are not easily automated without encountering painful bumps. As the one plug-in available that aimed to fix this, Zhou Yi Chao’s restore_view.vim, limited itself to Vim editing sessions, didn’t play well with other position setting plug-ins like vim-fetch and as there were some issues with its heuristics, vim-stay was born.


vim-stay is licensed under the terms of the MIT license according to the accompanying license file.

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.