|[options] [file ...]
nvim is a text editor based on Vim. Start
nvim followed by any number of options and/or files:
nvim [options] [file
nvim begin with colon
(‘:’). Type ":help subject" to get help on a
specific subject. Use <Tab> and CTRL-D to complete subjects
The "quickref" help section is a condensed reference of
If you are new to Vim/Nvim, start with the 30-minute tutorial:
After installing/updating Nvim, it's a good idea to run the
- file ...
- File(s) to edit. Opens one buffer per file. To switch between buffers, use
- Reads text from standard input until
opens a buffer with that text. User input is read from standard error,
which should be a terminal.
- Finds tag in the tags file, the associated file
becomes the current file and the associated command is executed. Cursor is
positioned at the tag location in the file.
- QuickFix mode. Display the first error in errorfile.
If errorfile is omitted, the value of the
'errorfile' option is used (defaults to
errors.err). Further errors can be jumped to with
- End of options. Remaining arguments are treated as literal file names,
including filenames starting with hyphen (‘-’).
- Ex mode, reading stdin as Ex commands.
- Ex mode, reading stdin as text.
- Silent/batch mode, reading stdin as Ex commands.
- Silent/batch mode, reading stdin as text.
- Diff mode. Show the difference between two to four files, similar to
- Read-only mode. Sets the 'readonly' option. Implies
-n. Buffers can still be edited, but cannot be
written to disk if already associated with a file. To overwrite a file,
add an exclamation mark to the relevant Ex command, such as
- Restricted mode. Disable commands that make use of an external shell.
- Resets the 'write' option, to disable file modifications. Writing to a
file is disabled, but buffers can still be modified.
- Resets the 'write' and 'modifiable' options, to disable file and buffer
- Binary mode.
- Lisp mode. Sets the 'lisp' and 'showmatch' options.
- Arabic mode. Sets the 'arabic' option.
- Hebrew mode. Sets the 'hkmap' and 'rightleft' options.
- Verbose mode. Prints debug messages. N is the
'verbose' level, defaults to
file is specified, append messages to
file instead of printing them.
- Debug mode for VimL (Vim script). Started when executing the first command
from a script. :help debug-mode
- Disable the use of swap files. Sets the 'updatecount' option to
0. Can be useful for editing files on a slow
- Recovery mode. If file is omitted then list swap
files with recovery information. Otherwise the swap file
file is used to recover a crashed session. The swap
file has the same name as the file it's associated with, but with
- Alias for
- Use vimrc instead of the default
NORC, do not load
any initialization files (except plugins), and do not attempt to parse
environment variables. If vimrc is
NONE, loading plugins is also skipped.
- Use shada instead of the default
NONE, do not read
or write a ShaDa file.
- Skip loading plugins. Implied by
- Open N windows stacked horizontally. If
N is omitted, open one window for each file. If
N is less than the number of file arguments,
allocate windows for the first N files and hide the
-o, but tile windows vertically.
-o, but for tab pages.
- For the first file, position the cursor on line
linenum. If linenum is
omitted, position the cursor on the last line of the file.
-c 5 on the
command-line are equivalent to
- For the first file, position the cursor on the first occurrence of
pattern. If pattern is
omitted, the most recent search pattern is used (if any).
-c /foo on the
command-line are equivalent to
- Execute command after reading the first file. Up to
10 instances allowed. “
-c "foo" are equivalent.
-c, but execute command
before processing any vimrc. Up to 10 instances of these can be used
independently from instances of
- Source session after the first file argument has
been read. Equivalent to
session". session cannot start with a
hyphen (‘-’). If session is omitted
then Session.vim is used, if found.
- Read normal mode commands from scriptin. The same
can be done with the command
:source! scriptin. If
the end of the file is reached before
further characters are read from the keyboard.
- Append all typed characters to scriptout. Can be
used for creating a script to be used with
-w, but truncate
- During startup, append timing messages to file. Can
be used to diagnose slow startup times.
- Dump API metadata serialized to msgpack and exit.
- Use standard input and standard output as a msgpack-rpc channel. :help
- Do not start a UI. When supplied with --embed this implies that the
embedding application does not intend to (immediately) start a UI. Also
useful for "scraping" messages in a pipe. :help --headless
- Start RPC server on this pipe or TCP socket.
- Print usage information and exit.
- Print version information and exit.
- Low-level log file, usually found at ~/.local/share/nvim/log. :help
- Used to locate user files, such as init.vim. System-dependent. :help
- Used to locate runtime files (documentation, syntax highlighting,
- Path to the user-local configuration directory, see
FILES. Defaults to
~/.config. :help xdg
XDG_CONFIG_HOME, but used to store data not
generally edited by the user, namely swap, backup, and ShaDa files.
Defaults to ~/.local/share. :help xdg
- Ex commands to be executed at startup.
- Used to initialize the 'shell' option, which decides the default shell
used by features like
nvim configuration file.
nvim configuration directory. See also
nvim configuration file.
nvim runtime directory.
Nvim was started by Thiago de Arruda. Most of Vim was
written by Bram Moolenaar. Vim is based on Stevie,
worked on by Tim Thompson, Tony
Andrews, and G.R. (Fred) Walter.