Now, Where Was I?

Most text editors start editing files at line 1, column 1. That is, each time the editor is started, the file is loaded and editing begins from line 1. If you edit a file many times, progressing through it, you would find it more convenient to begin an edit session where the last one ended. Vim lets you do just that.

There are two different methods to save edit session information for future uses: the viminfo option and the mksession command.

The viminfo Option

Vim uses the viminfo option to define what, how, and where to save edit session information. The option is a string with comma-delimited parameters that tell Vim how much information to save and where to save it. Some of viminfo’s suboptions are defined by the following:


Tells Vim to save lines for each register, up to a maximum of n lines.


If you do not specify any value for this option, all lines are saved. While at first this may seem to be the normal desire, consider whether you commonly edit very large files and make large changes to those files. For example, if you commonly edit a 10,000-line file and delete all lines (possibly to pare it down from rapid growth caused by some external application) and then save it, all 10,000 lines get saved in the viminfo file for that entry. If you do this often for many files, the viminfo file will grow very large. You may then notice long delays when starting Vim, even for files not related to the large file, because Vim must process the viminfo file each time ...

Get Learning the vi and Vim Editors, 7th Edition now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.