mirror of
				https://github.com/neovim/neovim.git
				synced 2025-11-04 01:34:25 +00:00 
			
		
		
		
	This changes Ex mode (Q, -e) to work like Vim's "improved Ex mode" (gQ, -E). That brings some small behavior differences, but should not impact most Ex scripts (unless, for example, they depend on mappings being disabled--but that can be solved for -e by skipping user config). Before this change: * the screen test hangs. After this change: * Q acts like gQ. * -e/-es differs from -E/-Es only in its treatment of stdin. This moves towards potentially removing getexmodeline(). (HINT: That does NOT mean "removing Ex mode", it means removing the Vi-compatible Ex mode, which differs from Vim's "improved Ex mode" only in some minor details (e.g. mappings are disabled).) ref #1089 :-)~
		
			
				
	
	
		
			401 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
			
		
		
	
	
			401 lines
		
	
	
		
			8.1 KiB
		
	
	
	
		
			Groff
		
	
	
	
	
	
.Dd December 17, 2017
 | 
						|
.Dt NVIM 1
 | 
						|
.Os
 | 
						|
.Sh NAME
 | 
						|
.Nm nvim
 | 
						|
.Nd edit text
 | 
						|
.Sh SYNOPSIS
 | 
						|
.Nm
 | 
						|
.Op Ar options
 | 
						|
.Op Ar file ...
 | 
						|
.Nm
 | 
						|
.Op Ar options
 | 
						|
.Fl
 | 
						|
.Nm
 | 
						|
.Op Ar options
 | 
						|
.Fl t Ar tag
 | 
						|
.Nm
 | 
						|
.Op Ar options
 | 
						|
.Fl q Op Ar errorfile
 | 
						|
.Sh DESCRIPTION
 | 
						|
.Nm
 | 
						|
is a text editor based on Vim.
 | 
						|
To enter commands in
 | 
						|
.Nm ,
 | 
						|
type a colon
 | 
						|
.Pq Sq \&:
 | 
						|
which is also used in this manual to denote commands.
 | 
						|
For more information, consult the online help with the
 | 
						|
.Ic :help
 | 
						|
command.
 | 
						|
.Bl -tag -width Fl
 | 
						|
.It Ar 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
 | 
						|
.Ic :next
 | 
						|
and
 | 
						|
.Ic :previous
 | 
						|
commands.
 | 
						|
.It Fl
 | 
						|
Read text from standard input until
 | 
						|
.Dv EOF ,
 | 
						|
then open a buffer with that text.
 | 
						|
Commands are read from standard error, which should be a terminal.
 | 
						|
.It Fl t Ar tag
 | 
						|
The file to edit and the initial cursor position depends on a
 | 
						|
tag, a sort of goto label.
 | 
						|
.Ar tag
 | 
						|
is looked up in the tags file, the associated file becomes the current
 | 
						|
file and the associated command is executed.
 | 
						|
If
 | 
						|
.Ar tag
 | 
						|
is a function name, the file containing that function is opened
 | 
						|
with the cursor positioned at the start of the function.
 | 
						|
See
 | 
						|
.Ic ":help tag-commands" .
 | 
						|
.It Fl q Op Ar errorfile
 | 
						|
QuickFix mode.
 | 
						|
Display the first error in
 | 
						|
.Ar errorfile .
 | 
						|
If
 | 
						|
.Ar errorfile
 | 
						|
is omitted, the value of the 'errorfile' option is used (defaults to
 | 
						|
.Cm errors.err ) .
 | 
						|
Further errors can be jumped to with the
 | 
						|
.Ic :cnext
 | 
						|
command.
 | 
						|
See
 | 
						|
.Ic ":help quickfix" .
 | 
						|
.It There are a number of other options:
 | 
						|
.It Fl -
 | 
						|
Interpret all further arguments as files.
 | 
						|
Can be used to edit files starting with a hyphen
 | 
						|
.Pq Sq - .
 | 
						|
.It Fl e
 | 
						|
Ex mode.  Reads stdin as Ex commands.
 | 
						|
See
 | 
						|
.Ic ":help Ex-mode" .
 | 
						|
.It Fl E
 | 
						|
Ex mode.  Reads stdin as text.
 | 
						|
See
 | 
						|
.Ic :help gQ .
 | 
						|
.It Fl es
 | 
						|
Silent (batch) mode.  Reads stdin as Ex commands.
 | 
						|
