two basic ways to use views. The first is to let Vim pick a name
for the view file. You can restore the view when you later edit the same
file. To store the view for the current window: >
:mkview
Vim will decide where to store the view. When you later edit the same file
you get the view back with this command: >
:loadview
That's easy, isn't it?
Now you want to view the file without the 'number' option on, or with all
folds open, you can set the options to make the window look that way. Then
store this view with: >
:mkview 1
Obviously, you can get this back with: >
:loadview 1
Now you can switch between the two views on the file by using ":loadview" with
and without the "1" argument.
You can store up to ten views for the same file this way, one unnumbered
and nine numbered 1 to 9.
A VIEW WITH A NAME
The second basic way to use views is by storing the view in a file with a name
you choose. This view can be loaded while editing another file. Vim will
then switch to editing the file specified in the view. Thus you can use this
to quickly switch to editing another file, with all its options set as you
saved them.
For example, to save the view of the current file: >
:mkview ~/.config/nvim/main.vim
You can restore it with: >
:source ~/.config/nvim/main.vim
==============================================================================
*21.6* Modelines
When editing a specific file, you might set options specifically for that
file. Typing these commands each time is boring. Using a session or view for
editing a file doesn't work when sharing the file between several people.
The solution for this situation is adding a modeline to the file. This is
a line of text that tells Vim the values of options, to be used in this file
only.
A typical example is a C program where you make indents by a multiple of 4
spaces. This requires setting the 'shiftwidth' option to 4. This modeline
will do that: >
/* vim:set shiftwidth=4: */ ~
Put this line as one of the first or last five lines in the file. When
editing the file, you will notice that 'shiftwidth' will have been set to
four. When editing another file, it's set back to the default value of eight.
For some files the modeline fits well in the header, thus it can be put at
the top of the file. For text files and other files where the modeline gets
in the way of the normal contents, put it at the end of the file.
The 'modelines' option specifies how many lines at the start and end of the
file are inspected for containing a modeline. To inspect ten lines: >
:set modelines=10
The 'modeline' option can be used to switch this off. Do this when you are
working as root on Unix or Administrator on MS-Windows, or when you don't
trust the files you are editing: >
:set nomodeline
Use this format for the modeline: >
any-text vim:set {option}={value} ... : any-text
The "any-text" indicates that you can put any text before and after the part
that Vim will use. This allows making it look like a comment, like what was
done above with "/*" and "*/".
The " vim:" part is what makes Vim recognize this line. There must be
white space before "vim", or "vim" must be at the start of the line. Thus
using something like "gvim:" will not work.
The part between the colons is a ":set" command. It works the same way as
typing the ":set" command, except that you need to insert a backslash before a
colon (otherwise it would be seen as the end of the modeline).
Another example: >
// vim:set textwidth=72 dir=c\:\tmp: use c:\tmp here
There is an extra backslash before the first colon, so that it's included in
the ":set" command. The text after the second colon is ignored, thus a remark
can be placed there.
For more details see |modeline|.
==============================================================================
Next chapter: |usr_22.txt| Finding the file to edit
Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl: