aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc
diff options
context:
space:
mode:
authorJustin M. Keyes <justinkz@gmail.com>2024-12-05 07:18:27 -0800
committerGitHub <noreply@github.com>2024-12-05 07:18:27 -0800
commit12901447cb21c7d6628c7c7e60e1bda2e5c0b793 (patch)
tree4a4b65bd0c20fcdaecb1e349306de63fe4130be5 /runtime/doc
parent845e5634215a893bee44effc40093e0e315a012a (diff)
downloadrneovim-12901447cb21c7d6628c7c7e60e1bda2e5c0b793.tar.gz
rneovim-12901447cb21c7d6628c7c7e60e1bda2e5c0b793.tar.bz2
rneovim-12901447cb21c7d6628c7c7e60e1bda2e5c0b793.zip
docs: graduate intro.txt to "flow layout" #31462
- move credits and backers to credits.txt
Diffstat (limited to 'runtime/doc')
-rw-r--r--runtime/doc/credits.txt (renamed from runtime/doc/backers.txt)111
-rw-r--r--runtime/doc/intro.txt935
2 files changed, 524 insertions, 522 deletions
diff --git a/runtime/doc/backers.txt b/runtime/doc/credits.txt
index d0cbd94978..5fe79dfef8 100644
--- a/runtime/doc/backers.txt
+++ b/runtime/doc/credits.txt
@@ -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.
diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt
index 73de54010e..ac019a4f25 100644
--- a/runtime/doc/intro.txt
+++ b/runtime/doc/intro.txt
@@ -1,15 +1,15 @@
*intro.txt* Nvim
- NVIM REFERENCE MANUAL
+ NVIM REFERENCE MANUAL
-Nvim *ref* *reference*
+Nvim *ref* *reference*
Type |gO| to see the table of contents.
==============================================================================
-Introduction *intro*
+Introduction *intro*
Vim is a text editor which includes most commands from the Unix program "Vi"
and many new ones.
@@ -21,39 +21,44 @@ It can be accessed from within Vim with the <Help> or <F1> key and with the
is not located in the default place. You can jump to subjects like with tags:
Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
- *pronounce*
+ *pronounce*
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
+ *internet* *www* *distribution*
+- Nvim home page: https://neovim.io/
+- Vim FAQ: https://vimhelp.org/vim_faq.txt.html
-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
+ *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|).
==============================================================================
-Nvim on the interwebs *internet*
-
- *www* *distribution*
-- Nvim home page: https://neovim.io/
-- Vim FAQ: https://vimhelp.org/vim_faq.txt.html
+Installing Nvim *install*
- *download* *upgrade* *install* *ubuntu*
+ *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:
+ *uninstall*
+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
@@ -82,7 +81,7 @@ To un-install Nvim:
- Scoop (Windows): `scoop install neovim`
==============================================================================
-Sponsor Vim/Nvim development *sponsor* *register*
+Sponsor Vim/Nvim development *sponsor* *register*
Fixing bugs and adding new features takes a lot of time and effort. To show
your appreciation for the work and motivate developers to continue working on
@@ -94,121 +93,15 @@ motivation to keep working on Vim!
For the most recent information about sponsoring look on the Vim web site:
- https://www.vim.org/sponsor/
+ https://www.vim.org/sponsor/
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/
+ https://neovim.io/#sponsor
==============================================================================
-Bram Moolenaar *Bram* *Moolenaar* *Bram-Moolenaar* *brammool*
+Bram Moolenaar *Bram* *Moolenaar* *Bram-Moolenaar* *brammool*
Nvim is a fork of the Vim ("Vi IMproved") text editor, which was originally
developed by Bram Moolenaar. Searching his name within the source code of
@@ -217,11 +110,11 @@ 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*
+Notation *notation*
When syntax highlighting is used to read this, text that is not typed
literally is often highlighted with the Special group. These are items in [],
@@ -231,177 +124,177 @@ 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.
-
- *count* *[count]*
-[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,
- but only in the explanation. This was done to make the
- commands easier to look up. If the 'showcmd' option is on,
- the (partially) entered count is shown at the bottom of the
- window. You can use <Del> to erase the last digit (|N<Del>|).
-
- *[quotex]*
-["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
- uppercase and lowercase letter designate the same register,
- but the lowercase letter is used to overwrite the previous
- register contents, while the uppercase letter is used to
- append to the previous register contents. Without the ""x" or
- with """" the stored text is put into the unnamed register.
-
- *{}*
-{} 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
- 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.
- - 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
- supported in every terminal though.
- - The ":omap" command can be used to map characters while an
- 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.
-
- *{Visual}*
-{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
- text that is to be operated upon.
- See |Visual-mode|.
-
- *<character>*
-<character> A special character from the table below, optionally with
- modifiers, or a single ASCII character with modifiers.
-
- *'character'*
-'c' A single ASCII character.
-
- *CTRL-{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
- produce a distinct code (e.g. CTRL-SHIFT-a); in these
- environments using the SHIFT key will not trigger commands
- such as CTRL-A.
-
- *'option'*
-'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
- double quotes.
-`command` New style command, this distinguishes it from other quoted
- text and strings.
-
- *key-notation* *key-codes* *keycodes*
+- [] Characters in square brackets are optional.
+
+ *count* *[count]*
+- [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,
+ but only in the explanation. This was done to make the
+ commands easier to look up. If the 'showcmd' option is on,
+ the (partially) entered count is shown at the bottom of the
+ window. You can use <Del> to erase the last digit (|N<Del>|).
+
+ *[quotex]*
+- ["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
+ uppercase and lowercase letter designate the same register,
+ but the lowercase letter is used to overwrite the previous
+ register contents, while the uppercase letter is used to
+ append to the previous register contents. Without the ""x" or
+ with """" the stored text is put into the unnamed register.
+
+ *{}*
+- {} 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
+ 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.
+ - 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
+ supported in every terminal though.
+ - The ":omap" command can be used to map characters while an
+ 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.
+
+ *{Visual}*
+- {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
+ text that is to be operated upon.
+ See |Visual-mode|.
+
+ *<character>*
+- <character> A special character from the table below, optionally with
+ modifiers, or a single ASCII character with modifiers.
+
+ *'character'*
+- 'c' A single ASCII character.
+
+ *CTRL-{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
+ produce a distinct code (e.g. CTRL-SHIFT-a); in these
+ environments using the SHIFT key will not trigger commands
+ such as CTRL-A.
+
+ *'option'*
+- '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
+ double quotes.
+- `command` New style command, this distinguishes it from other quoted
+ text and strings.
+
+ *key-notation* *key-codes* *keycodes*
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*
- *linefeed*
-<NL> linefeed CTRL-J 10 (used for <Nul>)
-<CR> carriage return CTRL-M 13 *carriage-return*
-<Return> same as <CR> *<Return>*
-<Enter> same as <CR> *<Enter>*
-<Esc> escape CTRL-[ 27 *escape* *<Esc>*
-<Space> space 32 *space*
-<lt> less-than < 60 *<lt>*
-<Bslash> backslash \ 92 *backslash* *<Bslash>*
-<Bar> vertical bar | 124 *<Bar>*
-<Del> delete 127
-<CSI> command sequence intro ALT-Esc 155 *<CSI>*
-
-<EOL> end-of-line (can be <CR>, <NL> or <CR><NL>,
- depends on system and 'fileformat') *<EOL>*
-<Ignore> cancel wait-for-character *<Ignore>*
-<NOP> no-op: do nothing (useful in mappings) *<Nop>*
-
-<Up> cursor-up *cursor-up* *cursor_up*
-<Down> cursor-down *cursor-down* *cursor_down*
-<Left> cursor-left *cursor-left* *cursor_left*
-<Right> cursor-right *cursor-right* *cursor_right*
-<S-Up> shift-cursor-up
-<S-Down> shift-cursor-down
-<S-Left> shift-cursor-left
-<S-Right> shift-cursor-right
-<C-Left> control-cursor-left
-<C-Right> control-cursor-right
-<F1> - <F12> function keys 1 to 12 *function_key* *function-key*
-<S-F1> - <S-F12> shift-function keys 1 to 12 *<S-F1>*
-<Help> help key
-<Undo> undo key
-<Insert> insert key
-<Home> home *home*
-<End> end *end*
-<PageUp> page-up *page_up* *page-up*
-<PageDown> page-down *page_down* *page-down*
-<kUp> keypad cursor-up *keypad-cursor-up*
-<kDown> keypad cursor-down *keypad-cursor-down*
-<kLeft> keypad cursor-left *keypad-cursor-left*
-<kRight> keypad cursor-right *keypad-cursor-right*
-<kHome> keypad home (upper left) *keypad-home*
-<kEnd> keypad end (lower left) *keypad-end*
-<kOrigin> keypad origin (middle) *keypad-origin*
-<kPageUp> keypad page-up (upper right) *keypad-page-up*
-<kPageDown> keypad page-down (lower right) *keypad-page-down*
-<kDel> keypad delete *keypad-delete*
-<kPlus> keypad + *keypad-plus*
-<kMinus> keypad - *keypad-minus*
-<kMultiply> keypad * *keypad-multiply*
-<kDivide> keypad / *keypad-divide*
-<kPoint> keypad . *keypad-point*
-<kComma> keypad , *keypad-comma*
-<kEqual> keypad = *keypad-equal*
-<kEnter> keypad Enter *keypad-enter*
-<k0> - <k9> keypad 0 to 9 *keypad-0* *keypad-9*
-<S-…> shift-key *shift* *<S-*
-<C-…> control-key *control* *ctrl* *<C-*
-<M-…> alt-key or meta-key *META* *ALT* *<M-*
-<A-…> same as <M-…> *<A-*
-<T-…> meta-key when it's not alt *<T-*
-<D-…> command-key or "super" key *<D-*
------------------------------------------------------------------------ ~
+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*
+ *linefeed*
+<NL> linefeed CTRL-J 10 (used for <Nul>)
+<CR> carriage return CTRL-M 13 *carriage-return*
+<Return> same as <CR> *<Return>*
+<Enter> same as <CR> *<Enter>*
+<Esc> escape CTRL-[ 27 *escape* *<Esc>*
+<Space> space 32 *space*
+<lt> less-than < 60 *<lt>*
+<Bslash> backslash \ 92 *backslash* *<Bslash>*
+<Bar> vertical bar | 124 *<Bar>*
+<Del> delete 127
+<CSI> command sequence intro ALT-Esc 155 *<CSI>*
+
+<EOL> end-of-line (can be <CR>, <NL> or <CR><NL>,
+ depends on system and 'fileformat') *<EOL>*
+<Ignore> cancel wait-for-character *<Ignore>*
+<NOP> no-op: do nothing (useful in mappings) *<Nop>*
+
+<Up> cursor-up *cursor-up* *cursor_up*
+<Down> cursor-down *cursor-down* *cursor_down*
+<Left> cursor-left *cursor-left* *cursor_left*
+<Right> cursor-right *cursor-right* *cursor_right*
+<S-Up> shift-cursor-up
+<S-Down> shift-cursor-down
+<S-Left> shift-cursor-left
+<S-Right> shift-cursor-right
+<C-Left> control-cursor-left
+<C-Right> control-cursor-right
+<F1> - <F12> function keys 1 to 12 *function_key* *function-key*
+<S-F1> - <S-F12> shift-function keys 1 to 12 *<S-F1>*
+<Help> help key
+<Undo> undo key
+<Insert> insert key
+<Home> home *home*
+<End> end *end*
+<PageUp> page-up *page_up* *page-up*
+<PageDown> page-down *page_down* *page-down*
+<kUp> keypad cursor-up *keypad-cursor-up*
+<kDown> keypad cursor-down *keypad-cursor-down*
+<kLeft> keypad cursor-left *keypad-cursor-left*
+<kRight> keypad cursor-right *keypad-cursor-right*
+<kHome> keypad home (upper left) *keypad-home*
+<kEnd> keypad end (lower left) *keypad-end*
+<kOrigin> keypad origin (middle) *keypad-origin*
+<kPageUp> keypad page-up (upper right) *keypad-page-up*
+<kPageDown> keypad page-down (lower right) *keypad-page-down*
+<kDel> keypad delete *keypad-delete*
+<kPlus> keypad + *keypad-plus*
+<kMinus> keypad - *keypad-minus*
+<kMultiply> keypad * *keypad-multiply*
+<kDivide> keypad / *keypad-divide*
+<kPoint> keypad . *keypad-point*
+<kComma> keypad , *keypad-comma*
+<kEqual> keypad = *keypad-equal*
+<kEnter> keypad Enter *keypad-enter*
+<k0> - <k9> keypad 0 to 9 *keypad-0* *keypad-9*
+<S-…> shift-key *shift* *<S-*
+<C-…> control-key *control* *ctrl* *<C-*
+<M-…> alt-key or meta-key *META* *ALT* *<M-*
+<A-…> same as <M-…> *<A-*
+<T-…> meta-key when it's not alt *<T-*
+<D-…> command-key or "super" key *<D-*
+
Note:
@@ -416,125 +309,125 @@ Note:
- It is possible to notate combined modifiers (e.g. <M-C-T> for CTRL-ALT-T),
but your terminal must encode the input for that to work. |tui-input|
- *<>*
+ *<>*
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
- 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)
+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)
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.
Examples for mapping CTRL-H to the six characters "<Home>": >vim
- :imap <C-H> \<Home>
- :imap <C-H> <lt>Home>
+ :imap <C-H> \<Home>
+ :imap <C-H> <lt>Home>
The first one only works when the 'B' flag is not in 'cpoptions'. The second
one always works.
To get a literal "<lt>" in a mapping: >vim
- :map <C-L> <lt>lt>
+ :map <C-L> <lt>lt>
The notation can be used in a double quoted strings, using "\<" at the start,
e.g. "\<C-Space>". This results in a special key code. To convert this back
to readable text use `keytrans()`.
==============================================================================
-Modes, introduction *vim-modes-intro* *vim-modes*
+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
- 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
- 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 "--