Scroll to navigation

NVIM(1) General Commands Manual NVIM(1)


edit text


nvim [options] [file ...]

nvim [options] -

nvim [options] -t tag

nvim [options] -q [errorfile]


nvim is a text editor based on Vim. To enter commands in nvim, type a colon (‘:’) which is also used in this manual to denote commands. For more information, consult the on-line help system with the :help command.
file ...
File(s) to edit. If none are specified, open an empty buffer. If multiple files are specified, open one buffer for each file. To switch between buffers, use the :next and :previous commands.
Read text from standard input until EOF, then open a buffer with that text. Commands are read from standard error, which should be a terminal.
The file to edit and the initial cursor position depends on a tag, a sort of goto label. tag is looked up in the tags file, the associated file becomes the current file and the associated command is executed. If tag is a function name, the file containing that function is opened with the cursor positioned at the start of the function. See :help tag-commands.
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 the :cnext command. See :help quickfix.
There are a number of other options:
Interpret all further arguments as files. Can be used to edit files starting with a hyphen (‘-’).
Interpret filenames literally, that is, do not expand wildcards. Has no effect on Unix-like systems, where the shell expands wildcards.
Ex mode. See :help Ex-mode.
Improved Ex mode. See :help gQ.
Silent mode. Only takes effect if -e or -E is specified before it.
Diff mode. Show the difference between two to four files, similar to sdiff(1). See :help diff.
Read-only mode. Sets the option 'readonly'. 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 needed Ex command, such as :w!. See :help 'readonly'.
Restricted mode. Disable commands that make use of an external shell.
Disable file modifications. Unsets the option 'write'. Writing to a file is disabled, but buffers can still be modified.
Disable file and buffer modifications. Unsets the options 'write' and 'modifiable'. Note that these options can be set to re-enable making modifications.
Binary mode. See :help edit-binary.
Lisp mode. Sets the options 'lisp' and 'showmatch'.
Arabic mode. Sets the option 'arabic'.
Farsi mode. Sets the options 'fkmap' and 'rightleft'.
Hebrew mode. Sets the options 'hkmap' and 'rightleft'.
Verbose mode. Print messages about which files are being sourced and for reading and writing a ShaDa file. N is the value for the 'verbose' option; defaults to 10 if omitted. If file is specified, append messages to file instead of printing them.
Debugging mode. Started when executing the first command from a script.
Disable the use of swap files. Sets the option 'updatecount' to 0. Can be useful for editing file(s) on a slow medium.
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 ‘.swp’ appended. See :help recovery.
Alias for -r.
Use vimrc instead of the default of ~/.config/nvim/init.vim. If vimrc is NORC, do not load any initialization files (excluding plugins), and do not attempt to parse environment variables. If vimrc is NONE, loading plugins is also skipped. See :help initialization.
Use shada instead of the default of ~/.local/share/nvim/shada/main.shada. If shada is NONE, do not read or write a ShaDa file. See :help shada.
Skip loading plugins. Implied by -u NONE.
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 rest.
Like -o, but tile windows vertically.
Like -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. Note that +5 and -c 5 on the command-line are equivalent to :5 inside nvim.
For the first file, position the cursor on the first occurrence of pattern. If pattern is omitted, the most recently used search pattern is used (if there is one). Note that +/foo and -c /foo on the command-line are equivalent to /foo and :/foo inside nvim. See :help search-pattern.
Execute command after reading the first file. Up to 10 instances of -c or + can be used. Note that “+set si” and -c "set si" are equivalent.
Like -c, but execute command before processing any vimrc. Up to 10 instances of these can be used independently from instances of -c.
Source session after the first file argument has been read. Equivalent to -c "source session". session cannot start with a hyphen (‘-’). If session is omitted, then Session.vim, if found, is used. See :help session-file.
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 nvim exits, further characters are read from the keyboard.
Append all typed characters to scriptout. Can be used for creating a script to be used with -s or :source!.
Like -w, but truncate scriptout.
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. Implies --headless.
Do not start a user interface.
, --help
Print usage information and exit.
, --version
Print version information and exit.


Used to locate various user files, such as the user's init.vim.
Used to locate run time files, such as on-line documentation and syntax highlighting definitions.
Path to use for the user-local configuration directory, see FILES. Defaults to ~/.config if not set.
Like XDG_CONFIG_HOME, but used to store data not generally edited by the user, namely swap, backup, and ShaDa files. Defaults to ~/.local/share if not set.
A string of Ex commands to be executed at startup. For example, the command to quit is :q, so to have nvim quit immediately after starting, set VIMINIT to q. See :help VIMINIT.
Used to set the 'shell' option, which determines the shell used by the :terminal command.
If defined, change the cursor shape to a vertical bar while in insert mode. Requires that the host terminal supports the DECSCUSR CSI escape sequence. Has no effect in GUIs.

Depending on the terminal emulator, using this option with nvim under tmux(1) might require adding the following to ~/.tmux.conf:

set -ga terminal-overrides ',*:Ss=\E[%p1%d q:Se=\E[2 q'

See terminal-overrides in the tmux(1) manual page for more information.


The user-local nvim configuration file. See XDG_CONFIG_HOME above.
The user-local nvim configuration directory. See XDG_CONFIG_HOME above.
The system-global nvim configuration file.
The system-global nvim runtime directory.


nvim was started by Thiago de Arruda, with a lot of help from others.

Most of Vim was written by Bram Moolenaar, with a lot of help from others. See :help credits.

Vim is based on Stevie, worked on by Tim Thompson, Tony Andrews, and G.R. (Fred) Walter.

January 28, 2016 Linux 4.9.0-9-amd64