.It Fl \&Es
 | 
						|
Silent (batch) mode.  Reads stdin as text.
 | 
						|
.It Fl d
 | 
						|
Diff mode.
 | 
						|
Show the difference between two to four files, similar to
 | 
						|
.Xr sdiff 1 .
 | 
						|
See
 | 
						|
.Ic ":help diff" .
 | 
						|
.It Fl R
 | 
						|
Read-only mode.
 | 
						|
Sets the 'readonly' option.
 | 
						|
Implies
 | 
						|
.Fl 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
 | 
						|
.Ic :w! .
 | 
						|
See
 | 
						|
.Ic ":help 'readonly'" .
 | 
						|
.It Fl Z
 | 
						|
Restricted mode.
 | 
						|
Disable commands that make use of an external shell.
 | 
						|
.It Fl m
 | 
						|
Resets the 'write' option, to disable file modifications.
 | 
						|
Writing to a file is disabled, but buffers can still be modified.
 | 
						|
.It Fl M
 | 
						|
Resets the 'write' and 'modifiable' options, to disable file and buffer
 | 
						|
modifications.
 | 
						|
.It Fl b
 | 
						|
Binary mode.
 | 
						|
See
 | 
						|
.Ic ":help edit-binary" .
 | 
						|
.It Fl l
 | 
						|
Lisp mode.
 | 
						|
Sets the 'lisp' and 'showmatch' options.
 | 
						|
.It Fl A
 | 
						|
Arabic mode.
 | 
						|
Sets the 'arabic' option.
 | 
						|
.It Fl H
 | 
						|
Hebrew mode.
 | 
						|
Sets the 'hkmap' and 'rightleft' options.
 | 
						|
.It Fl V Ns Oo Ar N Oc Ns Op Ar file
 | 
						|
Verbose mode.
 | 
						|
Print messages about which files are being sourced and for reading and
 | 
						|
writing a ShaDa file.
 | 
						|
.Ar N
 | 
						|
is the 'verbose' level; defaults to
 | 
						|
.Cm 10.
 | 
						|
If
 | 
						|
.Ar file
 | 
						|
is specified, append messages to
 | 
						|
.Ar file
 | 
						|
instead of printing them.
 | 
						|
.It Fl D
 | 
						|
Debugging mode.
 | 
						|
Started when executing the first command from a script.
 | 
						|
.It Fl n
 | 
						|
Disable the use of swap files.
 | 
						|
Sets the 'updatecount' option to
 | 
						|
.Cm 0 .
 | 
						|
Can be useful for editing files on a slow medium.
 | 
						|
.It Fl r Op Ar file
 | 
						|
Recovery mode.
 | 
						|
If
 | 
						|
.Ar file
 | 
						|
is omitted
 | 
						|
then list swap files with recovery information.
 | 
						|
Otherwise the swap file
 | 
						|
.Ar file
 | 
						|
is used to recover a crashed session.
 | 
						|
The swap file has the same name as the file it's associated with, but with
 | 
						|
.Sq .swp
 | 
						|
appended.
 | 
						|
See
 | 
						|
.Ic ":help recovery" .
 | 
						|
.It Fl L Op Ar file
 | 
						|
Alias for
 | 
						|
.Fl r .
 | 
						|
.It Fl u Ar vimrc
 | 
						|
Use
 | 
						|
.Ar vimrc
 | 
						|
instead of the default
 | 
						|
.Pa ~/.config/nvim/init.vim .
 | 
						|
If
 | 
						|
.Ar vimrc
 | 
						|
is
 | 
						|
.Cm NORC ,
 | 
						|
do not load any initialization files (except plugins),
 | 
						|
and do not attempt to parse environment variables.
 | 
						|
If
 | 
						|
.Ar vimrc
 | 
						|
is
 | 
						|
.Cm NONE ,
 | 
						|
loading plugins is also skipped.
 | 
						|
See
 | 
						|
.Ic ":help initialization" .
 | 
						|
.It Fl i Ar shada
 | 
						|
Use
 | 
						|
.Ar shada
 | 
						|
instead of the default
 | 
						|
.Pa ~/.local/share/nvim/shada/main.shada .
 | 
						|
If
 | 
						|
.Ar shada
 | 
						|
is
 | 
						|
.Cm NONE ,
 | 
						|
do not read or write a ShaDa file.
 | 
						|
See
 | 
						|
