mirror of
https://github.com/neovim/neovim.git
synced 2025-02-25 18:55:25 -06:00
docs: graduate intro.txt to "flow layout" #31462
- move credits and backers to credits.txt
This commit is contained in:
parent
845e563421
commit
12901447cb
@ -1,11 +1,118 @@
|
||||
*backers.txt* Nvim
|
||||
*credits.txt* Nvim
|
||||
|
||||
|
||||
NVIM REFERENCE MANUAL
|
||||
|
||||
|
||||
==============================================================================
|
||||
Fundraiser Backers
|
||||
Credits *credits*
|
||||
|
||||
Most of Vim was written by Bram Moolenaar <Bram@vim.org> |Bram-Moolenaar|.
|
||||
|
||||
Parts of the documentation come from several Vi manuals, written by:
|
||||
W.N. Joy
|
||||
Alan P.W. Hewett
|
||||
Mark Horton
|
||||
|
||||
The Vim editor is based on Stevie and includes (ideas from) other software,
|
||||
worked on by the people mentioned here. Other people helped by sending me
|
||||
patches, suggestions and giving feedback about what is good and bad in Vim.
|
||||
|
||||
Vim would never have become what it is now, without the help of these people!
|
||||
|
||||
Ron Aaron Win32 GUI changes
|
||||
Mohsin Ahmed encryption
|
||||
Zoltan Arpadffy work on VMS port
|
||||
Tony Andrews Stevie
|
||||
Gert van Antwerpen changes for DJGPP on MS-DOS
|
||||
Berkeley DB(3) ideas for swap file implementation
|
||||
Keith Bostic Nvi
|
||||
Walter Briscoe Makefile updates, various patches
|
||||
Ralf Brown SPAWNO library for MS-DOS
|
||||
Robert Colon many useful remarks
|
||||
Marcin Dalecki GTK+ GUI port, toolbar icons, gettext()
|
||||
Kayhan Demirel sent me news in Uganda
|
||||
Chris & John Downey xvi (ideas for multi-windows version)
|
||||
Henk Elbers first VMS port
|
||||
Daniel Elstner GTK+ 2 port
|
||||
Eric Fischer Mac port, 'cindent', and other improvements
|
||||
Benji Fisher Answering lots of user questions
|
||||
Bill Foster Athena GUI port (later removed)
|
||||
Google Let Bram work on Vim one day a week
|
||||
Loic Grenie xvim (ideas for multi windows version)
|
||||
Sven Guckes Vim promoter and previous WWW page maintainer
|
||||
Darren Hiebert Exuberant ctags
|
||||
Jason Hildebrand GTK+ 2 port
|
||||
Bruce Hunsaker improvements for VMS port
|
||||
Andy Kahn Cscope support, GTK+ GUI port
|
||||
Oezguer Kesim Maintainer of Vim Mailing Lists
|
||||
Axel Kielhorn work on the Macintosh port
|
||||
Steve Kirkendall Elvis
|
||||
Roger Knobbe original port to Windows NT
|
||||
Sergey Laskavy Vim's help from Moscow
|
||||
Felix von Leitner Previous maintainer of Vim Mailing Lists
|
||||
David Leonard Port of Python extensions to Unix
|
||||
Avner Lottem Edit in right-to-left windows
|
||||
Flemming Madsen X11 client-server, various features and patches
|
||||
Tony Mechelynck answers many user questions
|
||||
Paul Moore Python interface extensions, many patches
|
||||
Katsuhito Nagano Work on multibyte versions
|
||||
Sung-Hyun Nam Work on multibyte versions
|
||||
Vince Negri Win32 GUI and generic console enhancements
|
||||
Steve Oualline Author of the first Vim book |frombook|
|
||||
Dominique Pelle Valgrind reports and many fixes
|
||||
A.Politz Many bug reports and some fixes
|
||||
George V. Reilly Win32 port, Win32 GUI start-off
|
||||
Stephen Riehm bug collector
|
||||
Stefan Roemer various patches and help to users
|
||||
Ralf Schandl IBM OS/390 port
|
||||
Olaf Seibert DICE and BeBox version, regexp improvements
|
||||
Mortaza Shiran Farsi patches
|
||||
Peter da Silva termlib
|
||||
Paul Slootman OS/2 port
|
||||
Henry Spencer regular expressions
|
||||
Dany St-Amant Macintosh port
|
||||
Tim Thompson Stevie
|
||||
G. R. (Fred) Walter Stevie
|
||||
Sven Verdoolaege Perl interface
|
||||
Robert Webb Command-line completion, GUI versions, and
|
||||
lots of patches
|
||||
Ingo Wilken Tcl interface
|
||||
Mike Williams PostScript printing
|
||||
Juergen Weigert Lattice version, AUX improvements, Unix and
|
||||
MS-DOS ports, autoconf
|
||||
Stefan 'Sec' Zehl Maintainer of vim.org
|
||||
Yasuhiro Matsumoto many MS-Windows improvements
|
||||
Ken Takata fixes and features
|
||||
Kazunobu Kuriyama GTK 3
|
||||
Christian Brabandt many fixes, features, user support, etc.
|
||||
Yegappan Lakshmanan many quickfix features
|
||||
|
||||
I wish to thank all the people that sent me bug reports and suggestions. The
|
||||
list is too long to mention them all here. Vim would not be the same without
|
||||
the ideas from all these people: They keep Vim alive!
|
||||
*love* *peace* *friendship* *gross-national-happiness*
|
||||
|
||||
|
||||
Documentation may refer to other versions of Vi:
|
||||
*Vi* *vi*
|
||||
Vi "the original". Without further remarks this is the version
|
||||
of Vi that appeared in Sun OS 4.x. ":version" returns
|
||||
"Version 3.7, 6/7/85". Source code only available with a license.
|
||||
*Nvi*
|
||||
Nvi The "New" Vi. The version of Vi that comes with BSD 4.4 and FreeBSD.
|
||||
Very good compatibility with the original Vi, with a few extensions.
|
||||
The version used is 1.79. ":version" returns "Version 1.79
|
||||
(10/23/96)". Source code is freely available.
|
||||
*Elvis*
|
||||
Elvis Another Vi clone, made by Steve Kirkendall. Very compact but isn't
|
||||
as flexible as Vim. Source code is freely available.
|
||||
|
||||
Vim Nvim is based on Vim. https://www.vim.org/
|
||||
|
||||
|
||||
==============================================================================
|
||||
Neovim fundraiser backers *backers.txt*
|
||||
|
||||
Thank you to everyone who backed the original Neovim Fundraiser.
|
||||
|
@ -25,35 +25,40 @@ Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
|
||||
Vim is pronounced as one word, like Jim. So Nvim is "En-Vim", two syllables.
|
||||
|
||||
This manual is a reference for all Nvim editor and API features. It is not an
|
||||
introduction; instead for beginners, there is a hands-on |tutor| and a user
|
||||
manual |usr_toc.txt|.
|
||||
introduction; instead for beginners, there is a hands-on |tutor|, |lua-guide|,
|
||||
and |user-manual|.
|
||||
|
||||
*book*
|
||||
There are many books on Vi and Vim. We recommend:
|
||||
------------------------------------------------------------------------------
|
||||
Resources *resources*
|
||||
|
||||
"Practical Vim" by Drew Neil
|
||||
"Modern Vim" by Drew Neil
|
||||
https://vimcasts.org/publications/
|
||||
|
||||
"Practical Vim" is acclaimed for its focus on quickly learning common editing
|
||||
tasks with Vim. "Modern Vim" explores new features in Nvim and Vim 8.
|
||||
|
||||
"Vim - Vi Improved" by Steve Oualline
|
||||
|
||||
This was the first book dedicated to Vim. Parts of it were included in the
|
||||
user manual. |frombook| ISBN: 0735710015
|
||||
For more information try one of these:
|
||||
https://iccf-holland.org/click5.html
|
||||
https://www.vim.org/iccf/click5.html
|
||||
|
||||
==============================================================================
|
||||
Nvim on the interwebs *internet*
|
||||
|
||||
*www* *distribution*
|
||||
*internet* *www* *distribution*
|
||||
- Nvim home page: https://neovim.io/
|
||||
- Vim FAQ: https://vimhelp.org/vim_faq.txt.html
|
||||
|
||||
*download* *upgrade* *install* *ubuntu*
|
||||
*book*
|
||||
There are many resources to learn Vi, Vim, and Nvim. We recommend:
|
||||
|
||||
- "Practical Vim" by Drew Neil. Acclaimed for its focus on quickly learning
|
||||
common editing tasks with Vim.
|
||||
- "Modern Vim" by Drew Neil. Explores new features in Nvim and Vim 8.
|
||||
- https://vimcasts.org/publications/
|
||||
- "Vim - Vi Improved" by Steve Oualline. This was the first book dedicated to
|
||||
Vim. Parts of it were included in the Vim user manual. |frombook| ISBN:
|
||||
0735710015
|
||||
- For more information try one of these:
|
||||
- https://iccf-holland.org/click5.html
|
||||
- https://www.vim.org/iccf/click5.html
|
||||
|
||||
*bugs* *bug-report* *feature-request*
|
||||
Report bugs and request features here: https://github.com/neovim/neovim/issues
|
||||
Be brief, yet complete. Always give a reproducible example and try to find
|
||||
out which settings or other things trigger the bug. If Nvim crashed, try to
|
||||
get a backtrace (see |dev-tools-backtrace|).
|
||||
|
||||
==============================================================================
|
||||
Installing Nvim *install*
|
||||
|
||||
*download* *upgrade* *ubuntu*
|
||||
To install or upgrade Nvim, you can...
|
||||
- Download a pre-built archive:
|
||||
https://github.com/neovim/neovim/releases
|
||||
@ -62,14 +67,8 @@ To install or upgrade Nvim, you can...
|
||||
- Build from source:
|
||||
https://github.com/neovim/neovim/blob/master/INSTALL.md#install-from-source
|
||||
|
||||
*bugs* *bug-report* *feature-request*
|
||||
Report bugs and request features here: https://github.com/neovim/neovim/issues
|
||||
Be brief, yet complete. Always give a reproducible example and try to find
|
||||
out which settings or other things trigger the bug. If Nvim crashed, try to
|
||||
get a backtrace (see |dev-tools-backtrace|).
|
||||
|
||||
*uninstall*
|
||||
To un-install Nvim:
|
||||
To uninstall Nvim:
|
||||
- If you downloaded a pre-built archive or built Nvim from source (e.g. `make
|
||||
install`), just delete its files, typically located in: >
|
||||
/usr/local/bin/nvim
|
||||
@ -101,112 +100,6 @@ Nvim development is funded separately from Vim:
|
||||
|
||||
https://neovim.io/#sponsor
|
||||
|
||||
==============================================================================
|
||||
Credits *credits*
|
||||
|
||||
Most of Vim was written by Bram Moolenaar <Bram@vim.org> |Bram-Moolenaar|.
|
||||
|
||||
Parts of the documentation come from several Vi manuals, written by:
|
||||
W.N. Joy
|
||||
Alan P.W. Hewett
|
||||
Mark Horton
|
||||
|
||||
The Vim editor is based on Stevie and includes (ideas from) other software,
|
||||
worked on by the people mentioned here. Other people helped by sending me
|
||||
patches, suggestions and giving feedback about what is good and bad in Vim.
|
||||
|
||||
Vim would never have become what it is now, without the help of these people!
|
||||
|
||||
Ron Aaron Win32 GUI changes
|
||||
Mohsin Ahmed encryption
|
||||
Zoltan Arpadffy work on VMS port
|
||||
Tony Andrews Stevie
|
||||
Gert van Antwerpen changes for DJGPP on MS-DOS
|
||||
Berkeley DB(3) ideas for swap file implementation
|
||||
Keith Bostic Nvi
|
||||
Walter Briscoe Makefile updates, various patches
|
||||
Ralf Brown SPAWNO library for MS-DOS
|
||||
Robert Colon many useful remarks
|
||||
Marcin Dalecki GTK+ GUI port, toolbar icons, gettext()
|
||||
Kayhan Demirel sent me news in Uganda
|
||||
Chris & John Downey xvi (ideas for multi-windows version)
|
||||
Henk Elbers first VMS port
|
||||
Daniel Elstner GTK+ 2 port
|
||||
Eric Fischer Mac port, 'cindent', and other improvements
|
||||
Benji Fisher Answering lots of user questions
|
||||
Bill Foster Athena GUI port (later removed)
|
||||
Google Let Bram work on Vim one day a week
|
||||
Loic Grenie xvim (ideas for multi windows version)
|
||||
Sven Guckes Vim promoter and previous WWW page maintainer
|
||||
Darren Hiebert Exuberant ctags
|
||||
Jason Hildebrand GTK+ 2 port
|
||||
Bruce Hunsaker improvements for VMS port
|
||||
Andy Kahn Cscope support, GTK+ GUI port
|
||||
Oezguer Kesim Maintainer of Vim Mailing Lists
|
||||
Axel Kielhorn work on the Macintosh port
|
||||
Steve Kirkendall Elvis
|
||||
Roger Knobbe original port to Windows NT
|
||||
Sergey Laskavy Vim's help from Moscow
|
||||
Felix von Leitner Previous maintainer of Vim Mailing Lists
|
||||
David Leonard Port of Python extensions to Unix
|
||||
Avner Lottem Edit in right-to-left windows
|
||||
Flemming Madsen X11 client-server, various features and patches
|
||||
Tony Mechelynck answers many user questions
|
||||
Paul Moore Python interface extensions, many patches
|
||||
Katsuhito Nagano Work on multibyte versions
|
||||
Sung-Hyun Nam Work on multibyte versions
|
||||
Vince Negri Win32 GUI and generic console enhancements
|
||||
Steve Oualline Author of the first Vim book |frombook|
|
||||
Dominique Pelle Valgrind reports and many fixes
|
||||
A.Politz Many bug reports and some fixes
|
||||
George V. Reilly Win32 port, Win32 GUI start-off
|
||||
Stephen Riehm bug collector
|
||||
Stefan Roemer various patches and help to users
|
||||
Ralf Schandl IBM OS/390 port
|
||||
Olaf Seibert DICE and BeBox version, regexp improvements
|
||||
Mortaza Shiran Farsi patches
|
||||
Peter da Silva termlib
|
||||
Paul Slootman OS/2 port
|
||||
Henry Spencer regular expressions
|
||||
Dany St-Amant Macintosh port
|
||||
Tim Thompson Stevie
|
||||
G. R. (Fred) Walter Stevie
|
||||
Sven Verdoolaege Perl interface
|
||||
Robert Webb Command-line completion, GUI versions, and
|
||||
lots of patches
|
||||
Ingo Wilken Tcl interface
|
||||
Mike Williams PostScript printing
|
||||
Juergen Weigert Lattice version, AUX improvements, Unix and
|
||||
MS-DOS ports, autoconf
|
||||
Stefan 'Sec' Zehl Maintainer of vim.org
|
||||
Yasuhiro Matsumoto many MS-Windows improvements
|
||||
Ken Takata fixes and features
|
||||
Kazunobu Kuriyama GTK 3
|
||||
Christian Brabandt many fixes, features, user support, etc.
|
||||
Yegappan Lakshmanan many quickfix features
|
||||
|
||||
I wish to thank all the people that sent me bug reports and suggestions. The
|
||||
list is too long to mention them all here. Vim would not be the same without
|
||||
the ideas from all these people: They keep Vim alive!
|
||||
*love* *peace* *friendship* *gross-national-happiness*
|
||||
|
||||
|
||||
Documentation may refer to other versions of Vi:
|
||||
*Vi* *vi*
|
||||
Vi "the original". Without further remarks this is the version
|
||||
of Vi that appeared in Sun OS 4.x. ":version" returns
|
||||
"Version 3.7, 6/7/85". Source code only available with a license.
|
||||
*Nvi*
|
||||
Nvi The "New" Vi. The version of Vi that comes with BSD 4.4 and FreeBSD.
|
||||
Very good compatibility with the original Vi, with a few extensions.
|
||||
The version used is 1.79. ":version" returns "Version 1.79
|
||||
(10/23/96)". Source code is freely available.
|
||||
*Elvis*
|
||||
Elvis Another Vi clone, made by Steve Kirkendall. Very compact but isn't
|
||||
as flexible as Vim. Source code is freely available.
|
||||
|
||||
Vim Nvim is based on Vim. https://www.vim.org/
|
||||
|
||||
==============================================================================
|
||||
Bram Moolenaar *Bram* *Moolenaar* *Bram-Moolenaar* *brammool*
|
||||
|
||||
@ -217,8 +110,8 @@ On August 3, 2023, he passed away at the age of 62. If Vim or Nvim have been
|
||||
of use to you in your life, please read |Uganda| and consider honoring his
|
||||
memory however you may see fit.
|
||||
|
||||
Obituary Articles: https://github.com/vim/vim/discussions/12742
|
||||
Say Farewell: https://github.com/vim/vim/discussions/12737
|
||||
- Obituary Articles: https://github.com/vim/vim/discussions/12742
|
||||
- Say Farewell: https://github.com/vim/vim/discussions/12737
|
||||
|
||||
==============================================================================
|
||||
Notation *notation*
|
||||
@ -231,10 +124,10 @@ Note that Vim uses all possible characters in commands. Sometimes the [], {}
|
||||
and <> are part of what you type, the context should make this clear.
|
||||
|
||||
|
||||
[] Characters in square brackets are optional.
|
||||
- [] Characters in square brackets are optional.
|
||||
|
||||
*count* *[count]*
|
||||
[count] An optional number that may precede the command to multiply
|
||||
- [count] An optional number that may precede the command to multiply
|
||||
or iterate the command. If no number is given, a count of one
|
||||
is used, unless otherwise noted. Note that in this manual the
|
||||
[count] is not mentioned in the description of the command,
|
||||
@ -244,7 +137,7 @@ and <> are part of what you type, the context should make this clear.
|
||||
window. You can use <Del> to erase the last digit (|N<Del>|).
|
||||
|
||||
*[quotex]*
|
||||
["x] An optional register designation where text can be stored.
|
||||
- ["x] An optional register designation where text can be stored.
|
||||
See |registers|. The x is a single character between 'a' and
|
||||
'z' or 'A' and 'Z' or '"', and in some cases (with the put
|
||||
command) between '0' and '9', '%', '#', or others. The
|
||||
@ -255,29 +148,30 @@ and <> are part of what you type, the context should make this clear.
|
||||
with """" the stored text is put into the unnamed register.
|
||||
|
||||
*{}*
|
||||
{} Curly braces denote parts of the command which must appear,
|
||||
- {} Curly braces denote parts of the command which must appear,
|
||||
but which can take a number of different values. The
|
||||
differences between Vim and Vi are also given in curly braces
|
||||
(this will be clear from the context).
|
||||
|
||||
*{char1-char2}*
|
||||
{char1-char2} A single character from the range char1 to char2. For
|
||||
- {char1-char2} A single character from the range char1 to char2. For
|
||||
example: {a-z} is a lowercase letter. Multiple ranges may be
|
||||
concatenated. For example, {a-zA-Z0-9} is any alphanumeric
|
||||
character.
|
||||
|
||||
*{motion}* *movement*
|
||||
{motion} A command that moves the cursor. These are explained in
|
||||
|motion.txt|. Examples:
|
||||
w to start of next word
|
||||
b to begin of current word
|
||||
4j four lines down
|
||||
/The<CR> to next occurrence of "The"
|
||||
This is used after an |operator| command to move over the text
|
||||
that is to be operated upon.
|
||||
- If the motion includes a count and the operator also has a
|
||||
count, the two counts are multiplied. For example: "2d3w"
|
||||
deletes six words.
|
||||
- {motion} A command that moves the cursor. These are explained in
|
||||
|motion.txt|.
|
||||
- Examples:
|
||||
- `w` to start of next word
|
||||
- `b` to begin of current word
|
||||
- `4j` four lines down
|
||||
- `/The<CR>` to next occurrence of "The"
|
||||
- This is used after an |operator| command to move over the
|
||||
text that is to be operated upon.
|
||||
- If the motion includes a count and the operator also has
|
||||
a count, the two counts are multiplied. For example:
|
||||
"2d3w" deletes six words.
|
||||
- The motion can be backwards, e.g. "db" to delete to the
|
||||
start of the word.
|
||||
- The motion can also be a mouse click. The mouse is not
|
||||
@ -286,18 +180,18 @@ and <> are part of what you type, the context should make this clear.
|
||||
operator is pending.
|
||||
- Ex commands can be used to move the cursor. This can be
|
||||
used to call a function that does some complicated motion.
|
||||
The motion is always charwise exclusive, no matter
|
||||
what ":" command is used. This means it's impossible to
|
||||
include the last character of a line without the line break
|
||||
(unless 'virtualedit' is set).
|
||||
If the Ex command changes the text before where the operator
|
||||
starts or jumps to another buffer the result is
|
||||
unpredictable. It is possible to change the text further
|
||||
down. Jumping to another buffer is possible if the current
|
||||
buffer is not unloaded.
|
||||
The motion is always charwise exclusive, no matter what
|
||||
":" command is used. This means it's impossible to
|
||||
include the last character of a line without the line
|
||||
break (unless 'virtualedit' is set). If the Ex command
|
||||
changes the text before where the operator starts or jumps
|
||||
to another buffer the result is unpredictable. It is
|
||||
possible to change the text further down. Jumping to
|
||||
another buffer is possible if the current buffer is not
|
||||
unloaded.
|
||||
|
||||
*{Visual}*
|
||||
{Visual} A selected text area. It is started with the "v", "V", or
|
||||
- {Visual} A selected text area. It is started with the "v", "V", or
|
||||
CTRL-V command, then any cursor movement command can be used
|
||||
to change the end of the selected text.
|
||||
This is used before an |operator| command to highlight the
|
||||
@ -305,14 +199,14 @@ and <> are part of what you type, the context should make this clear.
|
||||
See |Visual-mode|.
|
||||
|
||||
*<character>*
|
||||
<character> A special character from the table below, optionally with
|
||||
- <character> A special character from the table below, optionally with
|
||||
modifiers, or a single ASCII character with modifiers.
|
||||
|
||||
*'character'*
|
||||
'c' A single ASCII character.
|
||||
- 'c' A single ASCII character.
|
||||
|
||||
*CTRL-{char}*
|
||||
CTRL-{char} {char} typed as a control character; that is, typing {char}
|
||||
- CTRL-{char} {char} typed as a control character; that is, typing {char}
|
||||
while holding the CTRL key down. The case of {char} is
|
||||
ignored; thus CTRL-A and CTRL-a are equivalent. But in
|
||||
some terminals and environments, using the SHIFT key will
|
||||
@ -321,13 +215,13 @@ CTRL-{char} {char} typed as a control character; that is, typing {char}
|
||||
such as CTRL-A.
|
||||
|
||||
*'option'*
|
||||
'option' An option, or parameter, that can be set to a value, is
|
||||
- 'option' An option, or parameter, that can be set to a value, is
|
||||
enclosed in single quotes. See |options|.
|
||||
|
||||
*quotecommandquote*
|
||||
"command" A reference to a command that you can type is enclosed in
|
||||
- "command" A reference to a command that you can type is enclosed in
|
||||
double quotes.
|
||||
`command` New style command, this distinguishes it from other quoted
|
||||
- `command` New style command, this distinguishes it from other quoted
|
||||
text and strings.
|
||||
|
||||
*key-notation* *key-codes* *keycodes*
|
||||
@ -335,7 +229,6 @@ These names for keys are used in the documentation. They can also be used
|
||||
with the ":map" command.
|
||||
|
||||
notation meaning equivalent decimal value(s) ~
|
||||
----------------------------------------------------------------------- ~
|
||||
<Nul> zero CTRL-@ 0 (stored as 10) *<Nul>*
|
||||
<BS> backspace CTRL-H 8 *backspace*
|
||||
<Tab> tab CTRL-I 9 *tab* *Tab*
|
||||
@ -401,7 +294,7 @@ notation meaning equivalent decimal value(s) ~
|
||||
<A-…> same as <M-…> *<A-*
|
||||
<T-…> meta-key when it's not alt *<T-*
|
||||
<D-…> command-key or "super" key *<D-*
|
||||
----------------------------------------------------------------------- ~
|
||||
|
||||
|
||||
Note:
|
||||
|
||||
@ -420,18 +313,18 @@ Note:
|
||||
Examples are often given in the <> notation. Sometimes this is just to make
|
||||
clear what you need to type, but often it can be typed literally, e.g., with
|
||||
the ":map" command. The rules are:
|
||||
1. Printable characters are typed directly, except backslash and "<"
|
||||
2. Backslash is represented with "\\", double backslash, or "<Bslash>".
|
||||
3. Literal "<" is represented with "\<" or "<lt>". When there is no
|
||||
1. Printable characters are typed directly, except backslash and "<"
|
||||
2. Backslash is represented with "\\", double backslash, or "<Bslash>".
|
||||
3. Literal "<" is represented with "\<" or "<lt>". When there is no
|
||||
confusion possible, "<" can be used directly.
|
||||
4. "<key>" means the special key typed (see the table above). Examples:
|
||||
<Esc> Escape key
|
||||
<C-G> CTRL-G
|
||||
<Up> cursor up key
|
||||
<C-LeftMouse> Control- left mouse click
|
||||
<S-F11> Shifted function key 11
|
||||
<M-a> Meta- a ('a' with bit 8 set)
|
||||
<M-A> Meta- A ('A' with bit 8 set)
|
||||
4. "<key>" means the special key typed (see the table above). Examples:
|
||||
- <Esc> Escape key
|
||||
- <C-G> CTRL-G
|
||||
- <Up> cursor up key
|
||||
- <C-LeftMouse> Control- left mouse click
|
||||
- <S-F11> Shifted function key 11
|
||||
- <M-a> Meta- a ('a' with bit 8 set)
|
||||
- <M-A> Meta- A ('A' with bit 8 set)
|
||||
|
||||
The <> notation uses <lt> to escape the special meaning of key names. Using a
|
||||
backslash also works, but only when 'cpoptions' does not include the 'B' flag.
|
||||
@ -454,40 +347,40 @@ Modes, introduction *vim-modes-intro* *vim-modes*
|
||||
Vim has seven BASIC modes:
|
||||
|
||||
*Normal* *Normal-mode* *command-mode*
|
||||
Normal mode In Normal mode you can enter all the normal editor
|
||||
- Normal mode: In Normal mode you can enter all the normal editor
|
||||
commands. If you start the editor you are in this
|
||||
mode. This is also known as command mode.
|
||||
|
||||
Visual mode This is like Normal mode, but the movement commands
|
||||
- Visual mode: This is like Normal mode, but the movement commands
|
||||
extend a highlighted area. When a non-movement
|
||||
command is used, it is executed for the highlighted
|
||||
area. See |Visual-mode|.
|
||||
If the 'showmode' option is on "-- VISUAL --" is shown
|
||||
at the bottom of the window.
|
||||
|
||||
Select mode This looks most like the MS-Windows selection mode.
|
||||
- Select mode: This looks most like the MS-Windows selection mode.
|
||||
Typing a printable character deletes the selection
|
||||
and starts Insert mode. See |Select-mode|.
|
||||
If the 'showmode' option is on "-- SELECT --" is shown
|
||||
at the bottom of the window.
|
||||
|
||||
Insert mode In Insert mode the text you type is inserted into the
|
||||
- Insert mode: In Insert mode the text you type is inserted into the
|
||||
buffer. See |Insert-mode|.
|
||||
If the 'showmode' option is on "-- INSERT --" is shown
|
||||
at the bottom of the window.
|
||||
|
||||
Command-line mode In Command-line mode (also called Cmdline mode) you
|
||||
Cmdline mode can enter one line of text at the bottom of the
|
||||
- Cmdline mode: In Command-line mode (also called Cmdline mode) you
|
||||
can enter one line of text at the bottom of the
|
||||
window. This is for the Ex commands, ":", the pattern
|
||||
search commands, "?" and "/", and the filter command,
|
||||
"!". |Cmdline-mode|
|
||||
|
||||
Ex mode Like Command-line mode, but after entering a command
|
||||
- Ex mode: Like Command-line mode, but after entering a command
|
||||
you remain in Ex mode. Very limited editing of the
|
||||
command line. |Ex-mode|
|
||||
|
||||
*Terminal-mode*
|
||||
Terminal mode In Terminal mode all input (except CTRL-\) is sent to
|
||||
- Terminal mode: In Terminal mode all input (except CTRL-\) is sent to
|
||||
the process running in the current |terminal| buffer.
|
||||
If CTRL-\ is pressed, the next key is sent unless it
|
||||
is CTRL-N (|CTRL-\_CTRL-N|) or CTRL-O (|t_CTRL-\_CTRL-O|).
|
||||
@ -497,37 +390,37 @@ Terminal mode In Terminal mode all input (except CTRL-\) is sent to
|
||||
There are six ADDITIONAL modes. These are variants of the BASIC modes:
|
||||
|
||||
*Operator-pending* *Operator-pending-mode*
|
||||
Operator-pending mode This is like Normal mode, but after an operator
|
||||
- Operator-pending mode: This is like Normal mode, but after an operator
|
||||
command has started, and Vim is waiting for a {motion}
|
||||
to specify the text that the operator will work on.
|
||||
|
||||
Replace mode Replace mode is a special case of Insert mode. You
|
||||
- Replace mode: Replace mode is a special case of Insert mode. You
|
||||
can do the same things as in Insert mode, but for
|
||||
each character you enter, one character of the existing
|
||||
text is deleted. See |Replace-mode|.
|
||||
If the 'showmode' option is on "-- REPLACE --" is
|
||||
shown at the bottom of the window.
|
||||
|
||||
Virtual Replace mode Virtual Replace mode is similar to Replace mode, but
|
||||
- Virtual Replace mode: Virtual Replace mode is similar to Replace mode, but
|
||||
instead of file characters you are replacing screen
|
||||
real estate. See |Virtual-Replace-mode|.
|
||||
If the 'showmode' option is on "-- VREPLACE --" is
|
||||
shown at the bottom of the window.
|
||||
|
||||
Insert Normal mode Entered when CTRL-O is typed in Insert mode (see
|
||||
- Insert Normal mode: Entered when CTRL-O is typed in Insert mode (see
|
||||
|i_CTRL-O|). This is like Normal mode, but after
|
||||
executing one command Vim returns to Insert mode.
|
||||
If the 'showmode' option is on "-- (insert) --" is
|
||||
shown at the bottom of the window.
|
||||
|
||||
Insert Visual mode Entered when starting a Visual selection from Insert
|
||||
- Insert Visual mode: Entered when starting a Visual selection from Insert
|
||||
mode, e.g., by using CTRL-O and then "v", "V" or
|
||||
CTRL-V. When the Visual selection ends, Vim returns
|
||||
to Insert mode.
|
||||
If the 'showmode' option is on "-- (insert) VISUAL --"
|
||||
is shown at the bottom of the window.
|
||||
|
||||
Insert Select mode Entered when starting Select mode from Insert mode.
|
||||
- Insert Select mode: Entered when starting Select mode from Insert mode.
|
||||
E.g., by dragging the mouse or <S-Right>.
|
||||
When the Select mode ends, Vim returns to Insert mode.
|
||||
If the 'showmode' option is on "-- (insert) SELECT --"
|
||||
@ -545,7 +438,8 @@ CTRL-O in Insert mode you get a beep but you are still in Insert mode, type
|
||||
<Esc> again.
|
||||
|
||||
*i_esc*
|
||||
FROM mode TO mode ~
|
||||
>
|
||||
FROM mode TO mode
|
||||
Normal Visual Select Insert Replace Cmd-line Ex >
|
||||
Normal v V ^V *4 *1 R gR : / ? ! Q
|
||||
Visual *2 ^G c C -- : --
|
||||
@ -555,14 +449,15 @@ CTRL-O in Insert mode you get a beep but you are still in Insert mode, type
|
||||
Command-line *3 -- -- :start -- --
|
||||
Ex :vi -- -- -- -- --
|
||||
|
||||
-- not possible
|
||||
-- not possible
|
||||
<
|
||||
|
||||
* 1 Go from Normal mode to Insert mode by giving the command "i", "I", "a",
|
||||
- 1 Go from Normal mode to Insert mode by giving the command "i", "I", "a",
|
||||
"A", "o", "O", "c", "C", "s" or S".
|
||||
* 2 Go from Visual mode to Normal mode by giving a non-movement command, which
|
||||
- 2 Go from Visual mode to Normal mode by giving a non-movement command, which
|
||||
causes the command to be executed, or by hitting <Esc> "v", "V" or "CTRL-V"
|
||||
(see |v_v|), which just stops Visual mode without side effects.
|
||||
* 3 Go from Command-line mode to Normal mode by:
|
||||
- 3 Go from Command-line mode to Normal mode by:
|
||||
- Hitting <CR> or <NL>, which causes the entered command to be executed.
|
||||
- Deleting the complete line (e.g., with CTRL-U) and giving a final <BS>.
|
||||
- Hitting CTRL-C or <Esc>, which quits the command-line without executing
|
||||
@ -570,15 +465,15 @@ CTRL-O in Insert mode you get a beep but you are still in Insert mode, type
|
||||
In the last case <Esc> may be the character defined with the 'wildchar'
|
||||
option, in which case it will start command-line completion. You can
|
||||
ignore that and type <Esc> again.
|
||||
* 4 Go from Normal to Select mode by:
|
||||
- 4 Go from Normal to Select mode by:
|
||||
- use the mouse to select text while 'selectmode' contains "mouse"
|
||||
- use a non-printable command to move the cursor while keeping the Shift
|
||||
key pressed, and the 'selectmode' option contains "key"
|
||||
- use "v", "V" or "CTRL-V" while 'selectmode' contains "cmd"
|
||||
- use "gh", "gH" or "g CTRL-H" |g_CTRL-H|
|
||||
* 5 Go from Select mode to Normal mode by using a non-printable command to move
|
||||
- 5 Go from Select mode to Normal mode by using a non-printable command to move
|
||||
the cursor, without keeping the Shift key pressed.
|
||||
* 6 Go from Select mode to Insert mode by typing a printable character. The
|
||||
- 6 Go from Select mode to Insert mode by typing a printable character. The
|
||||
selection is deleted and the character is inserted.
|
||||
|
||||
*CTRL-\_CTRL-N* *i_CTRL-\_CTRL-N* *c_CTRL-\_CTRL-N*
|
||||
@ -681,7 +576,7 @@ position on the screen. The cursor can only be positioned on the first one.
|
||||
|
||||
If you set the 'number' option, all lines will be preceded with their
|
||||
number. Tip: If you don't like wrapping lines to mix with the line numbers,
|
||||
set the 'showbreak' option to eight spaces:
|
||||
set the 'showbreak' option to eight spaces: >
|
||||
":set showbreak=\ \ \ \ \ \ \ \ "
|
||||
|
||||
If you set the 'list' option, <Tab> characters will not be shown as several
|
||||
@ -693,12 +588,12 @@ display of the buffer contents is updated as soon as you go back to Command
|
||||
mode.
|
||||
|
||||
The last line of the window is used for status and other messages. The
|
||||
status messages will only be used if an option is on:
|
||||
status messages will only be used if an option is on: >
|
||||
|
||||
status message option default Unix default ~
|
||||
current mode 'showmode' on on
|
||||
command characters 'showcmd' on off
|
||||
cursor position 'ruler' off off
|
||||
status message option default Unix default
|
||||
current mode 'showmode' on on
|
||||
command characters 'showcmd' on off
|
||||
cursor position 'ruler' off off
|
||||
|
||||
The current mode is "-- INSERT --" or "-- REPLACE --", see |'showmode'|. The
|
||||
command characters are those that you typed but were not used yet.
|
||||
@ -722,12 +617,11 @@ to be able to read most messages on the last line.
|
||||
==============================================================================
|
||||
Definitions *definitions* *jargon*
|
||||
|
||||
buffer Contains lines of text, usually from a file.
|
||||
screen The whole area that Nvim uses to display things.
|
||||
window A view on a buffer. There can be multiple windows for
|
||||
one buffer.
|
||||
frame Windows are kept in a tree of frames. Each frame
|
||||
contains a column, row, or window ("leaf" frame).
|
||||
- buffer: Contains lines of text, usually from a file.
|
||||
- screen: The whole area that Nvim uses to display things.
|
||||
- window: A view on a buffer. There can be multiple windows for one buffer.
|
||||
- frame: Windows are kept in a tree of frames. Each frame contains a column,
|
||||
row, or window ("leaf" frame).
|
||||
|
||||
A screen contains one or more windows, separated by status lines and with the
|
||||
command line at the bottom.
|
||||
@ -749,41 +643,42 @@ there is not enough room in the command line.
|
||||
|
||||
A difference is made between four types of lines:
|
||||
|
||||
buffer lines The lines in the buffer. This is the same as the
|
||||
- buffer lines: The lines in the buffer. This is the same as the
|
||||
lines as they are read from/written to a file. They
|
||||
can be thousands of characters long.
|
||||
logical lines The buffer lines with folding applied. Buffer lines
|
||||
- logical lines: The buffer lines with folding applied. Buffer lines
|
||||
in a closed fold are changed to a single logical line:
|
||||
"+-- 99 lines folded". They can be thousands of
|
||||
characters long.
|
||||
window lines The lines displayed in a window: A range of logical
|
||||
- window lines: The lines displayed in a window: A range of logical
|
||||
lines with wrapping, line breaks, etc. applied. They
|
||||
can only be as long as the width of the window allows,
|
||||
longer lines are wrapped or truncated.
|
||||
screen lines The lines of the screen that Nvim uses. Consists of
|
||||
- screen lines: The lines of the screen that Nvim uses. Consists of
|
||||
the window lines of all windows, with status lines
|
||||
and the command line added. They can only be as long
|
||||
as the width of the screen allows. When the command
|
||||
line gets longer it wraps and lines are scrolled to
|
||||
make room.
|
||||
|
||||
buffer lines logical lines window lines screen lines ~
|
||||
|
||||
1. one 1. one 1. +-- folded 1. +-- folded
|
||||
2. two 2. +-- folded 2. five 2. five
|
||||
3. three 3. five 3. six 3. six
|
||||
4. four 4. six 4. seven 4. seven
|
||||
5. five 5. seven 5. === status line ===
|
||||
6. six 6. aaa
|
||||
7. seven 7. bbb
|
||||
>
|
||||
buffer lines logical lines window lines screen lines
|
||||
-----------------------------------------------------------------------
|
||||
1. one 1. one 1. +-- folded 1. +-- folded
|
||||
2. two 2. +-- folded 2. five 2. five
|
||||
3. three 3. five 3. six 3. six
|
||||
4. four 4. six 4. seven 4. seven
|
||||
5. five 5. seven 5. === status line ===
|
||||
6. six 6. aaa
|
||||
7. seven 7. bbb
|
||||
8. ccc ccc c
|
||||
1. aaa 1. aaa 1. aaa 9. cc
|
||||
2. bbb 2. bbb 2. bbb 10. ddd
|
||||
3. ccc ccc ccc 3. ccc ccc ccc 3. ccc ccc c 11. ~
|
||||
4. ddd 4. ddd 4. cc 12. === status line ===
|
||||
1. aaa 1. aaa 1. aaa 9. cc
|
||||
2. bbb 2. bbb 2. bbb 10. ddd
|
||||
3. ccc ccc ccc 3. ccc ccc ccc 3. ccc ccc c 11. ~
|
||||
4. ddd 4. ddd 4. cc 12. === status line ===
|
||||
5. ddd 13. (command line)
|
||||
6. ~
|
||||
|
||||
<
|
||||
|
||||
API client ~
|
||||
All external UIs and remote plugins (as opposed to regular Vim plugins) are
|
||||
@ -791,8 +686,8 @@ All external UIs and remote plugins (as opposed to regular Vim plugins) are
|
||||
to abstract or wrap the RPC API for the convenience of other applications
|
||||
(just like a REST client or SDK such as boto3 for AWS: you can speak AWS REST
|
||||
using an HTTP client like curl, but boto3 wraps that in a convenient python
|
||||
interface). For example, the Nvim lua-client is an API client:
|
||||
https://github.com/neovim/lua-client
|
||||
interface). For example, the Nvim node-client is an API client:
|
||||
https://github.com/neovim/node-client
|
||||
|
||||
|
||||
Host ~
|
||||
@ -807,4 +702,4 @@ process and communicates with Nvim via the |api|.
|
||||
|
||||
|
||||
==============================================================================
|
||||
vim:tw=78:ts=8:noet:ft=help:norl:
|
||||
vim:tw=78:ts=8:et:sw=4:ft=help:norl:
|
||||
|
@ -48,7 +48,7 @@ local spell_dict = {
|
||||
--- specify the list of keywords to ignore (i.e. allow), or true to disable spell check completely.
|
||||
--- @type table<string, true|string[]>
|
||||
local spell_ignore_files = {
|
||||
['backers.txt'] = true,
|
||||
['credits.txt'] = { 'Neovim' },
|
||||
['news.txt'] = { 'tree-sitter' }, -- in news, may refer to the upstream "tree-sitter" library
|
||||
['news-0.10.txt'] = { 'tree-sitter' },
|
||||
}
|
||||
@ -71,6 +71,7 @@ local new_layout = {
|
||||
['editorconfig.txt'] = true,
|
||||
['faq.txt'] = true,
|
||||
['gui.txt'] = true,
|
||||
['intro.txt'] = true,
|
||||
['lua.txt'] = true,
|
||||
['luaref.txt'] = true,
|
||||
['news.txt'] = true,
|
||||
@ -85,6 +86,7 @@ local new_layout = {
|
||||
|
||||
-- Map of new:old pages, to redirect renamed pages.
|
||||
local redirects = {
|
||||
['credits'] = 'backers',
|
||||
['tui'] = 'term',
|
||||
['terminal'] = 'nvim_terminal_emulator',
|
||||
}
|
||||
@ -117,7 +119,7 @@ local exclude_invalid_urls = {
|
||||
-- Deprecated, brain-damaged files that I don't care about.
|
||||
local ignore_errors = {
|
||||
['pi_netrw.txt'] = true,
|
||||
['backers.txt'] = true,
|
||||
['credits.txt'] = true,
|
||||
}
|
||||
|
||||
local function tofile(fname, text)
|
||||
|
@ -1023,18 +1023,18 @@ describe('completion', function()
|
||||
|
||||
it("'ignorecase' 'infercase' CTRL-X CTRL-N #6451", function()
|
||||
feed_command('set ignorecase infercase')
|
||||
feed_command('edit runtime/doc/backers.txt')
|
||||
feed_command('edit runtime/doc/credits.txt')
|
||||
feed('oX<C-X><C-N>')
|
||||
screen:expect {
|
||||
grid = [[
|
||||
*backers.txt* Nvim |
|
||||
Xnull^ |
|
||||
{12:Xnull }{101: } |
|
||||
{4:Xoxomoon }{101: } |
|
||||
{4:Xu }{101: } NVIM REFERENCE MANUAL |
|
||||
{4:Xpayn }{12: } |
|
||||
{4:Xinity }{12: } |
|
||||
{5:-- Keyword Local completion (^N^P) }{6:match 1 of 7} |
|
||||
*credits.txt* Nvim |
|
||||
Xvi^ |
|
||||
{12:Xvi }{101: } |
|
||||
{4:Xvim }{101: } |
|
||||
{4:X11 }{12: } NVIM REFERENCE MANUAL |
|
||||
{4:Xnull }{12: } |
|
||||
{4:Xoxomoon }{12: } |
|
||||
{5:-- Keyword Local completion (^N^P) }{6:match 1 of 10} |
|
||||
]],
|
||||
}
|
||||
end)
|
||||
|
Loading…
Reference in New Issue
Block a user