.Ic ":help shada" .
 | 
						|
.It Fl -noplugin
 | 
						|
Skip loading plugins.
 | 
						|
Implied by
 | 
						|
.Cm -u NONE .
 | 
						|
.It Fl o Ns Op Ar N
 | 
						|
Open
 | 
						|
.Ar N
 | 
						|
windows stacked horizontally.
 | 
						|
If
 | 
						|
.Ar N
 | 
						|
is omitted, open one window for each file.
 | 
						|
If
 | 
						|
.Ar N
 | 
						|
is less than the number of file arguments, allocate windows for the first
 | 
						|
.Ar N
 | 
						|
files and hide the rest.
 | 
						|
.It Fl O Ns Op Ar N
 | 
						|
Like
 | 
						|
.Fl o ,
 | 
						|
but tile windows vertically.
 | 
						|
.It Fl p Ns Op Ar N
 | 
						|
Like
 | 
						|
.Fl o ,
 | 
						|
but for tab pages.
 | 
						|
.It Cm + Ns Op Ar linenum
 | 
						|
For the first file, position the cursor on line
 | 
						|
.Ar linenum .
 | 
						|
If
 | 
						|
.Ar linenum
 | 
						|
is omitted, position the cursor on the last line of the file.
 | 
						|
.Cm +5
 | 
						|
and
 | 
						|
.Cm -c 5
 | 
						|
on the command-line are equivalent to
 | 
						|
.Ic :5
 | 
						|
inside
 | 
						|
.Nm .
 | 
						|
.It Cm +/ Ns Op Ar pattern
 | 
						|
For the first file, position the cursor on the first occurrence of
 | 
						|
.Ar pattern .
 | 
						|
If
 | 
						|
.Ar pattern
 | 
						|
is omitted, the most recent search pattern is used (if any).
 | 
						|
.Cm +/foo
 | 
						|
and
 | 
						|
.Cm -c /foo
 | 
						|
on the command-line are equivalent to
 | 
						|
.Ic /foo
 | 
						|
and
 | 
						|
.Ic :/foo
 | 
						|
inside
 | 
						|
.Nm .
 | 
						|
See
 | 
						|
.Ic ":help search-pattern" .
 | 
						|
.It Fl c Ar command
 | 
						|
Execute
 | 
						|
.Ar command
 | 
						|
after reading the first file.
 | 
						|
Up to 10 instances of
 | 
						|
.Fl c
 | 
						|
or
 | 
						|
.Cm +
 | 
						|
can be used.
 | 
						|
.Qq Cm +foo
 | 
						|
and
 | 
						|
.Cm -c \(dqfoo\(dq
 | 
						|
are equivalent.
 | 
						|
.It Fl -cmd Ar command
 | 
						|
Like
 | 
						|
.Fl c ,
 | 
						|
but execute
 | 
						|
.Ar command
 | 
						|
before processing any vimrc.
 | 
						|
Up to 10 instances of these can be used independently from instances of
 | 
						|
.Fl c .
 | 
						|
.It Fl S Op Ar session
 | 
						|
Source
 | 
						|
.Ar session
 | 
						|
after the first file argument has been read.
 | 
						|
Equivalent to
 | 
						|
.Cm -c \(dqsource session\(dq .
 | 
						|
.Ar session
 | 
						|
cannot start with a hyphen
 | 
						|
.Pq Sq - .
 | 
						|
If
 | 
						|
.Ar session
 | 
						|
is omitted then
 | 
						|
.Pa Session.vim
 | 
						|
is used, if found.
 | 
						|
See
 | 
						|
.Ic ":help session-file" .
 | 
						|
.It Fl s Ar scriptin
 | 
						|
Read normal mode commands from
 | 
						|
.Ar scriptin .
 | 
						|
The same can be done with the command
 | 
						|
.Ic ":source! scriptin" .
 | 
						|
If the end of the file is reached before
 | 
						|
.Nm
 | 
						|
exits, further characters are read from the keyboard.
 | 
						|
.It Fl w Ar scriptout
 | 
						|
Append all typed characters to
 | 
						|
.Ar scriptout .
 | 
						|
Can be used for creating a script to be used with
 | 
						|
.Fl s
 | 
						|
or
 | 
						|
.Ic :source! .
 | 
						|
.It Fl W Ar scriptout
 | 
						|
Like
 | 
						|
.Fl w ,
 | 
						|
but truncate
 | 
						|
.Ar scriptout .
 | 
						|
.It Fl -startuptime Ar file
 | 
						|
During startup, append timing messages to
 | 
						|
.Ar file .
 | 
						|
Can be used to diagnose slow startup times.
 | 
						|
.It Fl -api-info
 | 
						|
Dump API metadata serialized to msgpack and exit.
 | 
						|
.It Fl -embed
 | 
						|
Use standard input and standard output as a msgpack-rpc channel.
 | 
						|
Implies
 | 
						|
.Fl -headless .
 | 
						|
.It Fl -headless
 | 
						|
Do not start a user interface.
 | 
						|
.It Fl -listen Ar address
 | 
						|
Start RPC server on this pipe or TCP socket.
 | 
						|
.It Fl h , -help
 | 
						|
Print usage information and exit.
 | 
						|
.It Fl v , -version
 | 
						|
Print version information and exit.
 | 
						|
.El
 | 
						|
.Sh ENVIRONMENT
 | 
						|
.Bl -tag -width Fl
 | 
						|
.It Ev NVIM_LOG_FILE
 | 
						|
Low-level log file, usually found at ~/.local/share/nvim/log. See :help
 | 
						|
$NVIM_LOG_FILE.
 | 
						|
.It Ev VIM
 | 
						|
Used to locate user files, such as init.vim.
 | 
						|
System-dependent, see :help $VIM.
 | 
						|
.It Ev VIMRUNTIME
 | 
						|
Used to locate runtime files (documentation, syntax highlighting, etc.).
 | 
						|
.It Ev XDG_CONFIG_HOME
 | 
						|
Path to the user-local configuration directory, see
 | 
						|
.Sx FILES .
 | 
						|
Defaults to
 | 
						|
.Pa ~/.config .
 | 
						|
See :help xdg.
 | 
						|
.It Ev XDG_DATA_HOME
 | 
						|
Like
 | 
						|
.Ev XDG_CONFIG_HOME ,
 | 
						|
but used to store data not generally edited by the user,
 | 
						|
namely swap, backup, and ShaDa files.
 | 
						|
Defaults to
 | 
						|
.Pa ~/.local/share .
 | 
						|
See :help xdg.
 | 
						|
.It Ev VIMINIT
 | 
						|
Ex commands to be executed at startup.
 | 
						|
For example, the command to quit is
 | 
						|
.Ic :q ,
 | 
						|
so to have
 | 
						|
.Nm
 | 
						|
quit immediately after starting, set
 | 
						|
.Ev VIMINIT
 | 
						|
to
 | 
						|
.Cm q .
 | 
						|
See
 | 
						|
.Ic ":help VIMINIT" .
 | 
						|
.It Ev SHELL
 | 
						|
Used to initialize the 'shell' option, which decides the default shell used by
 | 
						|
features like
 | 
						|
.Ic :terminal ,
 | 
						|
.Ic :! , and
 | 
						|
.Ic system() .
 | 
						|
.El
 | 
						|
.Sh FILES
 | 
						|
.Bl -tag -width "~/.config/nvim/init.vim"
 | 
						|
.It Pa ~/.config/nvim/init.vim
 | 
						|
User-local
 | 
						|
.Nm
 | 
						|
configuration file.
 | 
						|
.It Pa ~/.config/nvim
 | 
						|
User-local
 | 
						|
.Nm
 | 
						|
configuration directory.
 | 
						|
See also
 | 
						|
.Ev XDG_CONFIG_HOME .
 | 
						|
.It Pa $VIM/sysinit.vim
 | 
						|
System-global
 | 
						|
.Nm
 | 
						|
configuration file.
 | 
						|
.It Pa /usr/local/share/nvim
 | 
						|
System-global
 | 
						|
.Nm
 | 
						|
runtime directory.
 | 
						|
.El
 | 
						|
.Sh AUTHORS
 | 
						|
Nvim was started by
 | 
						|
.An Thiago de Arruda .
 | 
						|
Most of Vim was written by
 | 
						|
.An -nosplit
 | 
						|
.An Bram Moolenaar .
 | 
						|
See
 | 
						|
.Ic ":help credits" .
 | 
						|
Vim is based on Stevie, worked on by
 | 
						|
.An Tim Thompson ,
 | 
						|
.An Tony Andrews ,
 | 
						|
and
 | 
						|
.An G.R. (Fred) Walter .
 |