Merge remote-tracking branch 'vim/master'

This commit is contained in:
Yee Cheng Chin
2019-05-22 23:46:20 -07:00
272 changed files with 10728 additions and 8767 deletions
+16 -12
View File
@@ -6,16 +6,15 @@ src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/objects/.dirstamp
src/objects
src/tags
# We do need src/auto/configure.
src/auto/config.aap
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/configure.aap
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
@@ -26,6 +25,7 @@ src/auto/pathdef.c
*.idb
*.manifest
*.exp
*.map
*.obj
*.pdb
*.ilk
@@ -35,22 +35,13 @@ src/auto/pathdef.c
*.RES
vim*.dll
vim*.lib
src/if_perl.c
src/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt
# Borland C++
bcc.cfg
*.ilc
*.ild
*.ilf
*.ils
*.map
*.tds
nsis/icons/*
# NetBeans
nbproject/*
@@ -139,3 +130,16 @@ src/tags
src/xxd/xxd
src/xxd/xxd.dSYM
src/a.out.dSYM
# Generated by "make install"
runtime/doc/tags
# Generated by "make shadow". The directory names could be anything but we
# restrict them to shadow (the default) or shadow-*
src/shadow
src/shadow-*
src/runtime
src/pixmaps
# other possible files build by tools
src/cscope.out
+96
View File
@@ -0,0 +1,96 @@
syntax: glob
# Unixen: object and executable files.
*.o
src/vim
src/xxd/xxd
src/auto/if_perl.c
src/auto/gui_gtk_gresources.c
src/auto/gui_gtk_gresources.h
src/objects/.dirstamp
src/objects
src/tags
# We do need src/auto/configure.
src/auto/config.cache
src/auto/config.h
src/auto/config.log
src/auto/config.mk
src/auto/config.status
src/auto/osdef.h
src/auto/link.log
src/auto/link.sed
src/auto/pathdef.c
# Windows
*.exe
*.idb
*.manifest
*.exp
*.map
*.obj
*.pdb
*.ilk
*.sln
*.suo
*.res
*.RES
vim*.dll
vim*.lib
src/pathdef.c
src/Obj*/pathdef.c
gvimext.dll
gvimext.lib
gvim.lib
runtime/doc/uganda.nsis.txt
nsis/icons/*
# NetBeans
nbproject/*
# Mac OSX
src/xxd/xxd.dSYM
# All platforms
*.rej
*.orig
*.mo
*.swp
*~
*.pyc
*.log
src/po/vim.pot
# Generated by "make test"
src/po/*.ck
src/po/*.desktop
src/testdir/mbyte.vim
src/testdir/mzscheme.vim
src/testdir/lua.vim
src/testdir/small.vim
src/testdir/tiny.vim
src/testdir/test*.out
src/testdir/test*.failed
src/testdir/test.log
src/testdir/dostmp/*
src/testdir/messages
src/testdir/viminfo
src/testdir/opt_test.vim
runtime/indent/testdir/*.out
src/memfile_test
src/json_test
src/message_test
src/kword_test
# Generated by "make install"
runtime/doc/tags
# Generated by "make shadow". The directory names could be anything but we
# restrict them to shadow (the default) or shadow-*
src/shadow
src/shadow-*
src/runtime
src/pixmaps
# other possible files build by tools
src/cscope.out
+3 -4
View File
@@ -3,6 +3,7 @@
# source files for all source archives
SRC_ALL = \
.gitignore \
.hgignore \
.lgtm.yml \
.travis.yml \
@@ -19,6 +20,7 @@ SRC_ALL = \
src/blob.c \
src/blowfish.c \
src/buffer.c \
src/change.c \
src/channel.c \
src/charset.c \
src/crypt.c \
@@ -154,6 +156,7 @@ SRC_ALL = \
src/proto/blob.pro \
src/proto/blowfish.pro \
src/proto/buffer.pro \
src/proto/change.pro \
src/proto/channel.pro \
src/proto/charset.pro \
src/proto/crypt.pro \
@@ -420,11 +423,8 @@ SRC_DOS = \
src/GvimExt/uninst.bat \
README_srcdos.txt \
src/INSTALLpc.txt \
src/Make_bc5.mak \
src/Make_cyg.mak \
src/Make_cyg_ming.mak \
src/Make_ivc.mak \
src/Make_dvc.mak \
src/Make_ming.mak \
src/Make_mvc.mak \
tools/rename.bat \
@@ -475,7 +475,6 @@ SRC_DOS = \
src/xpm_w32.c \
src/xpm_w32.h \
src/tee/Make_mvc.mak \
src/xxd/Make_bc5.mak \
src/xxd/Make_ming.mak \
src/xxd/Make_mvc.mak \
nsis/gvim.nsi \
Vendored
+1 -1
View File
@@ -3,4 +3,4 @@
# This is just a stub for the Unix configure script, to provide support for
# doing "./configure" in the top Vim directory.
cd src && exec ./configure "$@"
cd "${SRCDIR:-src}" && exec ./configure "$@"
+10
View File
@@ -173,6 +173,16 @@ Page custom SetCustom ValidateCustom
!include "lang\tradchinese.nsi"
!endif
##########################################################
# Version resources
VIAddVersionKey /LANG=${LANG_ENGLISH} "ProductName" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "CompanyName" "Vim Developers"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalTrademarks" "Vim"
VIAddVersionKey /LANG=${LANG_ENGLISH} "LegalCopyright" "Copyright (C) 1996"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileDescription" "Vi Improved - A Text Editor"
VIAddVersionKey /LANG=${LANG_ENGLISH} "FileVersion" "${VER_MAJOR}.${VER_MINOR}.0.0"
VIProductVersion "${VER_MAJOR}.${VER_MINOR}.0.0"
# Global variables
Var vim_dialog
+2
View File
@@ -84,6 +84,7 @@ DOCS = \
pi_tar.txt \
pi_vimball.txt \
pi_zip.txt \
popup.txt \
print.txt \
quickfix.txt \
quickref.txt \
@@ -221,6 +222,7 @@ HTMLS = \
pi_tar.html \
pi_vimball.html \
pi_zip.html \
popup.html \
print.html \
quickfix.html \
quickref.html \
+1 -2
View File
@@ -1,4 +1,4 @@
*arabic.txt* For Vim version 8.1. Last change: 2010 Nov 13
*arabic.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Nadim Shaikli
@@ -6,7 +6,6 @@
Arabic Language support (options & mappings) for Vim *Arabic*
{Vi does not have any of these commands}
*E800*
In order to use right-to-left and Arabic mapping support, it is
+1 -2
View File
@@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 8.1. Last change: 2019 Apr 27
*autocmd.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -20,7 +20,6 @@ For a basic explanation, see section |40.3| in the user manual.
10. Using autocommands |autocmd-use|
11. Disabling autocommands |autocmd-disable|
{Vi does not have any of these commands}
==============================================================================
1. Introduction *autocmd-intro*
+62 -90
View File
@@ -1,4 +1,4 @@
*change.txt* For Vim version 8.1. Last change: 2019 Feb 05
*change.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,7 +34,7 @@ For inserting text see |insert.txt|.
deletes the last character of the count.
See |:fixdel| if the <Del> key does not do what you
want. See |'whichwrap'| for deleting a line break
(join lines). {Vi does not support <Del>}
(join lines).
*X* *dh*
["x]X Delete [count] characters before the cursor [into
@@ -59,7 +59,7 @@ For inserting text see |insert.txt|.
{Visual}["x]x or *v_x* *v_d* *v_<Del>*
{Visual}["x]d or
{Visual}["x]<Del> Delete the highlighted text [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
{Visual} see |Visual-mode|).
{Visual}["x]CTRL-H or *v_CTRL-H* *v_<BS>*
{Visual}["x]<BS> When in Select mode: Delete the highlighted text [into
@@ -69,7 +69,7 @@ For inserting text see |insert.txt|.
{Visual}["x]D Delete the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). In Visual block mode,
"D" deletes the highlighted text plus all text until
the end of the line. {not in Vi}
the end of the line.
*:d* *:de* *:del* *:delete* *:dl* *:dp*
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
@@ -116,16 +116,15 @@ J Join [count] lines, with a minimum of two lines.
*v_J*
{Visual}J Join the highlighted lines, with a minimum of two
lines. Remove the indent and insert up to two spaces
(see below). {not in Vi}
(see below).
*gJ*
gJ Join [count] lines, with a minimum of two lines.
Don't insert or remove any spaces. {not in Vi}
Don't insert or remove any spaces.
*v_gJ*
{Visual}gJ Join the highlighted lines, with a minimum of two
lines. Don't insert or remove any spaces. {not in
Vi}
lines. Don't insert or remove any spaces.
*:j* *:join*
:[range]j[oin][!] [flags]
@@ -134,7 +133,6 @@ gJ Join [count] lines, with a minimum of two lines.
If a [range] has equal start and end values, this
command does nothing. The default behavior is to
join the current line with the line below it.
{not in Vi: !}
See |ex-flags| for [flags].
:[range]j[oin][!] {count} [flags]
@@ -142,7 +140,6 @@ gJ Join [count] lines, with a minimum of two lines.
current line |cmdline-ranges|). Same as "J", except
with [!] the join does not insert or delete any
spaces.
{not in Vi: !}
See |ex-flags| for [flags].
These commands delete the <EOL> between lines. This has the effect of joining
@@ -209,8 +206,7 @@ gR Enter Virtual Replace mode: Each character you type
{Visual}["x]c or *v_c* *v_s*
{Visual}["x]s Delete the highlighted text [into register x] and
start insert (for {Visual} see |Visual-mode|). {not
in Vi}
start insert (for {Visual} see |Visual-mode|).
*v_r*
{Visual}["x]r{char} Replace all selected characters by {char}.
@@ -218,14 +214,13 @@ gR Enter Virtual Replace mode: Each character you type
*v_C*
{Visual}["x]C Delete the highlighted lines [into register x] and
start insert. In Visual block mode it works
differently |v_b_C|. {not in Vi}
differently |v_b_C|.
*v_S*
{Visual}["x]S Delete the highlighted lines [into register x] and
start insert (for {Visual} see |Visual-mode|). {not
in Vi}
start insert (for {Visual} see |Visual-mode|).
*v_R*
{Visual}["x]R Currently just like {Visual}["x]S. In a next version
it might work differently. {not in Vi}
it might work differently.
Notes:
- You can end Insert and Replace mode with <Esc>.
@@ -273,8 +268,6 @@ r{char} Replace the character under the cursor with {char}.
If {char} is a <CR> or <NL>, a line break replaces the
character. To replace with a real <CR>, use CTRL-V
<CR>. CTRL-V <NL> replaces with a <Nul>.
{Vi: CTRL-V <CR> still replaces with a line break,
cannot replace something with a <CR>}
If {char} is CTRL-E or CTRL-Y the character from the
line below or above is used, just like with |i_CTRL-E|
@@ -315,28 +308,26 @@ The following commands change the case of letters. The currently active
*~*
~ 'notildeop' option: Switch case of the character
under the cursor and move the cursor to the right.
If a [count] is given, do that many characters. {Vi:
no count}
If a [count] is given, do that many characters.
~{motion} 'tildeop' option: switch case of {motion} text. {Vi:
tilde cannot be used as an operator}
~{motion} 'tildeop' option: switch case of {motion} text.
*g~*
g~{motion} Switch case of {motion} text. {not in Vi}
g~{motion} Switch case of {motion} text.
g~g~ *g~g~* *g~~*
g~~ Switch case of current line. {not in Vi}.
g~~ Switch case of current line.
*v_~*
{Visual}~ Switch case of highlighted text (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
*v_U*
{Visual}U Make highlighted text uppercase (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
*gU* *uppercase*
gU{motion} Make {motion} text uppercase. {not in Vi}
gU{motion} Make {motion} text uppercase.
Example: >
:map! <C-F> <Esc>gUiw`]a
< This works in Insert mode: press CTRL-F to make the
@@ -345,27 +336,27 @@ gU{motion} Make {motion} text uppercase. {not in Vi}
gUgU *gUgU* *gUU*
gUU Make current line uppercase. {not in Vi}.
gUU Make current line uppercase.
*v_u*
{Visual}u Make highlighted text lowercase (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
*gu* *lowercase*
gu{motion} Make {motion} text lowercase. {not in Vi}
gu{motion} Make {motion} text lowercase.
gugu *gugu* *guu*
guu Make current line lowercase. {not in Vi}.
guu Make current line lowercase.
*g?* *rot13*
g?{motion} Rot13 encode {motion} text. {not in Vi}
g?{motion} Rot13 encode {motion} text.
*v_g?*
{Visual}g? Rot13 encode the highlighted text (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
g?g? *g?g?* *g??*
g?? Rot13 encode current line. {not in Vi}.
g?? Rot13 encode current line.
To turn one line into title caps, make every first letter of a word
uppercase: >
@@ -375,18 +366,18 @@ uppercase: >
Adding and subtracting ~
*CTRL-A*
CTRL-A Add [count] to the number or alphabetic character at
or after the cursor. {not in Vi}
or after the cursor.
*v_CTRL-A*
{Visual}CTRL-A Add [count] to the number or alphabetic character in
the highlighted text. {not in Vi}
the highlighted text.
*v_g_CTRL-A*
{Visual}g CTRL-A Add [count] to the number or alphabetic character in
the highlighted text. If several lines are
highlighted, each one will be incremented by an
additional [count] (so effectively creating a
[count] incrementing sequence). {not in Vi}
[count] incrementing sequence).
For Example, if you have this list of numbers:
1. ~
1. ~
@@ -401,11 +392,11 @@ CTRL-A Add [count] to the number or alphabetic character at
*CTRL-X*
CTRL-X Subtract [count] from the number or alphabetic
character at or after the cursor. {not in Vi}
character at or after the cursor.
*v_CTRL-X*
{Visual}CTRL-X Subtract [count] from the number or alphabetic
character in the highlighted text. {not in Vi}
character in the highlighted text.
On MS-Windows, this is mapped to cut Visual text
|dos-standard-mappings|. If you want to disable the
@@ -417,7 +408,7 @@ CTRL-X Subtract [count] from the number or alphabetic
character in the highlighted text. If several lines
are highlighted, each value will be decremented by an
additional [count] (so effectively creating a [count]
decrementing sequence). {not in Vi}
decrementing sequence).
The CTRL-A and CTRL-X commands can work for:
- signed and unsigned decimal numbers
@@ -485,8 +476,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
*v_<*
{Visual}[count]< Shift the highlighted lines [count] 'shiftwidth'
leftwards (for {Visual} see |Visual-mode|). {not in
Vi}
leftwards (for {Visual} see |Visual-mode|).
*>*
>{motion} Shift {motion} lines one 'shiftwidth' rightwards.
@@ -500,8 +490,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
*v_>*
{Visual}[count]> Shift the highlighted lines [count] 'shiftwidth'
rightwards (for {Visual} see |Visual-mode|). {not in
Vi}
rightwards (for {Visual} see |Visual-mode|).
*:<*
:[range]< Shift [range] lines one 'shiftwidth' left. Repeat '<'
@@ -512,7 +501,7 @@ SHIFTING LINES LEFT OR RIGHT *shift-left-right*
Repeat '<' for shifting multiple 'shiftwidth's.
:[range]le[ft] [indent] left align lines in [range]. Sets the indent in the
lines to [indent] (default 0). {not in Vi}
lines to [indent] (default 0).
*:>*
:[range]> [flags] Shift {count} [range] lines one 'shiftwidth' right.
@@ -579,7 +568,6 @@ comment (starting with '"') after the `:!` command.
*v_!*
{Visual}!{filter} Filter the highlighted lines through the external
program {filter} (for {Visual} see |Visual-mode|).
{not in Vi}
:{range}![!]{filter} [!][arg] *:range!*
Filter {range} lines through the external program
@@ -613,7 +601,6 @@ comment (starting with '"') after the `:!` command.
*v_=*
{Visual}= Filter the highlighted lines like with ={motion}.
{not in Vi}
*tempfile* *setuid*
@@ -678,15 +665,13 @@ g& Synonym for `:%s//~/&` (repeat last substitute with
For example, when you first do a substitution with
`:s/pattern/repl/flags` and then `/search` for
something else, `g&` will do `:%s/search/repl/flags`.
Mnemonic: global substitute. {not in Vi}
Mnemonic: global substitute.
*:snomagic* *:sno*
:[range]sno[magic] ... Same as `:substitute`, but always use 'nomagic'.
{not in Vi}
*:smagic* *:sm*
:[range]sm[agic] ... Same as `:substitute`, but always use 'magic'.
{not in Vi}
*:s_flags*
The flags that you can use for the substitute commands:
@@ -697,7 +682,6 @@ The flags that you can use for the substitute commands:
:&&
:s/this/that/&
< Note that `:s` and `:&` don't keep the flags.
{not in Vi}
[c] Confirm each substitution. Vim highlights the matching string (with
|hl-IncSearch|). You can type: *:s_c*
@@ -705,16 +689,15 @@ The flags that you can use for the substitute commands:
'l' to substitute this match and then quit ("last")
'n' to skip this match
<Esc> to quit substituting
'a' to substitute this and all remaining matches {not in Vi}
'q' to quit substituting {not in Vi}
CTRL-E to scroll the screen up {not in Vi, not available when
compiled without the |+insert_expand| feature}
CTRL-Y to scroll the screen down {not in Vi, not available when
compiled without the |+insert_expand| feature}
'a' to substitute this and all remaining matches
'q' to quit substituting
CTRL-E to scroll the screen up {not available when compiled
without the |+insert_expand| feature}
CTRL-Y to scroll the screen down {not available when compiled
without the |+insert_expand| feature}
If the 'edcompatible' option is on, Vim remembers the [c] flag and
toggles it each time you use it, but resets it when you give a new
search pattern.
{not in Vi: highlighting of the match, other responses than 'y' or 'n'}
*:s_e*
[e] When the search pattern fails, do not issue an error message and, in
@@ -726,7 +709,6 @@ The flags that you can use for the substitute commands:
No previous substitute regular expression
Trailing characters
Interrupted
{not in Vi}
*:s_g*
[g] Replace all occurrences in the line. Without this argument,
@@ -739,12 +721,10 @@ The flags that you can use for the substitute commands:
*:s_i*
[i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options
are not used.
{not in Vi}
*:s_I*
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
options are not used.
{not in Vi}
*:s_n*
[n] Report the number of matches, do not actually substitute. The [c]
@@ -776,7 +756,6 @@ The flags that you can use for the substitute commands:
/green
:&
< The last command will replace "blue" with "red".
{not in Vi}
Note that there is no flag to change the "magicness" of the pattern. A
different command is used instead, or you can use |/\v| and friends. The
@@ -1002,7 +981,6 @@ This replaces each 'E' character with a euro sign. Read more in |<Char->|.
a single tabstop. Each value in the list represents
the width of one tabstop, except the final value which
applies to all following tabstops.
{not in Vi}
*retab-example*
Example for using autocommands and ":retab" to edit a file which is stored
@@ -1026,17 +1004,16 @@ inside of strings can change! Also see 'softtabstop' option. >
:reg[isters] Display the contents of all numbered and named
registers. If a register is written to for |:redir|
it will not be listed.
{not in Vi}
:reg[isters] {arg} Display the contents of the numbered and named
registers that are mentioned in {arg}. For example: >
:reg 1a
< to display registers '1' and 'a'. Spaces are allowed
in {arg}. {not in Vi}
in {arg}.
*:di* *:display*
:di[splay] [arg] Same as :registers. {not in Vi}
:di[splay] [arg] Same as :registers.
*y* *yank*
["x]y{motion} Yank {motion} text [into register x]. When no
@@ -1055,11 +1032,11 @@ inside of strings can change! Also see 'softtabstop' option. >
*v_y*
{Visual}["x]y Yank the highlighted text [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
{Visual} see |Visual-mode|).
*v_Y*
{Visual}["x]Y Yank the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). {not in Vi}
{Visual} see |Visual-mode|).
*:y* *:yank* *E850*
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
@@ -1073,11 +1050,11 @@ inside of strings can change! Also see 'softtabstop' option. >
*p* *put* *E353*
["x]p Put the text [from register x] after the cursor
[count] times. {Vi: no count}
[count] times.
*P*
["x]P Put the text [from register x] before the cursor
[count] times. {Vi: no count}
[count] times.
*<MiddleMouse>*
["x]<MiddleMouse> Put the text from a register before the cursor [count]
@@ -1086,7 +1063,6 @@ inside of strings can change! Also see 'softtabstop' option. >
Leaves the cursor at the end of the new text.
Using the mouse only works when 'mouse' contains 'n'
or 'a'.
{not in Vi}
If you have a scrollwheel and often accidentally paste
text, you can use these mappings to disable the
pasting with the middle mouse button: >
@@ -1097,11 +1073,11 @@ inside of strings can change! Also see 'softtabstop' option. >
*gp*
["x]gp Just like "p", but leave the cursor just after the new
text. {not in Vi}
text.
*gP*
["x]gP Just like "P", but leave the cursor just after the new
text. {not in Vi}
text.
*:pu* *:put*
:[line]pu[t] [x] Put the text [from register x] after [line] (default
@@ -1129,14 +1105,14 @@ inside of strings can change! Also see 'softtabstop' option. >
["x]]p or *]p* *]<MiddleMouse>*
["x]]<MiddleMouse> Like "p", but adjust the indent to the current line.
Using the mouse only works when 'mouse' contains 'n'
or 'a'. {not in Vi}
or 'a'.
["x][P or *[P*
["x]]P or *]P*
["x][p or *[p* *[<MiddleMouse>*
["x][<MiddleMouse> Like "P", but adjust the indent to the current line.
Using the mouse only works when 'mouse' contains 'n'
or 'a'. {not in Vi}
or 'a'.
You can use these commands to copy text from one place to another. Do this
by first getting the text into a register with a yank, delete or change
@@ -1246,7 +1222,6 @@ not exist}
3. Small delete register "- *quote_-* *quote-*
This register contains text from commands that delete less than one line,
except when the command specifies a register with ["x].
{not in Vi}
4. Named registers "a to "z or "A to "Z *quote_alpha* *quotea*
Vim fills these registers only when you say so. Specify them as lowercase
@@ -1256,7 +1231,7 @@ a line break is inserted before the appended text.
5. Read-only registers ":, ". and "%
These are '%', '#', ':' and '.'. You can use them only with the "p", "P",
and ":put" commands and with CTRL-R. {not in Vi}
and ":put" commands and with CTRL-R.
*quote_.* *quote.* *E29*
". Contains the last inserted text (the same as what is inserted
with the insert mode commands CTRL-A and CTRL-@). Note: this
@@ -1310,13 +1285,13 @@ an error message (use string() to convert).
If the "= register is used for the "p" command, the String is split up at <NL>
characters. If the String ends in a <NL>, it is regarded as a linewise
register. {not in Vi}
register.
8. Selection and drop registers "*, "+ and "~
Use these registers for storing and retrieving the selected text for the GUI.
See |quotestar| and |quoteplus|. When the clipboard is not available or not
working, the unnamed register is used instead. For Unix systems the clipboard
is only available when the |+xterm_clipboard| feature is present. {not in Vi}
is only available when the |+xterm_clipboard| feature is present.
Note that there is only a distinction between "* and "+ for X11 systems. For
an explanation of the difference, see |x11-selection|. Under MS-Windows, use
@@ -1327,7 +1302,7 @@ The read-only "~ register stores the dropped text from the last drag'n'drop
operation. When something has been dropped onto Vim, the "~ register is
filled in and the <Drop> pseudo key is sent for notification. You can remap
this key if you want; the default action (for all modes) is to insert the
contents of the "~ register at the cursor position. {not in Vi}
contents of the "~ register at the cursor position.
{only available when compiled with the |+dnd| feature, currently only with the
GTK GUI}
@@ -1337,7 +1312,7 @@ Drag'n'drop of URI lists is handled internally.
9. Black hole register "_ *quote_*
When writing to this register, nothing happens. This can be used to delete
text without affecting the normal registers. When reading from this register,
nothing is returned. {not in Vi}
nothing is returned.
10. Last search pattern register "/ *quote_/* *quote/*
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
@@ -1346,7 +1321,6 @@ other matches without actually searching. You can't yank or delete into this
register. The search direction is available in |v:searchforward|.
Note that the value is restored when returning from a function
|function-search-undo|.
{not in Vi}
*@/*
You can write to a register with a `:let` command |:let-@|. Example: >
@@ -1377,17 +1351,15 @@ The next three commands always work on whole lines.
:[range]ce[nter] [width] *:ce* *:center*
Center lines in [range] between [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
{not in Vi}
:[range]ri[ght] [width] *:ri* *:right*
Right-align lines in [range] at [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
{not in Vi}
*:le* *:left*
:[range]le[ft] [indent]
Left-align lines in [range]. Sets the indent in the
lines to [indent] (default 0). {not in Vi}
lines to [indent] (default 0).
*gq*
gq{motion} Format the lines that {motion} moves over.
@@ -1414,24 +1386,24 @@ gq{motion} Format the lines that {motion} moves over.
gqgq *gqgq* *gqq*
gqq Format the current line. With a count format that
many lines. {not in Vi}
many lines.
*v_gq*
{Visual}gq Format the highlighted text. (for {Visual} see
|Visual-mode|). {not in Vi}
|Visual-mode|).
*gw*
gw{motion} Format the lines that {motion} moves over. Similar to
|gq| but puts the cursor back at the same position in
the text. However, 'formatprg' and 'formatexpr' are
not used. {not in Vi}
not used.
gwgw *gwgw* *gww*
gww Format the current line as with "gw". {not in Vi}
gww Format the current line as with "gw".
*v_gw*
{Visual}gw Format the highlighted text as with "gw". (for
{Visual} see |Visual-mode|). {not in Vi}
{Visual} see |Visual-mode|).
Example: To format the current paragraph use: *gqap* >
gqap
+1 -2
View File
@@ -1,4 +1,4 @@
*channel.txt* For Vim version 8.1. Last change: 2019 Mar 21
*channel.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -24,7 +24,6 @@ The Netbeans interface also uses a channel. |netbeans|
11. Controlling a job |job-control|
12. Using a prompt buffer |prompt-buffer|
{Vi does not have any of these features}
{only when compiled with the |+channel| feature for channel stuff}
You can check this with: `has('channel')`
{only when compiled with the |+job| feature for job stuff}
+5 -12
View File
@@ -1,4 +1,4 @@
*cmdline.txt* For Vim version 8.1. Last change: 2018 May 14
*cmdline.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -27,7 +27,6 @@ Basic command line editing is explained in chapter 20 of the user manual
Normally characters are inserted in front of the cursor position. You can
move around in the command-line with the left and right cursor keys. With the
<Insert> key, you can toggle between inserting and overstriking characters.
{Vi: can only alter the last character in the line}
Note that if your keyboard does not have working cursor keys or any of the
other special keys, you can use ":cnoremap" to define another key for them.
@@ -66,7 +65,6 @@ Notes:
- All searches are put in the search history, including the ones that come
from commands like "*" and "#". But for a mapping, only the last search is
remembered (to avoid that long mappings trash the history).
{Vi: no history}
{not available when compiled without the |+cmdline_hist| feature}
There is an automatic completion of names on the command-line; see
@@ -124,12 +122,12 @@ CTRL-U Remove all characters between the cursor position and
:cnoremap <C-U> <C-E><C-U>
<
*c_<Insert>* *c_Insert*
<Insert> Toggle between insert and overstrike. {not in Vi}
<Insert> Toggle between insert and overstrike.
{char1} <BS> {char2} or *c_digraph*
CTRL-K {char1} {char2} *c_CTRL-K*
enter digraph (see |digraphs|). When {char1} is a special
key, the code for that key is inserted in <> form. {not in Vi}
key, the code for that key is inserted in <> form.
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
Insert the contents of a numbered or named register. Between
@@ -165,7 +163,7 @@ CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
too.
When the result is a Float it's automatically
converted to a String.
See |registers| about registers. {not in Vi}
See |registers| about registers.
Implementation detail: When using the |expression| register
and invoking setcmdpos(), this sets the position before
inserting the resulting string. Use CTRL-R CTRL-R to set the
@@ -188,7 +186,6 @@ CTRL-R CTRL-L *c_CTRL-R_CTRL-L* *c_<C-R>_<C-L>*
currently displayed match is used. With CTRL-W the part of
the word that was already typed is not inserted again.
{not in Vi}
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
included}
@@ -313,11 +310,9 @@ CTRL-^ Toggle the use of language |:lmap| mappings and/or Input
off, since you are expected to type a command. After
switching it on with CTRL-^, the new state is not used again
for the next command or Search pattern.
{not in Vi}
*c_CTRL-]*
CTRL-] Trigger abbreviation, without inserting a character. {not in
Vi}
CTRL-] Trigger abbreviation, without inserting a character.
For Emacs-style editing on the command-line see |emacs-keys|.
@@ -332,7 +327,6 @@ terminals)
*:his* *:history*
:his[tory] Print the history of last entered commands.
{not in Vi}
{not available when compiled without the |+cmdline_hist|
feature}
@@ -344,7 +338,6 @@ terminals)
i[nput] or @ input line history
d[ebug] or > debug command history
a[ll] all of the above
{not in Vi}
If the numbers {first} and/or {last} are given, the respective
range of entries from a history is listed. These numbers can
+3 -8
View File
@@ -1,4 +1,4 @@
*debug.txt* For Vim version 8.1. Last change: 2017 Jul 15
*debug.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -78,15 +78,10 @@ matches the EXE (same date).
If you built the executable yourself with the Microsoft Visual C++ compiler,
then the PDB was built with the EXE.
Alternatively, if you have the source files, you can import Make_ivc.mak into
Visual Studio as a workspace. Then select a debug configuration, build and
you can do all kinds of debugging (set breakpoints, watch variables, etc.).
If you have Visual Studio, use that instead of the VC Toolkit and WinDbg.
For other compilers, you should always use the corresponding debugger: TD for
a Vim executable compiled with the Borland compiler; gdb (see above
|debug-gcc|) for the Cygwin and MinGW compilers.
For other compilers, you should always use the corresponding debugger: gdb
(see above |debug-gcc|) for the Cygwin and MinGW compilers.
*debug-vs2005*
+1 -2
View File
@@ -1,4 +1,4 @@
*debugger.txt* For Vim version 8.1. Last change: 2017 Nov 21
*debugger.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Gordon Prieur
@@ -10,7 +10,6 @@ Debugger Support Features *debugger-support*
2. Vim Compile Options |debugger-compilation|
3. Integrated Debuggers |debugger-integration|
{Vi does not have any of these features}
==============================================================================
1. Debugger Features *debugger-features*
-1
View File
@@ -278,7 +278,6 @@ wait don't use as argument to a function, conflicts with types.h
index shadows global declaration
time shadows global declaration
new C++ reserved keyword
try Borland C++ doesn't like it to be used as a variable.
clear Mac curses.h
echo Mac curses.h
+1 -3
View File
@@ -1,4 +1,4 @@
*diff.txt* For Vim version 8.1. Last change: 2019 Feb 27
*diff.txt* For Vim version 8.1. Last change: 2019 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -16,8 +16,6 @@ The basics are explained in section |08.7| of the user manual.
4. Copying diffs |copy-diffs|
5. Diff options |diff-options|
{not in Vi}
==============================================================================
1. Starting diff mode *start-vimdiff*
+1 -2
View File
@@ -1,4 +1,4 @@
*digraph.txt* For Vim version 8.1. Last change: 2019 Feb 17
*digraph.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -18,7 +18,6 @@ An alternative is using the 'keymap' option.
2. Using digraphs |digraphs-use|
3. Default digraphs |digraphs-default|
{Vi does not have any of these commands}
==============================================================================
1. Defining digraphs *digraphs-define*
+42 -75
View File
@@ -1,4 +1,4 @@
*editing.txt* For Vim version 8.1. Last change: 2018 Dec 16
*editing.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -44,14 +44,14 @@ An alternate file name is remembered for each window.
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
name. Note that commands invoked indirectly (e.g.,
with a function) may still set the alternate file
name. {not in Vi}
name.
All file names are remembered in the buffer list. When you enter a file name,
for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
the file name is added to the list. You can use the buffer list to remember
which files you edited and to quickly switch from one file to another (e.g.,
to copy text) with the |CTRL-^| command. First type the number of the file
and then hit CTRL-^. {Vi: only one alternate file name is remembered}
and then hit CTRL-^.
CTRL-G or *CTRL-G* *:f* *:fi* *:file*
@@ -60,14 +60,13 @@ CTRL-G or *CTRL-G* *:f* *:fi* *:file*
option is set), and the file status (readonly,
modified, read errors, new file). See the 'shortmess'
option about how to make this message shorter.
{Vi does not include column number}
:f[ile]! like |:file|, but don't truncate the name even when
'shortmess' indicates this.
{count}CTRL-G Like CTRL-G, but prints the current file name with
full path. If the count is higher than 1 the current
buffer number is also given. {not in Vi}
buffer number is also given.
*g_CTRL-G* *word-count* *byte-count*
g CTRL-G Prints the current position of the cursor in five
@@ -80,7 +79,6 @@ g CTRL-G Prints the current position of the cursor in five
column are shown, separated with a dash.
Also see the 'ruler' option and the |wordcount()|
function.
{not in Vi}
*v_g_CTRL-G*
{Visual}g CTRL-G Similar to "g CTRL-G", but Word, Character, Line, and
@@ -88,7 +86,6 @@ g CTRL-G Prints the current position of the cursor in five
displayed.
In Blockwise mode, Column count is also shown. (For
{Visual} see |Visual-mode|.)
{not in VI}
*:file_f*
:f[ile][!] {name} Sets the current file name to {name}. The optional !
@@ -98,14 +95,12 @@ g CTRL-G Prints the current position of the cursor in five
to hold the old name.
*:0file*
:0f[ile][!] Remove the name of the current buffer. The optional !
avoids truncating the message, as with |:file|. {not
in Vi}
avoids truncating the message, as with |:file|.
:buffers
:files
:ls List all the currently known file names. See
'windows.txt' |:files| |:buffers| |:ls|. {not in
Vi}
'windows.txt' |:files| |:buffers| |:ls|.
Vim will remember the full path name of a file name that you enter. In most
cases when the file name is displayed only the name you typed is shown, but
@@ -202,7 +197,6 @@ If you want to keep the changed buffer without saving it, switch on the
buffer and 'autowriteall' isn't set or the file can't
be written.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit!* *discard*
:e[dit]! [++opt] [+cmd]
@@ -210,7 +204,6 @@ If you want to keep the changed buffer without saving it, switch on the
the current buffer. This is useful if you want to
start all over again.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit_f*
:e[dit] [++opt] [+cmd] {file}
@@ -219,14 +212,12 @@ If you want to keep the changed buffer without saving it, switch on the
buffer, unless 'hidden' is set or 'autowriteall' is
set and the file can be written.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:edit!_f*
:e[dit]! [++opt] [+cmd] {file}
Edit {file} always. Discard any changes to the
current buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:e[dit] [++opt] [+cmd] #[count]
Edit the [count]th buffer (as shown by |:files|).
@@ -234,7 +225,6 @@ If you want to keep the changed buffer without saving it, switch on the
#" doesn't work if the alternate buffer doesn't have a
file name, while CTRL-^ still works then.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
*:ene* *:enew*
:ene[w] Edit a new, unnamed buffer. This fails when changes
@@ -244,19 +234,17 @@ If you want to keep the changed buffer without saving it, switch on the
If 'fileformats' is not empty, the first format given
will be used for the new buffer. If 'fileformats' is
empty, the 'fileformat' of the current buffer is used.
{not in Vi}
*:ene!* *:enew!*
:ene[w]! Edit a new, unnamed buffer. Discard any changes to
the current buffer.
Set 'fileformat' like |:enew|.
{not in Vi}
*:fin* *:find*
:fin[d][!] [++opt] [+cmd] {file}
Find {file} in 'path' and then |:edit| it.
{not in Vi} {not available when the |+file_in_path|
feature was disabled at compile time}
{not available when the |+file_in_path| feature was
disabled at compile time}
:{count}fin[d][!] [++opt] [+cmd] {file}
Just like ":find", but use the {count} match in
@@ -278,7 +266,7 @@ If you want to keep the changed buffer without saving it, switch on the
:vie[w][!] [++opt] [+cmd] file
When used in Ex mode: Leave |Ex-mode|, go back to
Normal mode. Otherwise same as |:edit|, but set
'readonly' option for this buffer. {not in Vi}
'readonly' option for this buffer.
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file. Mostly the alternate file is
@@ -297,7 +285,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
":e #[count]"). This is a quick way to switch between
files.
See |CTRL-^| above for further details.
{not in Vi}
[count]]f *]f* *[f*
[count][f Same as "gf". Deprecated.
@@ -331,7 +318,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
For Unix the '~' character is expanded, like in
"~user/file". Environment variables are expanded too
|expand-env|.
{not in Vi}
{not available when the |+file_in_path| feature was
disabled at compile time}
@@ -341,7 +327,6 @@ CTRL-^ Edit the alternate file. Mostly the alternate file is
Leading blanks are skipped, otherwise all blanks and
special characters are included in the file name.
(For {Visual} see |Visual-mode|.)
{not in VI}
*gF*
[count]gF Same as "gf", except if a number follows the file
@@ -617,14 +602,12 @@ list of the current window.
the first one. This fails when changes have been made
and Vim does not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:ar[gs]! [++opt] [+cmd] {arglist} *:args_f!*
Define {arglist} as the new argument list and edit
the first one. Discard any changes to the current
buffer.
Also see |++opt| and |+cmd|.
{Vi: no ++opt}
:[count]arge[dit][!] [++opt] [+cmd] {name} .. *:arge* *:argedit*
Add {name}s to the argument list and edit it.
@@ -637,7 +620,6 @@ list of the current window.
still be added to the argument list, but won't be
edited. No check for duplicates is done.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
:[count]arga[dd]
@@ -659,7 +641,6 @@ list of the current window.
There is no check for duplicates, it is possible to
add a file to the argument list twice.
The currently edited file is not changed.
{not in Vi}
Note: you can also use this method: >
:args ## x
< This will add the "x" item and sort the new list.
@@ -673,7 +654,6 @@ list of the current window.
when it's deleted from the argument list.
Example: >
:argdel *.obj
< {not in Vi}
:[range]argd[elete] Delete the {range} files from the argument list.
Example: >
@@ -688,7 +668,6 @@ list of the current window.
< Removes all the files from the arglist.
When the last number in the range is too high, up to
the last argument is deleted.
{not in Vi}
*:argu* *:argument*
:[count]argu[ment] [count] [++opt] [+cmd]
@@ -697,25 +676,21 @@ list of the current window.
when changes have been made and Vim does not want to
|abandon| the current buffer.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]argu[ment]! [count] [++opt] [+cmd]
Edit file [count] in the argument list, discard any
changes to the current buffer. When [count] is
omitted the current entry is used.
Also see |++opt| and |+cmd|.
{not in Vi}
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
Edit [count] next file. This fails when changes have
been made and Vim does not want to |abandon| the
current buffer. Also see |++opt| and |+cmd|. {Vi: no
count or ++opt}.
current buffer. Also see |++opt| and |+cmd|.
:[count]n[ext]! [++opt] [+cmd]
Edit [count] next file, discard any changes to the
buffer. Also see |++opt| and |+cmd|. {Vi: no count
or ++opt}.
buffer. Also see |++opt| and |+cmd|.
:n[ext] [++opt] [+cmd] {arglist} *:next_f*
Same as |:args_f|.
@@ -727,65 +702,63 @@ list of the current window.
Edit [count] previous file in argument list. This
fails when changes have been made and Vim does not
want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {Vi: no count or ++opt}.
Also see |++opt| and |+cmd|.
:[count]N[ext]! [count] [++opt] [+cmd]
Edit [count] previous file in argument list. Discard
any changes to the buffer. Also see |++opt| and
|+cmd|. {Vi: no count or ++opt}.
|+cmd|.
:[count]prev[ious] [count] [++opt] [+cmd] *:prev* *:previous*
Same as :Next. Also see |++opt| and |+cmd|. {Vi:
only in some versions}
Same as :Next. Also see |++opt| and |+cmd|.
*:rew* *:rewind*
:rew[ind] [++opt] [+cmd]
Start editing the first file in the argument list.
This fails when changes have been made and Vim does
not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {Vi: no ++opt}
Also see |++opt| and |+cmd|.
:rew[ind]! [++opt] [+cmd]
Start editing the first file in the argument list.
Discard any changes to the buffer. Also see |++opt|
and |+cmd|. {Vi: no ++opt}
and |+cmd|.
*:fir* *:first*
:fir[st][!] [++opt] [+cmd]
Other name for ":rewind". {not in Vi}
Other name for ":rewind".
*:la* *:last*
:la[st] [++opt] [+cmd]
Start editing the last file in the argument list.
This fails when changes have been made and Vim does
not want to |abandon| the current buffer.
Also see |++opt| and |+cmd|. {not in Vi}
Also see |++opt| and |+cmd|.
:la[st]! [++opt] [+cmd]
Start editing the last file in the argument list.
Discard any changes to the buffer. Also see |++opt|
and |+cmd|. {not in Vi}
and |+cmd|.
*:wn* *:wnext*
:[count]wn[ext] [++opt]
Write current file and start editing the [count]
next file. Also see |++opt| and |+cmd|. {not in Vi}
next file. Also see |++opt| and |+cmd|.
:[count]wn[ext] [++opt] {file}
Write current file to {file} and start editing the
[count] next file, unless {file} already exists and
the 'writeany' option is off. Also see |++opt| and
|+cmd|. {not in Vi}
|+cmd|.
:[count]wn[ext]! [++opt] {file}
Write current file to {file} and start editing the
[count] next file. Also see |++opt| and |+cmd|. {not
in Vi}
[count] next file. Also see |++opt| and |+cmd|.
:[count]wN[ext][!] [++opt] [file] *:wN* *:wNext*
:[count]wp[revious][!] [++opt] [file] *:wp* *:wprevious*
Same as :wnext, but go to previous file instead of
next. {not in Vi}
next.
The [count] in the commands above defaults to one. For some commands it is
possible to use two counts. The last one (rightmost one) is used.
@@ -826,8 +799,6 @@ fourth file in the argument list. This happens when you do ":e file".
LOCAL ARGUMENT LIST
{not in Vi}
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
Doesn't start editing another file.
@@ -878,7 +849,6 @@ USING THE ARGUMENT LIST
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each file.
{not in Vi}
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
@@ -970,12 +940,11 @@ slower (but safer).
When 'filetype' is empty filetype detection is done
with the new name, before the file is written.
When the write was successful 'readonly' is reset.
{not in Vi}
*:up* *:update*
:[range]up[date][!] [++opt] [>>] [file]
Like ":write", but only write when the buffer has been
modified. {not in Vi}
modified.
WRITING WITH MULTIPLE BUFFERS *buffer-write*
@@ -983,11 +952,11 @@ WRITING WITH MULTIPLE BUFFERS *buffer-write*
*:wa* *:wall*
:wa[ll] Write all changed buffers. Buffers without a file
name cause an error message. Buffers which are
readonly are not written. {not in Vi}
readonly are not written.
:wa[ll]! Write all changed buffers, even the ones that are
readonly. Buffers without a file name are not
written and cause an error message. {not in Vi}
written and cause an error message.
Vim will warn you if you try to overwrite a file that has been changed
@@ -1118,7 +1087,7 @@ The names can be in upper- or lowercase.
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
edited. See |:confirm| and 'confirm'. {not in Vi}
edited. See |:confirm| and 'confirm'.
:q[uit]! Quit without writing, also when the current buffer has
changes. The buffer is unloaded, also when it has
@@ -1131,7 +1100,7 @@ The names can be in upper- or lowercase.
:cq[uit] Quit always, without writing, and return an error
code. See |:cq|. Used for Manx's QuickFix mode (see
|quickfix|). {not in Vi}
|quickfix|).
*:wq*
:wq [++opt] Write the current file and quit. Writing fails when
@@ -1169,7 +1138,7 @@ ZZ Write current file, if modified, and quit (same as
*ZQ*
ZQ Quit without checking for changes (same as ":q!").
{not in Vi}
MULTIPLE WINDOWS AND BUFFERS *window-exit*
@@ -1177,36 +1146,35 @@ MULTIPLE WINDOWS AND BUFFERS *window-exit*
:qa[ll] Exit Vim, unless there are some buffers which have been
changed. (Use ":bmod" to go to the next modified buffer).
When 'autowriteall' is set all changed buffers will be
written, like |:wqall|. {not in Vi}
written, like |:wqall|.
:conf[irm] qa[ll]
Exit Vim. Bring up a prompt when some buffers have been
changed. See |:confirm|. {not in Vi}
changed. See |:confirm|.
:qa[ll]! Exit Vim. Any changes to buffers are lost. {not in Vi}
:qa[ll]! Exit Vim. Any changes to buffers are lost.
Also see |:cquit|, it does the same but exits with a non-zero
value.
*:quita* *:quitall*
:quita[ll][!] Same as ":qall". {not in Vi}
:quita[ll][!] Same as ":qall".
:wqa[ll] [++opt] *:wqa* *:wqall* *:xa* *:xall*
:xa[ll] Write all changed buffers and exit Vim. If there are buffers
without a file name, which are readonly or which cannot be
written for another reason, Vim will not quit. {not in Vi}
written for another reason, Vim will not quit.
:conf[irm] wqa[ll] [++opt]
:conf[irm] xa[ll]
Write all changed buffers and exit Vim. Bring up a prompt
when some buffers are readonly or cannot be written for
another reason. See |:confirm|. {not in Vi}
another reason. See |:confirm|.
:wqa[ll]! [++opt]
:xa[ll]! Write all changed buffers, even the ones that are readonly,
and exit Vim. If there are buffers without a file name or
which cannot be written for another reason, or there is a
terminal with a running job, Vim will not quit.
{not in Vi}
==============================================================================
6. Dialogs *edit-dialogs*
@@ -1317,10 +1285,12 @@ present in 'cpoptions' and "!" is not used in the command.
name. On Unix systems: Change the current directory
to the home directory. Use |:pwd| to print the
current directory on all systems.
On Unix systems: clear any window-local directory.
:cd[!] {path} Change the current directory to {path}.
If {path} is relative, it is searched for in the
directories listed in |'cdpath'|.
Clear any window-local directory.
Does not change the meaning of an already opened file,
because its full path name is remembered. Files from
the |arglist| may change though!
@@ -1330,7 +1300,7 @@ present in 'cpoptions' and "!" is not used in the command.
<
*:cd-* *E186*
:cd[!] - Change to the previous current directory (before the
previous ":cd {path}" command). {not in Vi}
previous ":cd {path}" command).
*:chd* *:chdir*
:chd[ir][!] [path] Same as |:cd|.
@@ -1341,23 +1311,21 @@ present in 'cpoptions' and "!" is not used in the command.
The current directory is not changed for windows in
other tabs and for windows in the current tab that
have their own window-local directory.
{not in Vi}
*:tch* *:tchdir*
:tch[dir][!] Same as |:tcd|. {not in Vi}
:tch[dir][!] Same as |:tcd|.
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
directory for other windows is not changed, switching
to another window will stop using {path}.
{not in Vi}
*:lch* *:lchdir*
:lch[dir][!] Same as |:lcd|. {not in Vi}
:lch[dir][!] Same as |:lcd|.
*:pw* *:pwd* *E187*
:pw[d] Print the current directory name. {Vi: no pwd}
:pw[d] Print the current directory name.
Also see |getcwd()|.
So long as no |:lcd| or |:tcd| command has been used, all windows share the
@@ -1416,8 +1384,7 @@ There are a few things to remember when editing binary files:
file. Otherwise both <CR> <NL> and <NL> are considered to end a line
and when the file is written the <NL> will be replaced with <CR> <NL>.
- <Nul> characters are shown on the screen as ^@. You can enter them with
"CTRL-V CTRL-@" or "CTRL-V 000" {Vi cannot handle <Nul> characters in the
file}
"CTRL-V CTRL-@" or "CTRL-V 000"
- To insert a <NL> character in the file split a line. When writing the
buffer to a file a <NL> will be written for the <EOL>.
- Vim normally appends an <EOL> at the end of the file if there is none.
+246 -15
View File
@@ -1,4 +1,4 @@
*eval.txt* For Vim version 8.1. Last change: 2019 Apr 27
*eval.txt* For Vim version 8.1. Last change: 2019 May 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -33,8 +33,6 @@ done, the features in this document are not available. See |+eval| and
13. Textlock |textlock|
14. Testing |testing|
{Vi does not have any of these commands}
==============================================================================
1. Variables *variables*
@@ -1371,6 +1369,13 @@ $VAR environment variable
The String value of any environment variable. When it is not defined, the
result is an empty string.
The functions `getenv()` and `setenv()` can also be used and work for
environment variables with non-alphanumeric names.
The function `environ()` can be used to get a Dict with all environment
variables.
*expr-env-expand*
Note that there is a difference between using $VAR directly and using
expand("$VAR"). Using it directly will only expand environment variables that
@@ -2228,6 +2233,7 @@ assert_true({actual} [, {msg}]) Number assert {actual} is true
asin({expr}) Float arc sine of {expr}
atan({expr}) Float arc tangent of {expr}
atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
balloon_gettext() String current text in the balloon
balloon_show({expr}) none show {expr} inside the balloon
balloon_split({msg}) List split {msg} as used for a balloon
browse({save}, {title}, {initdir}, {default})
@@ -2275,6 +2281,7 @@ ch_status({handle} [, {options}])
String status of channel {handle}
changenr() Number current change number
char2nr({expr} [, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
chdir({dir}) String change current working directory
cindent({lnum}) Number C indent for line {lnum}
clearmatches([{win}]) none clear all matches
col({expr}) Number column nr of cursor or mark
@@ -2303,6 +2310,7 @@ did_filetype() Number |TRUE| if FileType autocmd event used
diff_filler({lnum}) Number diff filler lines about {lnum}
diff_hlID({lnum}, {col}) Number diff highlighting at {lnum}/{col}
empty({expr}) Number |TRUE| if {expr} is empty
environ() Dict return environment variables
escape({string}, {chars}) String escape {chars} in {string} with '\'
eval({string}) any evaluate {string} into its value
eventhandler() Number |TRUE| if inside an event handler
@@ -2360,6 +2368,7 @@ getcompletion({pat}, {type} [, {filtered}])
List list of cmdline completion matches
getcurpos() List position of the cursor
getcwd([{winnr} [, {tabnr}]]) String get the current working directory
getenv({name}) String return environment variable
getfontname([{name}]) String name of font being used
getfperm({fname}) String file permissions of file {fname}
getfsize({fname}) Number size in bytes of file {fname}
@@ -2448,6 +2457,10 @@ line({expr}) Number line nr of cursor, last line or mark
line2byte({lnum}) Number byte count of line {lnum}
lispindent({lnum}) Number Lisp indent for line {lnum}
list2str({list} [, {utf8}]) String turn numbers in {list} into a String
listener_add({callback} [, {buf}])
Number add a callback to listen to changes
listener_flush([{buf}]) none invoke listener callbacks
listener_remove({id}) none remove a listener callback
localtime() Number current time
log({expr}) Float natural logarithm (base e) of {expr}
log10({expr}) Float logarithm of Float {expr} to base 10
@@ -2568,6 +2581,7 @@ setbufvar({expr}, {varname}, {val})
none set {varname} in buffer {expr} to {val}
setcharsearch({dict}) Dict set character search from {dict}
setcmdpos({pos}) Number set cursor position in command-line
setenv({name}, {val}) none set environment variable
setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
setline({lnum}, {line}) Number set line {lnum} to {line}
setloclist({nr}, {list} [, {action} [, {what}]])
@@ -2687,6 +2701,7 @@ test_alloc_fail({id}, {countdown}, {repeat})
test_autochdir() none enable 'autochdir' during startup
test_feedinput({string}) none add key sequence to input buffer
test_garbagecollect_now() none free memory right now for testing
test_getvalue({string}) any get value of an internal variable
test_ignore_error({expr}) none ignore a specific error
test_null_blob() Blob null value for testing
test_null_channel() Channel null value for testing
@@ -3008,15 +3023,20 @@ atan2({expr1}, {expr2}) *atan2()*
< 2.356194
{only available when compiled with the |+float| feature}
balloon_gettext() *balloon_gettext()*
Return the current text in the balloon. Only for the string,
not used for the List.
balloon_show({expr}) *balloon_show()*
Show {expr} inside the balloon. For the GUI {expr} is used as
a string. For a terminal {expr} can be a list, which contains
the lines of the balloon. If {expr} is not a list it will be
split with |balloon_split()|.
If {expr} is an empty string any existing balloon is removed.
Example: >
func GetBalloonContent()
" initiate getting the content
" ... initiate getting the content
return ''
endfunc
set balloonexpr=GetBalloonContent()
@@ -3471,6 +3491,27 @@ char2nr({expr} [, {utf8}]) *char2nr()*
let list = map(split(str, '\zs'), {_, val -> char2nr(val)})
< Result: [65, 66, 67]
chdir({dir}) *chdir()*
Change the current working directory to {dir}. The scope of
the directory change depends on the directory of the current
window:
- If the current window has a window-local directory
(|:lcd|), then changes the window local directory.
- Otherwise, if the current tabpage has a local
directory (|:tcd|) then changes the tabpage local
directory.
- Otherwise, changes the global directory.
If successful, returns the previous working directory. Pass
this to another chdir() to restore the directory.
On failure, returns an empty string.
Example: >
let save_dir = chdir(newdir)
if save_dir
" ... do some work
call chdir(save_dir)
endif
<
cindent({lnum}) *cindent()*
Get the amount of indent for line {lnum} according the C
indenting rules, as with 'cindent'.
@@ -3879,6 +3920,14 @@ diff_hlID({lnum}, {col}) *diff_hlID()*
The highlight ID can be used with |synIDattr()| to obtain
syntax information about the highlighting.
environ() *environ()*
Return all of environment variables as dictionary. You can
check if an environment variable exists like this: >
:echo has_key(environ(), 'HOME')
< Note that the variable name may be CamelCase; to ignore case
use this: >
:echo index(keys(environ()), 'HOME', 0, 1) != -1
empty({expr}) *empty()*
Return the Number 1 if {expr} is empty, zero otherwise.
- A |List| or |Dictionary| is empty when it does not have any
@@ -4209,6 +4258,8 @@ feedkeys({string} [, {mode}]) *feedkeys()*
and "\..." notation |expr-quote|. For example,
feedkeys("\<CR>") simulates pressing of the <Enter> key. But
feedkeys('\<CR>') pushes 5 characters.
A special code that might be useful is <Ignore>, it exits the
wait for a character without doing anything. *<Ignore>*
{mode} is a String, which can contain these character flags:
'm' Remap keys. This is default. If {mode} is absent,
@@ -4942,13 +4993,11 @@ getcwd([{winnr} [, {tabnr}]])
" Get the working directory of current tabpage
:echo getcwd(-1, 0)
<
getfsize({fname}) *getfsize()*
The result is a Number, which is the size in bytes of the
given file {fname}.
If {fname} is a directory, 0 is returned.
If the file {fname} can't be found, -1 is returned.
If the size of {fname} is too big to fit in a Number then -2
is returned.
getenv({name}) *getenv()*
Return the value of environment variable {name}.
When the variable does not exist |v:null| is returned. That
is different from a variable set to an empty string.
See also |expr-env|.
getfontname([{name}]) *getfontname()*
Without an argument returns the name of the normal font being
@@ -4981,6 +5030,14 @@ getfperm({fname}) *getfperm()*
For setting permissions use |setfperm()|.
getfsize({fname}) *getfsize()*
The result is a Number, which is the size in bytes of the
given file {fname}.
If {fname} is a directory, 0 is returned.
If the file {fname} can't be found, -1 is returned.
If the size of {fname} is too big to fit in a Number then -2
is returned.
getftime({fname}) *getftime()*
The result is a Number, which is the last modification time of
the given file {fname}. The value is measured as seconds
@@ -6259,6 +6316,86 @@ list2str({list} [, {utf8}]) *list2str()*
With utf-8 composing characters work as expected: >
list2str([97, 769]) returns "á"
<
listener_add({callback} [, {buf}]) *listener_add()*
Add a callback function that will be invoked when changes have
been made to buffer {buf}.
{buf} refers to a buffer name or number. For the accepted
values, see |bufname()|. When {buf} is omitted the current
buffer is used.
Returns a unique ID that can be passed to |listener_remove()|.
The {callback} is invoked with four arguments:
a:bufnr the buffer that was changed
a:start first changed line number
a:end first line number below the change
a:added total number of lines added, negative if lines
were deleted
a:changes a List of items with details about the changes
Example: >
func Listener(bufnr, start, end, added, changes)
echo 'lines ' .. a:start .. ' until ' .. a:end .. ' changed'
endfunc
call listener_add('Listener', bufnr)
< The List cannot be changed. Each item in a:changes is a
dictionary with these entries:
lnum the first line number of the change
end the first line below the change
added number of lines added; negative if lines were
deleted
col first column in "lnum" that was affected by
the change; one if unknown or the whole line
was affected; this is a byte index, first
character has a value of one.
When lines are inserted the values are:
lnum line below which the new line is added
end equal to "lnum"
added number of lines inserted
col 1
When lines are deleted the values are:
lnum the first deleted line
end the line below the first deleted line, before
the deletion was done
added negative, number of lines deleted
col 1
When lines are changed:
lnum the first changed line
end the line below the last changed line
added 0
col first column with a change or 1
The entries are in the order the changes were made, thus the
most recent change is at the end. The line numbers are valid
when the callback is invoked, but later changes may make them
invalid, thus keeping a copy for later might not work.
The {callback} is invoked just before the screen is updated,
when |listener_flush()| is called or when a change is being
made that changes the line count in a way it causes a line
number in the list of changes to become invalid.
The {callback} is invoked with the text locked, see
|textlock|. If you do need to make changes to the buffer, use
a timer to do this later |timer_start()|.
The {callback} is not invoked when the buffer is first loaded.
Use the |BufReadPost| autocmd event to handle the initial text
of a buffer.
The {callback} is also not invoked when the buffer is
unloaded, use the |BufUnload| autocmd event for that.
listener_flush([{buf}]) *listener_flush()*
Invoke listener callbacks for buffer {buf}. If there are no
pending changes then no callbacks are invoked.
{buf} refers to a buffer name or number. For the accepted
values, see |bufname()|. When {buf} is omitted the current
buffer is used.
listener_remove({id}) *listener_remove()*
Remove a listener previously added with listener_add().
localtime() *localtime()*
Return the current time, measured as seconds since 1st Jan
1970. See also |strftime()| and |getftime()|.
@@ -7218,6 +7355,9 @@ prop_type_add({name}, {props}) *prop_type_add()* *E969* *E970*
properties the one with the highest priority
will be used; negative values can be used, the
default priority is zero
combine when TRUE combine the highlight with any
syntax highlight; when omitted or FALSE syntax
highlight will not be used
start_incl when TRUE inserts at the start position will
be included in the text property
end_incl when TRUE inserts at the end position will be
@@ -7981,6 +8121,11 @@ setcmdpos({pos}) *setcmdpos()*
Returns 0 when successful, 1 when not editing the command
line.
setenv({name}, {val}) *setenv()*
Set environment variable {name} to {val}.
When {val} is |v:null| the environment variable is deleted.
See also |expr-env|.
setfperm({fname}, {mode}) *setfperm()* *chmod*
Set the file permissions for {fname} to {mode}.
{mode} must be a string with 9 characters. It is of the form
@@ -9750,6 +9895,11 @@ test_garbagecollect_now() *test_garbagecollect_now()*
internally, and |v:testing| must have been set before calling
any function.
test_getvalue({name}) *test_getvalue()*
Get the value of an internal variable. These values for
{name} are supported:
need_fileinfo
test_ignore_error({expr}) *test_ignore_error()*
Ignore any error containing {expr}. A normal message is given
instead.
@@ -10865,15 +11015,58 @@ change their contents. Thus you can pass a |List| to a function and have the
function add an item to it. If you want to make sure the function cannot
change a |List| or |Dictionary| use |:lockvar|.
When not using "...", the number of arguments in a function call must be equal
to the number of named arguments. When using "...", the number of arguments
may be larger.
It is also possible to define a function without any arguments. You must
still supply the () then.
It is allowed to define another function inside a function body.
*optional-function-argument*
You can provide default values for positional named arguments. This makes
them optional for function calls. When a positional argument is not
specified at a call, the default expression is used to initialize it.
This only works for functions declared with |function|, not for lambda
expressions |expr-lambda|.
Example: >
function Something(key, value = 10)
echo a:key .. ": " .. a:value
endfunction
call Something('empty') "empty: 10"
call Something('key', 20) "key: 20"
The argument default expressions are evaluated at the time of the function
call, not definition. Thus it is possible to use an expression which is
invalid the moment the function is defined. The expressions are are also only
evaluated when arguments are not specified during a call.
You can pass |v:none| to use the default expression. Note that this means you
cannot pass v:none as an ordinary value when an argument has a default
expression.
Example: >
function Something(a = 10, b = 20, c = 30)
endfunction
call Something(1, v:none, 3) " b = 20
<
*E989*
Optional arguments with default expressions must occur after any mandatory
arguments. You can use "..." after all optional named arguments.
It is possible for later argument defaults to refer to prior arguments,
but not the other way around. They must be prefixed with "a:", as with all
arguments.
Example that works: >
:function Okay(mandatory, optional = a:mandatory)
:endfunction
Example that does NOT work: >
:function NoGood(first = a:second, second = 10)
:endfunction
<
When not using "...", the number of arguments in a function call must be equal
to the number of mandatory named arguments. When using "...", the number of
arguments may be larger.
*local-variables*
Inside a function local variables can be used. These will disappear when the
function returns. Global variables need to be accessed with "g:".
@@ -11228,6 +11421,44 @@ This does NOT work: >
Like above, but append/add/subtract the value for each
|List| item.
*:let=<<* *:let-heredoc* *E990* *E991*
:let {var-name} =<< [trim] {marker}
text...
text...
{marker}
Set internal variable {var-name} to a List containing
the lines of text bounded by the string {marker}.
{marker} must not contain white space.
The last line should end only with the {marker} string
without any other character. Watch out for white
space after {marker}!
If {marker} is not supplied, then "." is used as the
default marker.
Any white space characters in the lines of text are
preserved. If "trim" is specified before {marker},
then all the leading indentation exactly matching the
leading indentation before `let` is stripped from the
input lines and the line containing {marker}. Note
that the difference between space and tab matters
here.
If {var-name} didn't exist yet, it is created.
Cannot be followed by another command, but can be
followed by a comment.
Examples: >
let var1 =<< END
Sample text 1
Sample text 2
Sample text 3
END
let data =<< trim DATA
1 2 3 4
5 6 7 8
DATA
<
*E121*
:let {var-name} .. List the value of variable {var-name}. Multiple
variable names may be given. Special names recognized
+1 -2
View File
@@ -1,4 +1,4 @@
*farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
*farsi.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
@@ -6,7 +6,6 @@
Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
{Vi does not have any of these commands}
*E27*
Farsi support has been removed in patch 8.1.0932. At that time it was
+1 -2
View File
@@ -1,4 +1,4 @@
*filetype.txt* For Vim version 8.1. Last change: 2018 Apr 18
*filetype.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -12,7 +12,6 @@ Filetypes *filetype* *file-type*
Also see |autocmd.txt|.
{Vi does not have any of these commands}
==============================================================================
1. Filetypes *filetypes* *file-types*
+1 -2
View File
@@ -1,4 +1,4 @@
*fold.txt* For Vim version 8.1. Last change: 2017 Mar 18
*fold.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -14,7 +14,6 @@ You can find an introduction on folding in chapter 28 of the user manual.
3. Fold options |fold-options|
4. Behavior of folds |fold-behavior|
{Vi has no Folding}
{not available when compiled without the |+folding| feature}
==============================================================================
+1 -2
View File
@@ -1,4 +1,4 @@
*gui.txt* For Vim version 8.1. Last change: 2019 Apr 28
*gui.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,7 +19,6 @@ Other GUI documentation:
|gui_x11.txt| For specific items of the X11 GUI.
|gui_w32.txt| For specific items of the Win32 GUI.
{Vi does not have any of these commands}
==============================================================================
1. Starting the GUI *gui-start* *E229* *E233*
+2 -3
View File
@@ -1,4 +1,4 @@
*gui_w32.txt* For Vim version 8.1. Last change: 2019 Apr 28
*gui_w32.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,7 +19,6 @@ Other relevant documentation:
|gui.txt| For generic items of the GUI.
|os_win32.txt| For Win32 specific items.
{Vi does not have a Windows GUI}
==============================================================================
1. Starting the GUI *gui-w32-start*
@@ -414,7 +413,7 @@ be opened as normal. See |drag-n-drop|.
*:simalt* *:sim*
:sim[alt] {key} simulate pressing {key} while holding Alt pressed.
{not in Vi} {only for Win32 versions}
{only for Win32 versions}
Note: ":si" means ":s" with the "i" flag.
Normally, Vim takes control of all Alt-<Key> combinations, to increase the
+1 -2
View File
@@ -1,4 +1,4 @@
*gui_x11.txt* For Vim version 8.1. Last change: 2019 Apr 12
*gui_x11.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,7 +19,6 @@ Vim's Graphical User Interface *gui-x11* *GUI-X11*
Other relevant documentation:
|gui.txt| For generic items of the GUI.
{Vi does not have any of these commands}
==============================================================================
1. Starting the X11 GUI *gui-x11-start* *E665*
+2 -5
View File
@@ -1,4 +1,4 @@
*hebrew.txt* For Vim version 8.1. Last change: 2007 Jun 14
*hebrew.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
@@ -10,10 +10,7 @@ The supporting 'rightleft' functionality was originally created by Avner
Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is
currently helping support these features.
{Vi does not have any of these commands}
All this is only available when the |+rightleft| feature was enabled at
compile time.
{only available when the |+rightleft| feature was enabled at compile time}
Introduction
+1
View File
@@ -143,6 +143,7 @@ Special issues ~
|remote.txt| using Vim as a server or client
|term.txt| using different terminals and mice
|terminal.txt| Terminal window support
|popup.txt| popop window support
Programming language support ~
|indent.txt| automatic indenting for C and other languages
+3 -9
View File
@@ -1,4 +1,4 @@
*helphelp.txt* For Vim version 8.1. Last change: 2017 Mar 19
*helphelp.txt* For Vim version 8.1. Last change: 2019 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -24,7 +24,6 @@ Help on help files *helphelp*
the very top.
The 'helplang' option is used to select a language, if
the main help file is available in several languages.
{not in Vi}
*{subject}* *E149* *E661*
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
@@ -97,7 +96,6 @@ Help on help files *helphelp*
command from a following command. You need to type
CTRL-V first to insert the <LF> or <CR>. Example: >
:help so<C-V><CR>only
< {not in Vi}
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
find a tag in a file with the same language as the
@@ -133,7 +131,6 @@ Help on help files *helphelp*
|:execute| when needed.
Compressed help files will not be searched (Fedora
compresses the help files).
{not in Vi}
*:lh* *:lhelpgrep*
:lh[elpgrep] {pattern}[@xx]
@@ -147,11 +144,11 @@ Help on help files *helphelp*
*:exu* *:exusage*
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
command. {not in Vi}
command.
*:viu* *:viusage*
:viu[sage] Show help on Normal mode commands. Added to simulate
the Nvi command. {not in Vi}
the Nvi command.
When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
@@ -199,7 +196,6 @@ command: >
Only for backwards compatibility. It now executes the
ToolBar.FindHelp menu entry instead of using a builtin
dialog. {only when compiled with |+GUI_GTK|}
{not in Vi}
*:helpt* *:helptags*
*E154* *E150* *E151* *E152* *E153* *E670*
@@ -224,8 +220,6 @@ command: >
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
< {not in Vi}
==============================================================================
2. Translated help files *help-translated*
+1 -2
View File
@@ -1,4 +1,4 @@
*if_cscop.txt* For Vim version 8.1. Last change: 2018 Jan 21
*if_cscop.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Andy Kahn
@@ -21,7 +21,6 @@ functions as you normally would with |tags|.
7. Availability & Information |cscope-info|
This is currently for Unix and Win32 only.
{Vi does not have any of these commands}
==============================================================================
1. Cscope introduction *cscope-intro*
+5 -9
View File
@@ -1,4 +1,4 @@
*if_lua.txt* For Vim version 8.1. Last change: 2015 Oct 16
*if_lua.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Luis Carvalho
@@ -17,17 +17,14 @@ The Lua Interface to Vim *lua* *Lua*
9. luaeval() Vim function |lua-luaeval|
10. Dynamic loading |lua-dynamic|
{Vi does not have any of these commands}
The Lua interface is available only when Vim was compiled with the
|+lua| feature.
{only available when Vim was compiled with the |+lua| feature}
==============================================================================
1. Commands *lua-commands*
*:lua*
:[range]lua {chunk}
Execute Lua chunk {chunk}. {not in Vi}
Execute Lua chunk {chunk}.
Examples:
>
@@ -38,7 +35,7 @@ Examples:
:[range]lua << {endmarker}
{script}
{endmarker}
Execute Lua script {script}. {not in Vi}
Execute Lua script {script}.
Note: This command doesn't work when the Lua
feature wasn't compiled in. To avoid errors, see
|script-here|.
@@ -75,7 +72,6 @@ If you use LuaJIT you can also use this: >
If the value returned by the function is a string it
becomes the text of the line in the current turn. The
default for [range] is the whole file: "1,$".
{not in Vi}
Examples:
>
@@ -89,7 +85,7 @@ Examples:
*:luafile*
:[range]luafile {file}
Execute Lua script in {file}. {not in Vi}
Execute Lua script in {file}.
The whole argument is used as a single file name.
Examples:
+4 -7
View File
@@ -1,4 +1,4 @@
*if_mzsch.txt* For Vim version 8.1. Last change: 2017 Oct 08
*if_mzsch.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Sergey Khorev
@@ -15,10 +15,7 @@ The MzScheme Interface to Vim *mzscheme* *MzScheme*
7. Dynamic loading |mzscheme-dynamic|
8. MzScheme setup |mzscheme-setup|
{Vi does not have any of these commands}
The MzScheme interface is available only if Vim was compiled with the
|+mzscheme| feature.
{only available when Vim was compiled with the |+mzscheme| feature}
Based on the work of Brent Fulgham.
Dynamic loading added by Sergey Khorev
@@ -40,7 +37,7 @@ To speed up the process, you might also want to use --disable-gracket and
*:mzscheme* *:mz*
:[range]mz[scheme] {stmt}
Execute MzScheme statement {stmt}. {not in Vi}
Execute MzScheme statement {stmt}.
:[range]mz[scheme] << {endmarker}
{script}
@@ -51,7 +48,7 @@ To speed up the process, you might also want to use --disable-gracket and
|script-here|.
*:mzfile* *:mzf*
:[range]mzf[ile] {file} Execute the MzScheme script in {file}. {not in Vi}
:[range]mzf[ile] {file} Execute the MzScheme script in {file}.
All of these commands do essentially the same thing - they execute a piece of
MzScheme code, with the "current range" set to the given line
+3 -5
View File
@@ -1,4 +1,4 @@
*if_ole.txt* For Vim version 8.1. Last change: 2008 Aug 16
*if_ole.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Paul Moore
@@ -12,10 +12,8 @@ The OLE Interface to Vim *ole-interface*
4. Registration |ole-registration|
5. MS Visual Studio integration |MSVisualStudio|
{Vi does not have any of these commands}
OLE is only available when compiled with the |+ole| feature. See
src/if_ole.INSTALL.
{only available when compiled with the |+ole| feature. See
src/if_ole.INSTALL}
An alternative is using the client-server communication |clientserver|.
==============================================================================
+2 -4
View File
@@ -1,4 +1,4 @@
*if_perl.txt* For Vim version 8.1. Last change: 2019 Jan 29
*if_perl.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Sven Verdoolaege
@@ -11,9 +11,7 @@ Perl and Vim *perl* *Perl*
3. Using the Perl interface |perl-using|
4. Dynamic loading |perl-dynamic|
{Vi does not have any of these commands}
The Perl interface only works when Vim was compiled with the |+perl| feature.
{only available when Vim was compiled with the |+perl| feature}
==============================================================================
1. Editing Perl files *perl-editing*
+2 -5
View File
@@ -1,4 +1,4 @@
*if_pyth.txt* For Vim version 8.1. Last change: 2018 Jan 30
*if_pyth.txt* For Vim version 8.1. Last change: 2019 May 04
VIM REFERENCE MANUAL by Paul Moore
@@ -19,8 +19,6 @@ The Python Interface to Vim *python* *Python*
11. Python X |python_x|
12. Building with Python support |python-building|
{Vi does not have any of these commands}
The Python 2.x interface is available only when Vim was compiled with the
|+python| feature.
The Python 3 interface is available only when Vim was compiled with the
@@ -76,7 +74,6 @@ and "EOF" do not have any indent.
None. If a string is returned, it becomes the text of
the line in the current turn. The default for [range]
is the whole file: "1,$".
{not in Vi}
Examples:
>
@@ -98,7 +95,7 @@ python. For example: >
*:pyfile* *:pyf*
:[range]pyf[ile] {file}
Execute the Python script in {file}. The whole
argument is used as a single file name. {not in Vi}
argument is used as a single file name.
Both of these commands do essentially the same thing - they execute a piece of
Python code, with the "current range" |python-range| set to the given line
+2 -3
View File
@@ -1,4 +1,4 @@
*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jan 29
*if_ruby.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Shugo Maeda
@@ -14,10 +14,9 @@ The Ruby Interface to Vim *ruby* *Ruby*
6. rubyeval() Vim function |ruby-rubyeval|
7. Dynamic loading |ruby-dynamic|
{Vi does not have any of these commands}
*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
The Ruby interface only works when Vim was compiled with the |+ruby| feature.
{only available when Vim was compiled with the |+ruby| feature}
The home page for ruby is http://www.ruby-lang.org/. You can find links for
downloading Ruby there.
+4 -6
View File
@@ -1,4 +1,4 @@
*if_tcl.txt* For Vim version 8.1. Last change: 2016 Jan 01
*if_tcl.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Ingo Wilken
@@ -16,9 +16,8 @@ The Tcl Interface to Vim *tcl* *Tcl* *TCL*
8. Examples |tcl-examples|
9. Dynamic loading |tcl-dynamic|
{Vi does not have any of these commands} *E280*
The Tcl interface only works when Vim was compiled with the |+tcl| feature.
*E280*
{only available when Vim was compiled with the |+tcl| feature}
WARNING: There are probably still some bugs. Please send bug reports,
comments, ideas etc to <Ingo.Wilken@informatik.uni-oldenburg.de>
@@ -66,12 +65,11 @@ To see what version of Tcl you have: >
possible to add or delete lines using this command.
If {cmd} returns an error, the command is interrupted.
The default for [range] is the whole file: "1,$".
See |tcl-var-line| and |tcl-var-lnum|. {not in Vi}
See |tcl-var-line| and |tcl-var-lnum|.
*:tclfile* *:tclf*
:tclf[ile] {file} Execute the Tcl script in {file}. This is the same as
":tcl source {file}", but allows file name completion.
{not in Vi}
Note that Tcl objects (like variables) persist from one command to the next,
+12 -3
View File
@@ -1,4 +1,4 @@
*index.txt* For Vim version 8.1. Last change: 2019 Apr 19
*index.txt* For Vim version 8.1. Last change: 2019 May 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -862,6 +862,10 @@ tag char note action in Normal mode ~
position the cursor at the start (left
side) of the screen
|zt| zt redraw, cursor line at top of window
|zuw| zuw undo |zw|
|zug| zug undo |zg|
|zuW| zuW undo |zW|
|zuG| zuG undo |zG|
|zv| zv open enough folds to view the cursor line
|zw| zw mark word as wrong (bad) spelled word
|zx| zx re-apply 'foldlevel' and do "zv"
@@ -1192,9 +1196,11 @@ tag command action ~
|:caddbuffer| :cad[dbuffer] add errors from buffer
|:caddexpr| :cadde[xpr] add errors from expr
|:caddfile| :caddf[ile] add error message to current quickfix list
|:cafter| :caf[ter] go to error after current cursor
|:call| :cal[l] call a function
|:catch| :cat[ch] part of a :try command
|:cbelow| :cbe[low] got to error below current line
|:cbefore| :cbef[ore] go to error before current cursor
|:cbelow| :cbel[ow] go to error below current line
|:cbottom| :cbo[ttom] scroll to the bottom of the quickfix window
|:cbuffer| :cb[uffer] parse error messages and jump to first error
|:cc| :cc go to specific error
@@ -1356,10 +1362,12 @@ tag command action ~
|:laddexpr| :lad[dexpr] add locations from expr
|:laddbuffer| :laddb[uffer] add locations from buffer
|:laddfile| :laddf[ile] add locations to current location list
|:lafter| :laf[ter] go to location after current cursor
|:last| :la[st] go to the last file in the argument list
|:language| :lan[guage] set the language (locale)
|:later| :lat[er] go to newer change, redo
|:lbelow| :lbe[low] go to location below current line
|:lbefore| :lbef[ore] go to location before current cursor
|:lbelow| :lbel[ow] go to location below current line
|:lbottom| :lbo[ttom] scroll to the bottom of the location window
|:lbuffer| :lb[uffer] parse locations and jump to first location
|:lcd| :lc[d] change directory locally
@@ -1708,6 +1716,7 @@ tag command action ~
|:xmapclear| :xmapc[lear] remove all mappings for Visual mode
|:xmap| :xm[ap] like ":map" but for Visual mode
|:xmenu| :xme[nu] add menu for Visual mode
|:xrestore| :xr[estore] restores the X server connection
|:xnoremap| :xn[oremap] like ":noremap" but for Visual mode
|:xnoremenu| :xnoreme[nu] like ":noremenu" but for Visual mode
|:xunmap| :xu[nmap] like ":unmap" but for Visual mode
+29 -43
View File
@@ -1,4 +1,4 @@
*insert.txt* For Vim version 8.1. Last change: 2019 Apr 06
*insert.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -59,23 +59,22 @@ CTRL-C Quit insert mode, go back to Normal mode. Do not check for
event.
*i_CTRL-@*
CTRL-@ Insert previously inserted text and stop insert. {Vi: only
when typed as first char, only up to 128 chars}
CTRL-@ Insert previously inserted text and stop insert.
*i_CTRL-A*
CTRL-A Insert previously inserted text. {not in Vi}
CTRL-A Insert previously inserted text.
*i_CTRL-H* *i_<BS>* *i_BS*
<BS> or CTRL-H Delete the character before the cursor (see |i_backspacing|
about joining lines).
See |:fixdel| if your <BS> key does not do what you want.
{Vi: does not delete autoindents}
*i_<Del>* *i_DEL*
<Del> Delete the character under the cursor. If the cursor is at
the end of the line, and the 'backspace' option includes
"eol", delete the <EOL>; the next line is appended after the
current one.
See |:fixdel| if your <Del> key does not do what you want.
{not in Vi}
*i_CTRL-W*
CTRL-W Delete the word before the cursor (see |i_backspacing| about
joining lines). See the section "word motions",
@@ -102,10 +101,10 @@ CTRL-K {char1} [char2]
key, the code for that key is inserted in <> form. For
example, the string "<S-Space>" can be entered by typing
<C-K><S-Space> (two keys). Neither char is considered for
mapping. {not in Vi}
mapping.
CTRL-N Find next keyword (see |i_CTRL-N|). {not in Vi}
CTRL-P Find previous keyword (see |i_CTRL-P|). {not in Vi}
CTRL-N Find next keyword (see |i_CTRL-N|).
CTRL-P Find previous keyword (see |i_CTRL-P|).
CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
Insert the contents of a register. Between typing CTRL-R and
@@ -142,7 +141,7 @@ CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
converted to a String.
When append() or setline() is invoked the undo
sequence will be broken.
See |registers| about registers. {not in Vi}
See |registers| about registers.
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
Insert the contents of a register. Works like using a single
@@ -154,7 +153,7 @@ CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
< Options 'textwidth', 'formatoptions', etc. still apply. If
you also want to avoid these, use CTRL-R CTRL-O, see below.
The '.' register (last inserted text) is still inserted as
typed. {not in Vi}
typed.
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
Insert the contents of a register literally and don't
@@ -163,31 +162,30 @@ CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
insert the text above the current line, like with `P`.
Does not replace characters!
The '.' register (last inserted text) is still inserted as
typed. {not in Vi}
typed.
CTRL-R CTRL-P {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-P*
Insert the contents of a register literally and fix the
indent, like |[<MiddleMouse>|.
Does not replace characters!
The '.' register (last inserted text) is still inserted as
typed. {not in Vi}
typed.
*i_CTRL-T*
CTRL-T Insert one shiftwidth of indent at the start of the current
line. The indent is always rounded to a 'shiftwidth' (this is
vi compatible). {Vi: only when in indent}
vi compatible).
*i_CTRL-D*
CTRL-D Delete one shiftwidth of indent at the start of the current
line. The indent is always rounded to a 'shiftwidth' (this is
vi compatible). {Vi: CTRL-D works only when used after
autoindent}
vi compatible).
*i_0_CTRL-D*
0 CTRL-D Delete all indent in the current line. {Vi: CTRL-D works
only when used after autoindent}
0 CTRL-D Delete all indent in the current line.
*i_^_CTRL-D*
^ CTRL-D Delete all indent in the current line. The indent is
restored in the next line. This is useful when inserting a
label. {Vi: CTRL-D works only when used after autoindent}
label.
*i_CTRL-V*
CTRL-V Insert next non-digit literally. For special keys, the
@@ -195,7 +193,7 @@ CTRL-V Insert next non-digit literally. For special keys, the
decimal, octal or hexadecimal value of a character
|i_CTRL-V_digit|.
The characters typed right after CTRL-V are not considered for
mapping. {Vi: no decimal byte entry}
mapping.
Note: When CTRL-V is mapped (e.g., to paste text) you can
often use CTRL-Q instead |i_CTRL-Q|.
@@ -206,12 +204,12 @@ CTRL-Q Same as CTRL-V.
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
be given to complete words or scroll the window. See
|i_CTRL-X| and |ins-completion|. {not in Vi}
|i_CTRL-X| and |ins-completion|.
*i_CTRL-E*
CTRL-E Insert the character which is below the cursor. {not in Vi}
CTRL-E Insert the character which is below the cursor.
*i_CTRL-Y*
CTRL-Y Insert the character which is above the cursor. {not in Vi}
CTRL-Y Insert the character which is above the cursor.
Note that for CTRL-E and CTRL-Y 'textwidth' is not used, to be
able to copy characters from a long line.
@@ -228,7 +226,6 @@ CTRL-_ Switch between languages, as follows:
is set.
Please refer to |rileft.txt| for more information about
right-to-left mode.
{not in Vi}
Only if compiled with the |+rightleft| feature.
*i_CTRL-^*
@@ -248,14 +245,12 @@ CTRL-^ Toggle the use of typing language characters.
The language mappings are normally used to type characters
that are different from what the keyboard produces. The
'keymap' option can be used to install a whole number of them.
{not in Vi}
*i_CTRL-]*
CTRL-] Trigger abbreviation, without inserting a character. {not in
Vi}
CTRL-] Trigger abbreviation, without inserting a character.
*i_<Insert>*
<Insert> Toggle between Insert and Replace mode. {not in Vi}
<Insert> Toggle between Insert and Replace mode.
-----------------------------------------------------------------------
*i_backspacing*
@@ -277,7 +272,6 @@ For backwards compatibility the values "0", "1" and "2" are also allowed, see
If the 'backspace' option does contain "eol" and the cursor is in column 1
when one of the three keys is used, the current line is joined with the
previous line. This effectively deletes the <EOL> in front of the cursor.
{Vi: does not cross lines, does not delete past start position of insert}
*i_CTRL-V_digit*
With CTRL-V the decimal, octal or hexadecimal value of a character can be
@@ -519,15 +513,14 @@ The 'expandtab' option is off by default. Note that in Replace mode, a single
character is replaced with several spaces. The result of this is that the
number of characters in the line increases. Backspacing will delete one
space at a time. The original character will be put back for only one space
that you backspace over (the last one). {Vi does not have the 'expandtab'
option}
that you backspace over (the last one).
*ins-smarttab*
When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
the beginning of a line and 'tabstop' positions in other places. This means
that often spaces instead of a <Tab> character are inserted. When 'smarttab'
is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
used for ">>" and the like. {not in Vi}
used for ">>" and the like.
*ins-softtabstop*
When the 'softtabstop' option is non-zero, a <Tab> inserts 'softtabstop'
@@ -567,14 +560,13 @@ If the 'expandtab' option is on, a <Tab> will replace one character with
several spaces. The result of this is that the number of characters in the
line increases. Backspacing will delete one space at a time. The original
character will be put back for only one space that you backspace over (the
last one). {Vi does not have the 'expandtab' option}
last one).
==============================================================================
6. Virtual Replace mode *vreplace-mode* *Virtual-Replace-mode*
Enter Virtual Replace mode with the "gR" command in normal mode.
{not available when compiled without the |+vreplace| feature}
{Vi does not have Virtual Replace mode}
Virtual Replace mode is similar to Replace mode, but instead of replacing
actual characters in the file, you are replacing screen real estate, so that
@@ -1807,7 +1799,7 @@ I Insert text before the first non-blank in the line
the last blank.
*gI*
gI Insert text in column 1 [count] times. {not in Vi}
gI Insert text in column 1 [count] times.
*gi*
gi Insert text in the same position as where Insert mode
@@ -1818,19 +1810,16 @@ gi Insert text in the same position as where Insert mode
but NOT for inserted/deleted characters.
When the |:keepjumps| command modifier is used the |'^|
mark won't be changed.
{not in Vi}
*o*
o Begin a new line below the cursor and insert text,
repeat [count] times. {Vi: blank [count] screen
lines}
repeat [count] times.
When the '#' flag is in 'cpoptions' the count is
ignored.
*O*
O Begin a new line above the cursor and insert text,
repeat [count] times. {Vi: blank [count] screen
lines}
repeat [count] times.
When the '#' flag is in 'cpoptions' the count is
ignored.
@@ -1885,7 +1874,6 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
script, the insertion only starts after the function
or script is finished.
This command does not work from |:normal|.
{not in Vi}
*:stopi* *:stopinsert*
:stopi[nsert] Stop Insert mode as soon as possible. Works like
@@ -1902,12 +1890,10 @@ NOTE: These commands cannot be used with |:global| or |:vglobal|.
Note that when using this command in a function or
script that the replacement will only start after
the function or script is finished.
{not in Vi}
*:startgreplace*
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
mode, like with |gR|.
{not in Vi}
==============================================================================
10. Inserting a file *inserting-file*
+7 -18
View File
@@ -1,4 +1,4 @@
*intro.txt* For Vim version 8.1. Last change: 2019 Jan 07
*intro.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -34,9 +34,7 @@ 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.
Throughout this manual the differences between Vi and Vim are mentioned in
curly braces, like this: {Vi does not have on-line help}. See |vi_diff.txt|
for a summary of the differences between Vim and Vi.
The differences between Vi and Vim are mentioned in |vi_diff.txt|.
This manual refers to Vim on various machines. There may be small differences
between different computers and terminals. Besides the remarks given in this
@@ -648,11 +646,7 @@ Ex :vi -- -- -- -- --
the command.
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. {Vi: when hitting <Esc> the command-line
is executed. This is unexpected for most people; therefore it was changed
in Vim. But when the <Esc> is part of a mapping, the command-line is
executed. If you want the Vi behaviour also when typing <Esc>, use ":cmap
^V<Esc> ^V^M"}
ignore that and type <Esc> again.
*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
@@ -703,7 +697,6 @@ gQ Switch to "Ex" mode like with "Q", but really behave
like typing ":" commands after another. All command
line editing, completion etc. is available.
Use the ":vi" command |:visual| to exit "Ex" mode.
{not in Vi}
==============================================================================
7. The window contents *window-contents*
@@ -716,7 +709,6 @@ exceptions:
character.
- When inserting text in one window, other windows on the same text are not
updated until the insert is finished.
{Vi: The screen is not always updated on slow terminals}
Lines longer than the window width will wrap, unless the 'wrap' option is off
(see below). The 'linebreak' option can be set to wrap at a blank character.
@@ -762,7 +754,6 @@ If there is a single line that is too long to fit in the window, this is a
special situation. Vim will show only part of the line, around where the
cursor is. There are no special characters shown, so that you can edit all
parts of this line.
{Vi: gives an "internal error" on lines that do not fit in the window}
The '@' occasion in the 'highlight' option can be used to set special
highlighting for the '@' and '~' characters. This makes it possible to
@@ -777,7 +768,7 @@ that is not shown, the screen is scrolled horizontally. The advantage of
this method is that columns are shown as they are and lines that cannot fit
on the screen can be edited. The disadvantage is that you cannot see all the
characters of a line at once. The 'sidescroll' option can be set to the
minimal number of columns to scroll. {Vi: has no 'wrap' option}
minimal number of columns to scroll.
All normal ASCII characters are displayed directly on the screen. The <Tab>
is replaced with the number of spaces that it represents. Other non-printing
@@ -809,16 +800,14 @@ 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. {Vi: does
not show the characters you typed or the cursor position}
command characters are those that you typed but were not used yet.
If you have a slow terminal you can switch off the status messages to speed
up editing:
:set nosc noru nosm
If there is an error, an error message will be shown for at least one second
(in reverse video). {Vi: error messages may be overwritten with other
messages before you have a chance to read them}
(in reverse video).
Some commands show how many lines were affected. Above which threshold this
happens can be controlled with the 'report' option (default 2).
@@ -831,7 +820,7 @@ Make it at least 40 characters wide to be able to read most messages on the
last line.
On most Unix systems, resizing the window is recognized and handled correctly
by Vim. {Vi: not ok}
by Vim.
==============================================================================
8. Definitions *definitions*
+20 -26
View File
@@ -1,4 +1,4 @@
*map.txt* For Vim version 8.1. Last change: 2019 Apr 25
*map.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -76,7 +76,7 @@ modes.
Map the key sequence {lhs} to {rhs} for the modes
where the map command applies. Disallow mapping of
{rhs}, to avoid nested and recursive mappings. Often
used to redefine a command. {not in Vi}
used to redefine a command.
:unm[ap] {lhs} |mapmode-nvo| *:unm* *:unmap*
@@ -110,7 +110,7 @@ modes.
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
:tmapc[lear] |mapmode-t| *:tmapc* *:tmapclear*
Remove ALL mappings for the modes where the map
command applies. {not in Vi}
command applies.
Use the <buffer> argument to remove buffer-local
mappings |:map-<buffer>|
Warning: This also removes the default mappings.
@@ -143,7 +143,6 @@ modes.
:tma[p] {lhs} |mapmode-t| *:tmap_l*
List the key mappings for the key sequences starting
with {lhs} in the modes where the map command applies.
{not in Vi}
These commands are used to map a key or key sequence to a string of
characters. You can use this to put command sequences under function keys,
@@ -160,7 +159,6 @@ decide if "aa" or "aaa" should be mapped. This means that after typing "aa"
that mapping won't get expanded yet, Vim is waiting for another character.
If you type a space, then "foo" will get inserted, plus the space. If you
type "a", then "bar" will get inserted.
{Vi does not allow ambiguous mappings}
1.2 SPECIAL ARGUMENTS *:map-arguments*
@@ -1016,45 +1014,40 @@ See |:verbose-cmd| for more information.
*:norea* *:noreabbrev*
:norea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but no remapping for this {rhs} {not
in Vi}
Same as ":ab", but no remapping for this {rhs}.
*:ca* *:cabbrev*
:ca[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Command-line mode only. {not
in Vi}
Same as ":ab", but for Command-line mode only.
*:cuna* *:cunabbrev*
:cuna[bbrev] {lhs} same as ":una", but for Command-line mode only. {not
in Vi}
:cuna[bbrev] {lhs} Same as ":una", but for Command-line mode only.
*:cnorea* *:cnoreabbrev*
:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Command-line mode only and no
remapping for this {rhs} {not in Vi}
remapping for this {rhs}
*:ia* *:iabbrev*
:ia[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Insert mode only. {not in Vi}
Same as ":ab", but for Insert mode only.
*:iuna* *:iunabbrev*
:iuna[bbrev] {lhs} same as ":una", but for insert mode only. {not in
Vi}
:iuna[bbrev] {lhs} Same as ":una", but for insert mode only.
*:inorea* *:inoreabbrev*
:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Insert mode only and no
remapping for this {rhs} {not in Vi}
Same as ":ab", but for Insert mode only and no
remapping for this {rhs}.
*:abc* *:abclear*
:abc[lear] [<buffer>] Remove all abbreviations. {not in Vi}
:abc[lear] [<buffer>] Remove all abbreviations.
*:iabc* *:iabclear*
:iabc[lear] [<buffer>] Remove all abbreviations for Insert mode. {not in Vi}
:iabc[lear] [<buffer>] Remove all abbreviations for Insert mode.
*:cabc* *:cabclear*
:cabc[lear] [<buffer>] Remove all abbreviations for Command-line mode. {not
in Vi}
:cabc[lear] [<buffer>] Remove all abbreviations for Command-line mode.
*using_CTRL-V*
It is possible to use special characters in the rhs of an abbreviation.
@@ -1147,8 +1140,7 @@ to find out what they are defined to.
The |:scriptnames| command can be used to see which scripts have been sourced
and what their <SNR> number is.
This is all {not in Vi} and {not available when compiled without the |+eval|
feature}.
This is all {not available when compiled without the |+eval| feature}.
==============================================================================
4. User-defined commands *user-commands*
@@ -1391,7 +1383,7 @@ Possible attributes are:
number.
-count=N A count (default N) which is specified either in the line
number position, or as an initial argument (like |:Next|).
Specifying -count (without a default) acts like -count=0
-count acts like -count=0
Note that -range=N and -count=N are mutually exclusive - only one should be
specified.
@@ -1402,14 +1394,16 @@ by default correspond to the current line, last line and the whole buffer,
relate to arguments, (loaded) buffers, windows or tab pages.
Possible values are (second column is the short name used in listing):
-addr=lines Range of lines (this is the default)
-addr=lines Range of lines (this is the default for -range)
-addr=arguments arg Range for arguments
-addr=buffers buf Range for buffers (also not loaded buffers)
-addr=loaded_buffers load Range for loaded buffers
-addr=windows win Range for windows
-addr=tabs tab Range for tab pages
-addr=quickfix qf Range for quickfix entries
-addr=other ? other kind of range
-addr=other ? other kind of range; can use ".", "$" and "%"
as with "lines" (this is the default for
-count)
Special cases ~
+1 -1
View File
@@ -1,4 +1,4 @@
*mbyte.txt* For Vim version 8.1. Last change: 2018 Jan 21
*mbyte.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar et al.
+7 -10
View File
@@ -1,4 +1,4 @@
*message.txt* For Vim version 8.1. Last change: 2019 Apr 04
*message.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -798,7 +798,6 @@ and the screen is about to be redrawn:
like pressing <Space>. This makes it impossible to select text though.
-> For the GUI clicking the left mouse button in the last line works like
pressing <Space>.
{Vi: only ":" commands are interpreted}
If you accidentally hit <Enter> or <Space> and you want to see the displayed
text then use |g<|. This only works when 'more' is set.
@@ -830,10 +829,10 @@ Type effect ~
G down all the way, until the hit-enter
prompt
<BS> or k or <Up> one line back (*)
u up a page (half a screen) (*)
b or <PageUp> back a screen (*)
g back to the start (*)
<BS> or k or <Up> one line back
u up a page (half a screen)
b or <PageUp> back a screen
g back to the start
q, <Esc> or CTRL-C stop the listing
: stop the listing and enter a
@@ -842,13 +841,11 @@ Type effect ~
the clipboard ("* and "+ registers)
{menu-entry} what the menu is defined to in
Cmdline-mode.
<LeftMouse> (**) next page
<LeftMouse> next page (*)
Any other key causes the meaning of the keys to be displayed.
(*) backwards scrolling is {not in Vi}. Only scrolls back to where messages
started to scroll.
(**) Clicking the left mouse button only works:
(*) Clicking the left mouse button only works:
- For the GUI: in the last line of the screen.
- When 'r' is included in 'mouse' (but then selecting text won't work).
+1 -2
View File
@@ -1,4 +1,4 @@
*mlang.txt* For Vim version 8.1. Last change: 2018 May 06
*mlang.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -17,7 +17,6 @@ The basics are explained in the user manual: |usr_45.txt|.
Also see |help-translated| for multi-language help.
{Vi does not have any of these features}
{not available when compiled without the |+multi_lang| feature}
==============================================================================
+44 -62
View File
@@ -1,4 +1,4 @@
*motion.txt* For Vim version 8.1. Last change: 2019 Mar 02
*motion.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -185,7 +185,7 @@ l or *l*
TEXT column (if possible). Most other commands stay
in the same SCREEN column. <Home> works like "1|",
which differs from "0" when the line starts with a
<Tab>. {not in Vi}
<Tab>.
*^*
^ To the first non-blank character of the line.
@@ -202,7 +202,7 @@ $ or <End> To the end of the line. When a count is given also go
*g_*
g_ To the last non-blank character of the line and
[count - 1] lines downward |inclusive|. {not in Vi}
[count - 1] lines downward |inclusive|.
*g0* *g<Home>*
g0 or g<Home> When lines wrap ('wrap' on): To the first character of
@@ -211,7 +211,7 @@ g0 or g<Home> When lines wrap ('wrap' on): To the first character of
When lines don't wrap ('wrap' off): To the leftmost
character of the current line that is on the screen.
Differs from "0" when the first character of the line
is not on the screen. {not in Vi}
is not on the screen.
*g^*
g^ When lines wrap ('wrap' on): To the first non-blank
@@ -220,12 +220,11 @@ g^ When lines wrap ('wrap' on): To the first non-blank
When lines don't wrap ('wrap' off): To the leftmost
non-blank character of the current line that is on the
screen. Differs from "^" when the first non-blank
character of the line is not on the screen. {not in
Vi}
character of the line is not on the screen.
*gm*
gm Like "g0", but half a screenwidth to the right (or as
much as possible). {not in Vi}
much as possible).
*g$* *g<End>*
g$ or g<End> When lines wrap ('wrap' on): To the last character of
@@ -240,7 +239,6 @@ g$ or g<End> When lines wrap ('wrap' on): To the last character of
instead of going to the end of the line.
When 'virtualedit' is enabled moves to the end of the
screen line.
{not in Vi}
*bar*
| To screen column [count] in the current line.
@@ -296,12 +294,12 @@ CTRL-N [count] lines downward |linewise|.
gk or *gk* *g<Up>*
g<Up> [count] display lines upward. |exclusive| motion.
Differs from 'k' when lines wrap, and when used with
an operator, because it's not linewise. {not in Vi}
an operator, because it's not linewise.
gj or *gj* *g<Down>*
g<Down> [count] display lines downward. |exclusive| motion.
Differs from 'j' when lines wrap, and when used with
an operator, because it's not linewise. {not in Vi}
an operator, because it's not linewise.
*-*
- <minus> [count] lines upward, on the first non-blank
@@ -324,7 +322,7 @@ G Goto line [count], default last line, on the first
*<C-End>*
<C-End> Goto line [count], default last line, on the last
character |inclusive|. {not in Vi}
character |inclusive|.
<C-Home> or *gg* *<C-Home>*
gg Goto line [count], default first line, on the first
@@ -342,7 +340,7 @@ gg Goto line [count], default first line, on the first
non-blank in the line |linewise|. To compute the new
line number this formula is used:
({count} * number-of-lines + 99) / 100
See also 'startofline' option. {not in Vi}
See also 'startofline' option.
:[range]go[to] [count] *:go* *:goto* *go*
[count]go Go to [count] byte in the buffer. Default [count] is
@@ -352,7 +350,6 @@ gg Goto line [count], default first line, on the first
'fileformat' setting.
Also see the |line2byte()| function, and the 'o'
option in 'statusline'.
{not in Vi}
{not available when compiled without the
|+byte_offset| feature}
@@ -412,9 +409,7 @@ WORD before the fold.
Special case: "cw" and "cW" are treated like "ce" and "cE" if the cursor is
on a non-blank. This is because "cw" is interpreted as change-word, and a
word does not include the following white space. {Vi: "cw" when on a blank
followed by other blanks changes only the first blank; this is probably a
bug, because "dw" deletes all the blanks}
word does not include the following white space.
Another special case: When using the "w" motion in combination with an
operator and the last word moved over is at the end of a line, the end of
@@ -516,7 +511,6 @@ including white space, the commands starting with "i" select an "inner" object
without white space, or just the white space. Thus the "inner" commands
always select less text than the "a" commands.
These commands are {not in Vi}.
These commands are not available when the |+textobjects| feature has been
disabled at compile time.
Also see `gn` and `gN`, operating on the last search pattern.
@@ -780,7 +774,7 @@ m< or m> Set the |'<| or |'>| mark. Useful to change what the
*'A* *'0* *`A* *`0*
'{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the file where it was set (not
a motion command when in another file). {not in Vi}
a motion command when in another file).
*g'* *g'a* *g`* *g`a*
g'{mark} g`{mark}
@@ -790,18 +784,17 @@ g'{mark} g`{mark}
< jumps to the last known position in a file. See
$VIMRUNTIME/vimrc_example.vim.
Also see |:keepjumps|.
{not in Vi}
*:marks*
:marks List all the current marks (not a motion command).
The |'(|, |')|, |'{| and |'}| marks are not listed.
The first column has number zero.
{not in Vi}
*E283*
:marks {arg} List the marks that are mentioned in {arg} (not a
motion command). For example: >
:marks aB
< to list marks 'a' and 'B'. {not in Vi}
< to list marks 'a' and 'B'.
*:delm* *:delmarks*
:delm[arks] {marks} Delete the specified marks. Marks that can be deleted
@@ -815,11 +808,9 @@ g'{mark} g`{mark}
:delmarks p-z deletes marks in the range p to z
:delmarks ^.[] deletes marks ^ . [ ]
:delmarks \" deletes mark "
< {not in Vi}
:delm[arks]! Delete all marks for the current buffer, but not marks
A-Z or 0-9.
{not in Vi}
A mark is not visible in any way. It is just a position in the file that is
remembered. Do not confuse marks with named registers, they are totally
@@ -838,12 +829,12 @@ deletes the lines from the cursor position to mark 't'. Hint: Use mark 't' for
Top, 'b' for Bottom, etc.. Lowercase marks are restored when using undo and
redo.
Uppercase marks 'A to 'Z include the file name. {Vi: no uppercase marks} You
can use them to jump from file to file. You can only use an uppercase mark
with an operator if the mark is in the current file. The line number of the
mark remains correct, even if you insert/delete lines or edit another file for
a moment. When the 'viminfo' option is not empty, uppercase marks are kept in
the .viminfo file. See |viminfo-file-marks|.
Uppercase marks 'A to 'Z include the file name. You can use them to jump from
file to file. You can only use an uppercase mark with an operator if the mark
is in the current file. The line number of the mark remains correct, even if
you insert/delete lines or edit another file for a moment. When the 'viminfo'
option is not empty, uppercase marks are kept in the .viminfo file. See
|viminfo-file-marks|.
Numbered marks '0 to '9 are quite different. They can not be set directly.
They are only present when using a viminfo file |viminfo-file|. Basically '0
@@ -854,11 +845,11 @@ Numbered mark should be stored. See |viminfo-file-marks|.
*'[* *`[*
'[ `[ To the first character of the previously changed
or yanked text. {not in Vi}
or yanked text.
*']* *`]*
'] `] To the last character of the previously changed or
yanked text. {not in Vi}
yanked text.
After executing an operator the Cursor is put at the beginning of the text
that was operated upon. After a put command ("p" or "P") the cursor is
@@ -876,7 +867,7 @@ was made yet in the current file.
'< `< To the first line or character of the last selected
Visual area in the current buffer. For block mode it
may also be the last character in the first line (to
be able to define the block). {not in Vi}.
be able to define the block).
*'>* *`>*
'> `> To the last line or character of the last selected
@@ -884,7 +875,7 @@ was made yet in the current file.
may also be the first character of the last line (to
be able to define the block). Note that 'selection'
applies, the position may be just after the Visual
area. {not in Vi}.
area.
*''* *``*
'' `` To the position before the latest jump, or where the
@@ -900,13 +891,12 @@ was made yet in the current file.
Only one position is remembered per buffer, not one
for each window. As long as the buffer is visible in
a window the position won't be changed.
{not in Vi}.
*'^* *`^*
'^ `^ To the position where the cursor was the last time
when Insert mode was stopped. This is used by the
|gi| command. Not set when the |:keepjumps| command
modifier was used. {not in Vi}
modifier was used.
*'.* *`.*
'. `. To the position where the last change was made. The
@@ -916,30 +906,29 @@ was made yet in the current file.
command changed. For example when inserting a word,
the position will be on the last character.
To jump to older changes use |g;|.
{not in Vi}
*'(* *`(*
'( `( To the start of the current sentence, like the |(|
command. {not in Vi}
command.
*')* *`)*
') `) To the end of the current sentence, like the |)|
command. {not in Vi}
command.
*'{* *`{*
'{ `{ To the start of the current paragraph, like the |{|
command. {not in Vi}
command.
*'}* *`}*
'} `} To the end of the current paragraph, like the |}|
command. {not in Vi}
command.
These commands are not marks themselves, but jump to a mark:
*]'*
]' [count] times to next line with a lowercase mark below
the cursor, on the first non-blank character in the
line. {not in Vi}
line.
*]`*
]` [count] times to lowercase mark after the cursor. {not
@@ -948,11 +937,10 @@ These commands are not marks themselves, but jump to a mark:
*['*
[' [count] times to previous line with a lowercase mark
before the cursor, on the first non-blank character in
the line. {not in Vi}
the line.
*[`*
[` [count] times to lowercase mark before the cursor.
{not in Vi}
:loc[kmarks] {command} *:loc* *:lockmarks*
@@ -1030,23 +1018,19 @@ commands that start editing a new file.
*CTRL-O*
CTRL-O Go to [count] Older cursor position in jump list
(not a motion command).
{not in Vi}
{not available without the |+jumplist| feature}
<Tab> or *CTRL-I* *<Tab>*
CTRL-I Go to [count] newer cursor position in jump list
(not a motion command).
{not in Vi}
{not available without the |+jumplist| feature}
*:ju* *:jumps*
:ju[mps] Print the jump list (not a motion command).
{not in Vi}
{not available without the |+jumplist| feature}
*:cle* *:clearjumps*
:cle[arjumps] Clear the jump list of the current window.
{not in Vi}
{not available without the |+jumplist| feature}
*jumplist*
@@ -1131,14 +1115,12 @@ g; Go to [count] older position in change list.
positions go to the oldest change.
If there is no older change an error message is given.
(not a motion command)
{not in Vi}
{not available without the |+jumplist| feature}
*g,* *E663*
g, Go to [count] newer cursor position in change list.
Just like |g;| but in the opposite direction.
(not a motion command)
{not in Vi}
{not available without the |+jumplist| feature}
When using a count you jump as far back or forward as possible. Thus you can
@@ -1229,19 +1211,19 @@ remembered.
*[(*
[( go to [count] previous unmatched '('.
|exclusive| motion. {not in Vi}
|exclusive| motion.
*[{*
[{ go to [count] previous unmatched '{'.
|exclusive| motion. {not in Vi}
|exclusive| motion.
*])*
]) go to [count] next unmatched ')'.
|exclusive| motion. {not in Vi}
|exclusive| motion.
*]}*
]} go to [count] next unmatched '}'.
|exclusive| motion. {not in Vi}
|exclusive| motion.
The above four commands can be used to go to the start or end of the current
code block. It is like doing "%" on the '(', ')', '{' or '}' at the other
@@ -1254,25 +1236,25 @@ bring you back to the switch statement.
similar structured language). When not before the
start of a method, jump to the start or end of the
class. When no '{' is found after the cursor, this is
an error. |exclusive| motion. {not in Vi}
an error. |exclusive| motion.
*]M*
]M Go to [count] next end of a method (for Java or
similar structured language). When not before the end
of a method, jump to the start or end of the class.
When no '}' is found after the cursor, this is an
error. |exclusive| motion. {not in Vi}
error. |exclusive| motion.
*[m*
[m Go to [count] previous start of a method (for Java or
similar structured language). When not after the
start of a method, jump to the start or end of the
class. When no '{' is found before the cursor this is
an error. |exclusive| motion. {not in Vi}
an error. |exclusive| motion.
*[M*
[M Go to [count] previous end of a method (for Java or
similar structured language). When not after the
end of a method, jump to the start or end of the
class. When no '}' is found before the cursor this is
an error. |exclusive| motion. {not in Vi}
an error. |exclusive| motion.
The above two commands assume that the file contains a class with methods.
The class definition is surrounded in '{' and '}'. Each method in the class
@@ -1295,11 +1277,11 @@ Using "3[m" will jump to the start of the class.
*[#*
[# go to [count] previous unmatched "#if" or "#else".
|exclusive| motion. {not in Vi}
|exclusive| motion.
*]#*
]# go to [count] next unmatched "#else" or "#endif".
|exclusive| motion. {not in Vi}
|exclusive| motion.
These two commands work in C programs that contain #if/#else/#endif
constructs. It brings you to the start or end of the #if/#else/#endif where
@@ -1307,11 +1289,11 @@ the current line is included. You can then use "%" to go to the matching line.
*[star* *[/*
[* or [/ go to [count] previous start of a C comment "/*".
|exclusive| motion. {not in Vi}
|exclusive| motion.
*]star* *]/*
]* or ]/ go to [count] next end of a C comment "*/".
|exclusive| motion. {not in Vi}
|exclusive| motion.
*H*
@@ -1339,6 +1321,6 @@ L To line [count] from bottom of window (default: Last
<LeftMouse> Moves to the position on the screen where the mouse
click is |exclusive|. See also |<LeftMouse>|. If the
position is in a status line, that window is made the
active window and the cursor is not moved. {not in Vi}
active window and the cursor is not moved.
vim:tw=78:ts=8:noet:ft=help:norl:
+1 -2
View File
@@ -1,4 +1,4 @@
*netbeans.txt* For Vim version 8.1. Last change: 2019 Jan 17
*netbeans.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Gordon Prieur et al.
@@ -24,7 +24,6 @@ Vim NetBeans Protocol: a socket interface for Vim integration into an IDE.
10.4. Obtaining the External Editor Module |obtaining-exted|
10.5. Setting up NetBeans to run with Vim |netbeans-setup|
{Vi does not have any of these features}
{only available when compiled with the |+netbeans_intg| feature}
==============================================================================
+12 -20
View File
@@ -1,4 +1,4 @@
*options.txt* For Vim version 8.1. Last change: 2019 Apr 28
*options.txt* For Vim version 8.1. Last change: 2019 May 08
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -800,9 +800,6 @@ A jump table for the options with a short description can be found at |Q_op|.
a different way.
The 'autoindent' option is reset when the 'paste' option is set and
restored when 'paste' is reset.
{small difference from Vi: After the indent is deleted when typing
<Esc> or <CR>, the cursor position when moving up or down is after the
deleted indent; Vi puts the cursor somewhere in the deleted indent}.
*'autoread'* *'ar'* *'noautoread'* *'noar'*
'autoread' 'ar' boolean (default off)
@@ -1126,7 +1123,8 @@ A jump table for the options with a short description can be found at |Q_op|.
{only available when compiled with the |+balloon_eval|
feature}
Expression for text to show in evaluation balloon. It is only used
when 'ballooneval' is on. These variables can be used:
when 'ballooneval' or 'balloonevalterm' is on. These variables can be
used:
v:beval_bufnr number of the buffer in which balloon is going to show
v:beval_winnr number of the window
@@ -1137,7 +1135,7 @@ A jump table for the options with a short description can be found at |Q_op|.
The evaluation of the expression must not have side effects!
Example: >
function! MyBalloonExpr()
function MyBalloonExpr()
return 'Cursor is at line ' . v:beval_lnum .
\', column ' . v:beval_col .
\ ' of file ' . bufname(v:beval_bufnr) .
@@ -2700,7 +2698,6 @@ A jump table for the options with a short description can be found at |Q_op|.
uses another default.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
{Vi: directory to put temp file in, defaults to "/tmp"}
*'display'* *'dy'*
'display' 'dy' string (default "", set to "truncate" in
@@ -4818,7 +4815,6 @@ A jump table for the options with a short description can be found at |Q_op|.
"=" operator to use this same indentation algorithm rather than
calling an external program if 'equalprg' is empty.
This option is not used when 'paste' is set.
{Vi: Does it a little bit differently}
*'lispwords'* *'lw'*
'lispwords' 'lw' string (default is very long)
@@ -6312,9 +6308,7 @@ A jump table for the options with a short description can be found at |Q_op|.
set to half the number of lines in the window when the window size
changes. If you give a count to the CTRL-U or CTRL-D command it will
be used as the new value for 'scroll'. Reset to half the window
height with ":set scroll=0". {Vi is a bit different: 'scroll' gives
the number of screen lines instead of file lines, makes a difference
when lines wrap}
height with ":set scroll=0".
*'scrollbind'* *'scb'* *'noscrollbind'* *'noscb'*
'scrollbind' 'scb' boolean (default off)
@@ -6736,7 +6730,8 @@ A jump table for the options with a short description can be found at |Q_op|.
O message for reading a file overwrites any previous message.
Also for quickfix message (e.g., ":cn").
s don't give "search hit BOTTOM, continuing at TOP" or "search
hit TOP, continuing at BOTTOM" messages
hit TOP, continuing at BOTTOM" messages; when using the search
count do not show "W" after the count message (see S below)
t truncate file message at the start if it is too long to fit
on the command-line, "<" will appear in the left most column.
Ignored in Ex mode.
@@ -7594,7 +7589,6 @@ A jump table for the options with a short description can be found at |Q_op|.
must be included in the tags file.
This option doesn't affect commands that find all matching tags (e.g.,
command-line completion and ":help").
{Vi: always uses binary search in some versions}
*'tagcase'* *'tc'*
'tagcase' 'tc' string (default "followic")
@@ -7658,7 +7652,6 @@ A jump table for the options with a short description can be found at |Q_op|.
The use of |:set+=| and |:set-=| is preferred when adding or removing
file names from the list. This avoids problems when a future version
uses another default.
{Vi: default is "tags /usr/lib/tags"}
*'tagstack'* *'tgst'* *'notagstack'* *'notgst'*
'tagstack' 'tgst' boolean (default on)
@@ -7939,7 +7932,7 @@ A jump table for the options with a short description can be found at |Q_op|.
*'timeoutlen'* *'tm'*
'timeoutlen' 'tm' number (default 1000)
global
{not in all versions of Vi}
*'ttimeoutlen'* *'ttm'*
'ttimeoutlen' 'ttm' number (default -1, set to 100 in |defaults.vim|)
global
@@ -8153,9 +8146,10 @@ A jump table for the options with a short description can be found at |Q_op|.
work. See below for how Vim detects this
automatically.
*netterm-mouse*
netterm NetTerm mouse handling. The mouse generates
netterm NetTerm mouse handling. A left mouse click generates
"<Esc>}r,c<CR>", where "r,c" are two decimal numbers
for the row and column.
for the row and column. No other mouse events are
supported.
*dec-mouse*
dec DEC terminal mouse handling. The mouse generates a
rather complex sequence, starting with "<Esc>[".
@@ -8816,7 +8810,6 @@ A jump table for the options with a short description can be found at |Q_op|.
in a much smarter way, taking care of wrapping lines.
When resizing the Vim window, the value is smaller than 1 or more than
or equal to 'lines' it will be set to 'lines' minus 1.
{Vi also uses the option to specify the number of displayed lines}
*'winheight'* *'wh'* *E591*
'winheight' 'wh' number (default 1)
@@ -8948,8 +8941,7 @@ A jump table for the options with a short description can be found at |Q_op|.
When 'textwidth' is non-zero, this option is not used.
This option is set to 0 when 'paste' is set and restored when 'paste'
is reset.
See also 'formatoptions' and |ins-textwidth|. {Vi: works differently
and less usefully}
See also 'formatoptions' and |ins-textwidth|.
*'wrapscan'* *'ws'* *'nowrapscan'* *'nows'*
'wrapscan' 'ws' boolean (default on) *E384* *E385*
+1 -1
View File
@@ -1,4 +1,4 @@
*os_mac.txt* For Vim version 8.1. Last change: 2018 Jan 21
*os_mac.txt* For Vim version 8.1. Last change: 2019 Apr 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
+50 -57
View File
@@ -1,4 +1,4 @@
*pattern.txt* For Vim version 8.1. Last change: 2019 Feb 21
*pattern.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -78,24 +78,24 @@ N Repeat the latest "/" or "?" [count] times in
4. the first non-blank word after the cursor,
in the current line
Only whole keywords are searched for, like with the
command "/\<keyword\>". |exclusive| {not in Vi}
command "/\<keyword\>". |exclusive|
'ignorecase' is used, 'smartcase' is not.
*#*
# Same as "*", but search backward. The pound sign
(character 163) also works. If the "#" key works as
backspace, try using "stty erase <BS>" before starting
Vim (<BS> is CTRL-H or a real backspace). {not in Vi}
Vim (<BS> is CTRL-H or a real backspace).
*gstar*
g* Like "*", but don't put "\<" and "\>" around the word.
This makes the search also find matches that are not a
whole word. {not in Vi}
whole word.
*g#*
g# Like "#", but don't put "\<" and "\>" around the word.
This makes the search also find matches that are not a
whole word. {not in Vi}
whole word.
*gd*
gd Goto local Declaration. When the cursor is on a local
@@ -113,22 +113,21 @@ gd Goto local Declaration. When the cursor is on a local
searched use the commands listed in |include-search|.
After this command |n| searches forward for the next
match (not backward).
{not in Vi}
*gD*
gD Goto global Declaration. When the cursor is on a
global variable that is defined in the file, this
command will jump to its declaration. This works just
like "gd", except that the search for the keyword
always starts in line 1. {not in Vi}
always starts in line 1.
*1gd*
1gd Like "gd", but ignore matches inside a {} block that
ends before the cursor position. {not in Vi}
ends before the cursor position.
*1gD*
1gD Like "gD", but ignore matches inside a {} block that
ends before the cursor position. {not in Vi}
ends before the cursor position.
*CTRL-C*
CTRL-C Interrupt current (search) command. Use CTRL-Break on
@@ -171,7 +170,7 @@ error message |:s_flags|.
*search-offset* *{offset}*
These commands search for the specified pattern. With "/" and "?" an
additional offset may be given. There are two types of offsets: line offsets
and character offsets. {the character offsets are not in Vi}
and character offsets.
The offset gives the cursor position relative to the found match:
[num] [num] lines downwards, in column 1
@@ -447,30 +446,28 @@ More explanation and examples below, follow the links. *E64* *E871*
multi ~
'magic' 'nomagic' matches of the preceding atom ~
|/star| * \* 0 or more as many as possible
|/\+| \+ \+ 1 or more as many as possible (*)
|/\=| \= \= 0 or 1 as many as possible (*)
|/\?| \? \? 0 or 1 as many as possible (*)
|/\+| \+ \+ 1 or more as many as possible
|/\=| \= \= 0 or 1 as many as possible
|/\?| \? \? 0 or 1 as many as possible
|/\{| \{n,m} \{n,m} n to m as many as possible (*)
\{n} \{n} n exactly (*)
\{n,} \{n,} at least n as many as possible (*)
\{,m} \{,m} 0 to m as many as possible (*)
\{} \{} 0 or more as many as possible (same as *) (*)
|/\{| \{n,m} \{n,m} n to m as many as possible
\{n} \{n} n exactly
\{n,} \{n,} at least n as many as possible
\{,m} \{,m} 0 to m as many as possible
\{} \{} 0 or more as many as possible (same as *)
|/\{-| \{-n,m} \{-n,m} n to m as few as possible (*)
\{-n} \{-n} n exactly (*)
\{-n,} \{-n,} at least n as few as possible (*)
\{-,m} \{-,m} 0 to m as few as possible (*)
\{-} \{-} 0 or more as few as possible (*)
|/\{-| \{-n,m} \{-n,m} n to m as few as possible
\{-n} \{-n} n exactly
\{-n,} \{-n,} at least n as few as possible
\{-,m} \{-,m} 0 to m as few as possible
\{-} \{-} 0 or more as few as possible
*E59*
|/\@>| \@> \@> 1, like matching a whole pattern (*)
|/\@=| \@= \@= nothing, requires a match |/zero-width| (*)
|/\@!| \@! \@! nothing, requires NO match |/zero-width| (*)
|/\@<=| \@<= \@<= nothing, requires a match behind |/zero-width| (*)
|/\@<!| \@<! \@<! nothing, requires NO match behind |/zero-width| (*)
(*) {not in Vi}
|/\@>| \@> \@> 1, like matching a whole pattern
|/\@=| \@= \@= nothing, requires a match |/zero-width|
|/\@!| \@! \@! nothing, requires NO match |/zero-width|
|/\@<=| \@<= \@<= nothing, requires a match behind |/zero-width|
|/\@<!| \@<! \@<! nothing, requires NO match behind |/zero-width|
Overview of ordinary atoms. */ordinary-atom*
@@ -499,7 +496,7 @@ More explanation and examples below, follow the links.
|/\%c| \%23c \%23c in column 23 |/zero-width|
|/\%v| \%23v \%23v in virtual column 23 |/zero-width|
Character classes {not in Vi}: */character-classes*
Character classes: */character-classes*
magic nomagic matches ~
|/\i| \i \i identifier character (see 'isident' option)
|/\I| \I \I like "\i", but excluding digits
@@ -538,7 +535,7 @@ Character classes {not in Vi}: */character-classes*
|/\b| \b \b <BS>
|/\n| \n \n end-of-line
|/~| ~ \~ last given substitute string
|/\1| \1 \1 same string as matched by first \(\) {not in Vi}
|/\1| \1 \1 same string as matched by first \(\)
|/\2| \2 \2 Like "\1", but uses second \(\)
...
|/\9| \9 \9 Like "\1", but uses ninth \(\)
@@ -616,20 +613,19 @@ overview.
character at a time.
*/\+*
\+ Matches 1 or more of the preceding atom, as many as possible. {not in
Vi}
\+ Matches 1 or more of the preceding atom, as many as possible.
Example matches ~
^.\+$ any non-empty line
\s\+ white space of at least one character
*/\=*
\= Matches 0 or 1 of the preceding atom, as many as possible. {not in Vi}
\= Matches 0 or 1 of the preceding atom, as many as possible.
Example matches ~
foo\= "fo" and "foo"
*/\?*
\? Just like \=. Cannot be used when searching backwards with the "?"
command. {not in Vi}
command.
*/\{* *E60* *E554* *E870*
\{n,m} Matches n to m of the preceding atom, as many as possible
@@ -643,7 +639,6 @@ overview.
\{-n,} matches at least n of the preceding atom, as few as possible
\{-,m} matches 0 to m of the preceding atom, as few as possible
\{-} matches 0 or more of the preceding atom, as few as possible
{Vi does not have any of these}
n and m are positive decimal numbers or zero
*non-greedy*
@@ -666,7 +661,7 @@ overview.
The } may optionally be preceded with a backslash: \{n,m\}.
*/\@=*
\@= Matches the preceding atom with zero width. {not in Vi}
\@= Matches the preceding atom with zero width.
Like "(?=pattern)" in Perl.
Example matches ~
foo\(bar\)\@= "foo" in "foobar"
@@ -686,7 +681,7 @@ overview.
*/\@!*
\@! Matches with zero width if the preceding atom does NOT match at the
current position. |/zero-width| {not in Vi}
current position. |/zero-width|
Like "(?!pattern)" in Perl.
Example matches ~
foo\(bar\)\@! any "foo" not followed by "bar"
@@ -716,7 +711,7 @@ overview.
*/\@<=*
\@<= Matches with zero width if the preceding atom matches just before what
follows. |/zero-width| {not in Vi}
follows. |/zero-width|
Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
Example matches ~
\(an\_s\+\)\@<=file "file" after "an" and white space or an
@@ -760,7 +755,7 @@ overview.
\@<! Matches with zero width if the preceding atom does NOT match just
before what follows. Thus this matches if there is no position in the
current or previous line where the atom matches such that it ends just
before what follows. |/zero-width| {not in Vi}
before what follows. |/zero-width|
Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
The match with the preceding atom is made to end just before the match
with what follows, thus an atom that ends in ".*" will work.
@@ -776,7 +771,7 @@ overview.
slow.
*/\@>*
\@> Matches the preceding atom like matching a whole pattern. {not in Vi}
\@> Matches the preceding atom like matching a whole pattern.
Like "(?>pattern)" in Perl.
Example matches ~
\(a*\)\@>a nothing (the "a*" takes all the "a"'s, there can't be
@@ -855,7 +850,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
/\(.\{-}\zsFab\)\{3}
< Finds the third occurrence of "Fab".
This cannot be followed by a multi. *E888*
{not in Vi} {not available when compiled without the |+syntax| feature}
{not available when compiled without the |+syntax| feature}
*/\ze*
\ze Matches at any position, and sets the end of the match there: The
previous char is the last char of the whole match. |/zero-width|
@@ -864,17 +859,17 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
"endfor".
This cannot be followed by a multi. |E888|
{not in Vi} {not available when compiled without the |+syntax| feature}
{not available when compiled without the |+syntax| feature}
*/\%^* *start-of-file*
\%^ Matches start of the file. When matching with a string, matches the
start of the string. {not in Vi}
start of the string.
For example, to find the first "VIM" in a file: >
/\%^\_.\{-}\zsVIM
<
*/\%$* *end-of-file*
\%$ Matches end of the file. When matching with a string, matches the
end of the string. {not in Vi}
end of the string.
Note that this does NOT find the last "VIM" in a file: >
/VIM\_.\{-}\%$
< It will find the next VIM, because the part after it will always
@@ -898,7 +893,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
*/\%#* *cursor-position*
\%# Matches with the cursor position. Only works when matching in a
buffer displayed in a window. {not in Vi}
buffer displayed in a window.
WARNING: When the cursor is moved after the pattern was used, the
result becomes invalid. Vim doesn't automatically update the matches.
This is especially relevant for syntax highlighting and 'hlsearch'.
@@ -919,7 +914,6 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
< Note that two dots are required to include mark 'e in the match. That
is because "\%<'e" matches at the character before the 'e mark, and
since it's a |/zero-width| match it doesn't include that character.
{not in Vi}
WARNING: When the mark is moved after the pattern was used, the result
becomes invalid. Vim doesn't automatically update the matches.
Similar to moving the cursor for "\%#" |/\%#|.
@@ -929,7 +923,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
\%<23l Matches above a specific line (lower line number).
\%>23l Matches below a specific line (higher line number).
These three can be used to match specific lines in a buffer. The "23"
can be any line number. The first line is 1. {not in Vi}
can be any line number. The first line is 1.
WARNING: When inserting or deleting lines Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
wrong.
@@ -945,7 +939,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
These three can be used to match specific columns in a buffer or
string. The "23" can be any column number. The first column is 1.
Actually, the column is the byte number (thus it's not exactly right
for multi-byte characters). {not in Vi}
for multi-byte characters).
WARNING: When inserting or deleting text Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
wrong.
@@ -967,7 +961,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
The "23" can be any column number. The first column is 1.
Note that some virtual column positions will never match, because they
are halfway through a tab or other character that occupies more than
one screen character. {not in Vi}
one screen character.
WARNING: When inserting or deleting text Vim does not automatically
update highlighted matches. This means Syntax highlighting quickly
becomes wrong.
@@ -990,7 +984,7 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
where ".*" matches zero characters.
<
Character classes: {not in Vi}
Character classes:
\i identifier character (see 'isident' option) */\i*
\I like "\i", but excluding digits */\I*
\k keyword character (see 'iskeyword' option) */\k*
@@ -1050,7 +1044,7 @@ match ASCII characters, as indicated by the range.
*E51* *E54* *E55* *E872* *E873*
\1 Matches the same string that was matched by */\1* *E65*
the first sub-expression in \( and \). {not in Vi}
the first sub-expression in \( and \).
Example: "\([a-z]\).\1" matches "ata", "ehe", "tot", etc.
\2 Like "\1", but uses second sub-expression, */\2*
... */\3*
@@ -1062,7 +1056,6 @@ match ASCII characters, as indicated by the range.
\%(\) A pattern enclosed by escaped parentheses. */\%(\)* */\%(* *E53*
Just like \(\), but without counting it as a sub-expression. This
allows using more groups and it's a little bit faster.
{not in Vi}
x A single character, with no special meaning, matches itself
@@ -1163,7 +1156,7 @@ x A single character, with no special meaning, matches itself
backslash before it: "[xyz\]]", "[\^xyz]", "[xy\-z]" and "[xyz\\]".
(Note: POSIX does not support the use of a backslash this way). For
']' you can also make it the first character (following a possible
"^"): "[]xyz]" or "[^]xyz]" {not in Vi}.
"^"): "[]xyz]" or "[^]xyz]".
For '-' you can also make it the first or last character: "[-xyz]",
"[^-xyz]" or "[xyz-]". For '\' you can also let it be followed by
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
@@ -1172,7 +1165,7 @@ x A single character, with no special meaning, matches itself
- Omitting the trailing ] is not considered an error. "[]" works like
"[]]", it matches the ']' character.
- The following translations are accepted when the 'l' flag is not
included in 'cpoptions' {not in Vi}:
included in 'cpoptions':
\e <Esc>
\t <Tab>
\r <CR> (NOT end-of-line!)
@@ -1253,7 +1246,7 @@ files. To match a <Nul> with a search pattern you can just enter CTRL-@ or
"CTRL-V 000". This is probably just what you expect. Internally the
character is replaced with a <NL> in the search pattern. What is unusual is
that typing CTRL-V CTRL-J also inserts a <NL>, thus also searches for a <Nul>
in the file. {Vi cannot handle <Nul> characters in the file at all}
in the file.
*CR-used-for-NL*
When 'fileformat' is "mac", <NL> characters in the file are stored as <CR>
+1 -3
View File
@@ -1,4 +1,4 @@
*pi_gzip.txt* For Vim version 8.1. Last change: 2016 Nov 06
*pi_gzip.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -13,8 +13,6 @@ This plugin is only available if 'compatible' is not set.
You can avoid loading this plugin by setting the "loaded_gzip" variable: >
:let loaded_gzip = 1
{Vi does not have any of this}
==============================================================================
1. Autocommands *gzip-autocmd*
+1 -3
View File
@@ -1,4 +1,4 @@
*pi_netrw.txt* For Vim version 8.1. Last change: 2017 Nov 03
*pi_netrw.txt* For Vim version 8.1. Last change: 2019 May 05
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
@@ -114,8 +114,6 @@ Copyright: Copyright (C) 2017 Charles E Campbell *netrw-copyright*
13. Todo..................................................|netrw-todo|
14. Credits...............................................|netrw-credits|
{Vi does not have any of this}
==============================================================================
2. Starting With Netrw *netrw-start* {{{1
+369
View File
@@ -0,0 +1,369 @@
*popup.txt* For Vim version 8.1. Last change: 2019 May 21
VIM REFERENCE MANUAL by Bram Moolenaar
Displaying text in floating window. *popup* *popup-window*
THIS IS UNDER DESIGN - ANYTHING MAY STILL CHANGE
1. Introduction |popup-intro|
2. Functions |popup-functions|
3. Examples |popup-examples|
{not available if the |+eval| feature was disabled at compile time}
{not able to use text properties if the |+textprop| feature was disabled at
compile time}
==============================================================================
1. Introduction *popup-intro*
We are talking about popup windows here, text that goes on top of the regular
windows and is under control of a plugin. You cannot edit the text in the
popup window like with regular windows.
A popup window can be used for such things as:
- briefly show a message without changing the command line
- prompt the user with a dialog
- display information while typing
- give extra information for auto-completion
The text in the popup window can be colored with |text-properties|. It is
also possible to use syntax highlighting.
A popup window has a window-ID like other windows, but behaves differently.
The size can be up to the whole Vim window and it overlaps other windows.
It contains a buffer, and that buffer is always associated with the popup
window. The window cannot be used in Normal, Visual or Insert mode, it does
not get keyboard focus. You can use functions like `setbufline()` to change
the text in the buffer. There are more differences from how this window and
buffer behave compared to regular windows and buffers, see |popup-buffer|.
If this is not what you are looking for, check out other popup functionality:
- popup menu, see |popup-menu|
- balloon, see |balloon-eval|
TODO:
Example how to use syntax highlighting of a code snippet.
Scrolling: When the screen scrolls up for output of an Ex command, what
happens with popups?
1. Stay where they are. Problem: listed text may go behind and can't be read.
2. Scroll with the page. What if they get updated? Either postpone, or take
the scroll offset into account.
Probably 2. is the best choice.
Positioning relative to the popup-menu to avoid overlapping with it; add a
function to get the position and size of the popup-menu.
IMPLEMENTATION:
- Put code in popupwin.c
- Use win_update() for displaying
- At first redraw all windows NOT_VALID when the popup moves or hides.
- At first always display the popup windows at the end of update_screen(),
lowest zindex first.
- Later make it more efficient and avoid flicker
- Use a separate list of windows, one for each tab and one global. Also put
"aucmd_win" in there.
- add optional {buf} command to execute(). Only works for a buffer that is
visible in a window in the current tab or in a popup window.
E.g. for execute('syntax enable', 'silent', bufnr)
==============================================================================
2. Functions *popup-functions*
THIS IS UNDER DESIGN - ANYTHING MAY STILL CHANGE
Proposal and discussion on issue #4063: https://github.com/vim/vim/issues/4063
[functions to be moved to eval.txt later, keep list of functions here]
popup_create({text}, {options}) *popup_create()*
Open a popup window showing {text}, which is either:
- a string
- a list of strings
- a list of text lines with text properties
{options} is a dictionary with many possible entries.
See |popup_create-usage| for details.
Returns a window-ID, which can be used with other popup
functions. Use `winbufnr()` to get the number of the buffer
in the window: >
let winid = popup_create('hello', {})
let bufnr = winbufnr(winid)
call setbufline(bufnr, 2, 'second line')
popup_dialog({text}, {options}) *popup_dialog()*
Just like |popup_create()| but with these default options: >
call popup_create({text}, {
\ 'pos': 'center',
\ 'zindex': 200,
\ 'border': [],
\})
< Use {options} to change the properties.
popup_notification({text}, {options}) *popup_notification()*
Show the {text} for 3 seconds at the top of the Vim window.
This works like: >
call popup_create({text}, {
\ 'line': 1,
\ 'col': 10,
\ 'time': 3000,
\ 'tab': -1,
\ 'zindex': 200,
\ 'highlight': 'WarningMsg',
\ 'border: [],
\ })
< Use {options} to change the properties.
popup_atcursor({text}, {options}) *popup_atcursor()*
Show the {text} above the cursor, and close it when the cursor
moves. This works like: >
call popup_create({text}, {
\ 'line': 'cursor-1',
\ 'col': 'cursor',
\ 'moved': 'WORD',
\ })
< Use {options} to change the properties.
popup_menu({text}, {options}) *popup_menu()*
Show the {text} near the cursor, handle selecting one of the
items with cursorkeys, and close it an item is selected with
Space or Enter. {text} should have multiple lines to make this
useful. This works like: >
call popup_create({text}, {
\ 'pos': 'center',
\ 'zindex': 200,
\ 'wrap': 0,
\ 'border': [],
\ 'filter': 'popup_filter_menu',
\ })
< Use {options} to change the properties. Should at least set
"callback" to a function that handles the selected item.
popup_show({id}) *popup_show()*
If {id} is a hidden popup, show it now.
popup_hide({id}) *popup_hide()*
If {id} is a displayed popup, hide it now. If the popup has a
filter it will not be invoked for so long as the popup is
hidden.
popup_move({id}, {options}) *popup_move()*
Move popup {id} to the position speficied with {options}.
{options} may contain the items from |popup_create()| that
specify the popup position: "line", "col", "pos", "maxheight",
"minheight", "maxwidth" and "minwidth".
popup_filter_menu({id}, {key}) *popup_filter_menu()*
Filter that can be used for a popup. It handles the cursor
keys to move the selected index in the popup. Space and Enter
can be used to select an item. Invokes the "callback" of the
popup menu with the index of the selected line as the second
argument.
popup_filter_yesno({id}, {key}) *popup_filter_yesno()*
Filter that can be used for a popup. It handles only the keys
'y', 'Y' and 'n' or 'N'. Invokes the "callback" of the
popup menu with the 1 for 'y' or 'Y' and zero for 'n' or 'N'
as the second argument. Pressing Esc and CTRL-C works like
pressing 'n'.
popup_setoptions({id}, {options}) *popup_setoptions()*
Override options in popup {id} with entries in {options}.
popup_getoptions({id}) *popup_getoptions()*
Return the {options} for popup {id}.
popup_close({id}) *popup_close()*
Close popup {id}.
*:popupclear* *:popupc*
:popupc[lear] Emergency solution to a misbehaving plugin: close all popup
windows.
POPUP BUFFER AND WINDOW *popup-buffer*
A new buffer is created to hold the text and text properties of the popup
window. The buffer is always associated with the popup window and
manipulation is restricted:
- the buffer has no name
- 'buftype' is "popup"
- 'swapfile' is off
- 'bufhidden' is "hide"
- 'buflisted' is off
TODO: more
The window does have a cursor position, but the cursor is not displayed.
Options can be set on the window with `setwinvar()`, e.g.: >
call setwinvar(winid, '&wrap', 0)
And options can be set on the buffer with `setbufvar()`, e.g.: >
call setbufvar(winbufnr(winid), '&filetype', 'java')
POPUP_CREATE() ARGUMENTS *popup_create-usage*
The first argument of |popup_create()| specifies the text to be displayed, and
optionally text properties. It is in one of three forms:
- a string
- a list of strings
- a list of dictionaries, where each dictionary has these entries:
text String with the text to display.
props A list of text properties. Optional.
Each entry is a dictionary, like the third argument of
|prop_add()|, but specifying the column in the
dictionary with a "col" entry, see below:
|popup-props|.
The second argument of |popup_create()| is a dictionary with options:
line screen line where to position the popup; can use
"cursor", "cursor+1" or "cursor-1" to use the line of
the cursor and add or subtract a number of lines;
default is "cursor-1".
col screen column where to position the popup; can use
"cursor" to use the column of the cursor, "cursor+99"
and "cursor-99" to add or subtract a number of
columns; default is "cursor"
pos "topleft", "topright", "botleft" or "botright":
defines what corner of the popup "line" and "col" are
used for. Default is "botleft". Alternatively
"center" can be used to position the popup somewhere
near the cursor.
flip when TRUE (the default) and the position is relative
to the cursor, flip to below or above the cursor to
avoid overlap with the |popupmenu-completion| or
another popup with a higher "zindex"
maxheight maximum height
minheight minimum height
maxwidth maximum width
minwidth minimum width
hidden when TRUE the popup exists but is not displayed; use
`popup_show()` to unhide it.
tab when -1: display the popup on all tabs; when 0 (the
default): display the popup on the current tab;
otherwise the number of the tab page the popup is
displayed on; when invalid the current tab is used
title text to be displayed above the first item in the
popup, on top of any border
wrap TRUE to make the lines wrap (default TRUE)
highlight highlight group name to use for the text, defines the
background and foreground color
border list with numbers, defining the border thickness
above/right/below/left of the popup; an empty list
uses a border of 1 all around
borderhighlight highlight group name to use for the border
borderchars list with characters, defining the character to use
for the top/right/bottom/left border; optionally
followed by the character to use for the
topright/botright/botleft/topleft corner; an empty
list can be used to show a double line all around
zindex priority for the popup, default 50
time time in milliseconds after which the popup will close;
when omitted |popup_close()| must be used.
moved "cell": close the popup if the cursor moved at least
one screen cell; "word" allows for moving within
|<cword>|, "WORD" allows for moving within |<cWORD>|,
a list with two numbers specifies the start and end
column
filter a callback that can filter typed characters, see
|popup-filter|
callback a callback to be used when the popup closes, e.g. when
using |popup_filter_menu()|, see |popup-callback|.
Depending on the "zindex" the popup goes under or above other popups. The
completion menu (|popup-menu|) has zindex 100. For messages that occur for a
short time the suggestion is to use zindex 1000.
By default text wraps, which causes a line in {lines} to occupy more than one
screen line. When "wrap" is FALSE then the text outside of the popup or
outside of the Vim window will not be displayed, thus truncated.
POPUP TEXT PROPERTIES *popup-props*
These are similar to the third argument of |prop_add()|, but not exactly the
same, since they only apply to one line.
col starting column, counted in bytes, use one for the
first column.
length length of text in bytes; can be zero
end_col column just after the text; not used when "length" is
present; when {col} and "end_col" are equal, this is a
zero-width text property
id user defined ID for the property; when omitted zero is
used
type name of the text property type, as added with
|prop_type_add()|
transparent do not show these characters, show the text under it;
if there is an border character to the right or below
it will be made transparent as well
POPUP FILTER *popup-filter*
A callback that gets any typed keys while a popup is displayed. The filter is
not invoked for as long as the popup is hidden.
The filter can return TRUE to indicate the key has been handled and is to be
discarded, or FALSE to let Vim handle the key as usual in the current state.
The filter function is called with two arguments: the ID of the popup and the
key.
Some common key actions:
Esc close the popup
cursor keys select another entry
Tab accept current suggestion
A mouse click arrives as <LeftMouse>. The coordinates are in
v:mouse_popup_col and v:mouse_popup_row. The top-left screen cell of the
popup is col 1, row 1 (not counting the border).
Vim provides standard filters |popup_filter_menu()| and
|popup_filter_yesno()|.
POPUP CALLBACK *popup-callback*
A callback that is invoked when the popup closes. Used by
|popup_filter_menu()|. Invoked with two arguments: the ID of the popup and
the result, which would usually be an index in the popup lines, or whatever
the filter wants to pass.
==============================================================================
3. Examples *popup-examples*
TODO
Prompt the user to press y/Y or n/N: >
func MyDialogHandler(id, result)
if a:result
" ... 'y' or 'Y' was pressed
endif
endfunc
call popup_create(['Continue? y/n'], {
\ 'filter': 'popup_filter_yesno',
\ 'callback': 'MyDialogHandler',
\ })
<
vim:tw=78:ts=8:noet:ft=help:norl:
+1 -2
View File
@@ -1,4 +1,4 @@
*print.txt* For Vim version 8.1. Last change: 2010 Jul 20
*print.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -15,7 +15,6 @@ Printing *printing*
7. PostScript Utilities |postscript-print-util|
8. Formfeed Characters |printing-formfeed|
{Vi has None of this}
{only available when compiled with the |+printer| feature}
==============================================================================
+63 -29
View File
@@ -1,4 +1,4 @@
*quickfix.txt* For Vim version 8.1. Last change: 2019 Jan 13
*quickfix.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -16,8 +16,6 @@ This subject is introduced in section |30.1| of the user manual.
8. The directory stack |quickfix-directory-stack|
9. Specific error file formats |errorformats|
{Vi does not have any of these commands}
The quickfix commands are not available when the |+quickfix| feature was
disabled at compile time.
@@ -141,8 +139,8 @@ processing a quickfix or location list command, it will be aborted.
:[count]lab[ove] Same as ":cabove", except the location list for the
current window is used instead of the quickfix list.
*:cbe* *:cbelow*
:[count]cbe[low] Go to the [count] error below the current line in the
*:cbel* *:cbelow*
:[count]cbel[ow] Go to the [count] error below the current line in the
current buffer. If [count] is omitted, then 1 is
used. If there are no errors, then an error message
is displayed. Assumes that the entries in a quickfix
@@ -152,8 +150,36 @@ processing a quickfix or location list command, it will be aborted.
exceeds the number of entries below the current line,
then the last error in the file is selected.
*:lbe* *:lbelow*
:[count]lbe[low] Same as ":cbelow", except the location list for the
*:lbel* *:lbelow*
:[count]lbel[ow] Same as ":cbelow", except the location list for the
current window is used instead of the quickfix list.
*:cbe* *:cbefore*
:[count]cbe[fore] Go to the [count] error before the current cursor
position in the current buffer. If [count] is
omitted, then 1 is used. If there are no errors, then
an error message is displayed. Assumes that the
entries in a quickfix list are sorted by their buffer,
line and column numbers. If [count] exceeds the
number of entries before the current position, then
the first error in the file is selected.
*:lbe* *:lbefore*
:[count]lbe[fore] Same as ":cbefore", except the location list for the
current window is used instead of the quickfix list.
*:caf* *:cafter*
:[count]caf[ter] Go to the [count] error after the current cursor
position in the current buffer. If [count] is
omitted, then 1 is used. If there are no errors, then
an error message is displayed. Assumes that the
entries in a quickfix list are sorted by their buffer,
line and column numbers. If [count] exceeds the
number of entries after the current position, then
the last error in the file is selected.
*:laf* *:lafter*
:[count]laf[ter] Same as ":cafter", except the location list for the
current window is used instead of the quickfix list.
*:cnf* *:cnfile*
@@ -474,7 +500,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each buffer.
{not in Vi}
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|:ldo|, |:cfdo| and |:lfdo|.
@@ -487,7 +512,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
:{cmd}
etc.
< Otherwise it works the same as `:cdo`.
{not in Vi}
*:ldo*
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
@@ -500,7 +524,6 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
etc.
< Only valid entries in the location list are used.
Otherwise it works the same as `:cdo`.
{not in Vi}
*:lfdo*
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
@@ -512,7 +535,29 @@ EXECUTE A COMMAND IN ALL THE BUFFERS IN QUICKFIX OR LOCATION LIST:
:{cmd}
etc.
< Otherwise it works the same as `:ldo`.
{not in Vi}
FILTERING A QUICKFIX OR LOCATION LIST:
*cfilter-plugin* *:Cfilter* *:Lfilter*
If you have too many entries in a quickfix list, you can use the cfilter
plugin to reduce the number of entries. Load the plugin with: >
packadd cfilter
Then you can use the following commands to filter a quickfix/location list: >
:Cfilter[!] /{pat}/
:Lfilter[!] /{pat}/
The |:Cfilter| command creates a new quickfix list from the entries matching
{pat} in the current quickfix list. {pat} is a Vim |regular-expression|
pattern. Both the file name and the text of the entries are matched against
{pat}. If the optional ! is supplied, then the entries not matching {pat} are
used. The pattern can be optionally enclosed using one of the following
characters: ', ", /. If the pattern is empty, then the last used search
pattern is used.
The |:Lfilter| command does the same as |:Cfilter| but operates on the current
location list.
=============================================================================
2. The error window *quickfix-window*
@@ -800,14 +845,19 @@ lists. They set one of the existing error lists as the current one.
the current window instead of the quickfix list.
*:chistory* *:chi*
:chi[story] Show the list of error lists. The current list is
:[count]chi[story] Show the list of error lists. The current list is
marked with ">". The output looks like:
error list 1 of 3; 43 errors ~
> error list 2 of 3; 0 errors ~
error list 3 of 3; 15 errors ~
When [count] is given, then the count'th quickfix
list is made the current list. Example: >
" Make the 4th quickfix list current
:4chistory
<
*:lhistory* *:lhi*
:lhi[story] Show the list of location lists, otherwise like
:[count]lhi[story] Show the list of location lists, otherwise like
`:chistory`.
When adding a new error list, it becomes the current list.
@@ -1619,22 +1669,6 @@ The backslashes before the pipe character are required to avoid it to be
recognized as a command separator. The backslash before each space is
required for the set command.
*cfilter-plugin* *:Cfilter* *:Lfilter*
If you have too many matching messages, you can use the cfilter plugin to
reduce the number of entries. Load the plugin with: >
packadd cfilter
Then you can use these command: >
:Cfilter[!] /{pat}/
:Lfilter[!] /{pat}/
:Cfilter creates a new quickfix list from entries matching {pat} in the
current quickfix list. Both the file name and the text of the entries are
matched against {pat}. If ! is supplied, then entries not matching {pat} are
used.
:Lfilter does the same as :Cfilter but operates on the current location list.
=============================================================================
8. The directory stack *quickfix-directory-stack*
+7 -3
View File
@@ -1,4 +1,4 @@
*quickref.txt* For Vim version 8.1. Last change: 2019 Feb 16
*quickref.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -600,6 +600,7 @@ In Insert or Command-line mode:
Short explanation of each option: *option-list*
'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
'altkeymap' 'akm' obsolete option for Farsi
'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
'antialias' 'anti' Mac OS X: use smooth, antialiased fonts
'autochdir' 'acd' change directory to the file in the current window
@@ -701,6 +702,7 @@ Short explanation of each option: *option-list*
'filetype' 'ft' type of file, used for autocommands
'fillchars' 'fcs' characters to use for displaying special items
'fixendofline' 'fixeol' make sure last line in file has <EOL>
'fkmap' 'fk' obsolete option for Farsi
'foldclose' 'fcl' close a fold when the cursor leaves it
'foldcolumn' 'fdc' width of the column used to indicate folds
'foldenable' 'fen' set to display all folds open
@@ -771,6 +773,7 @@ Short explanation of each option: *option-list*
'keywordprg' 'kp' program to use for the "K" command
'langmap' 'lmap' alphabetic characters for other language mode
'langmenu' 'lm' language to be used for the menus
'langnoremap' 'lnr' do not apply 'langmap' to mapped characters
'langremap' 'lrm' do apply 'langmap' to mapped characters
'laststatus' 'ls' tells when last window has status lines
'lazyredraw' 'lz' don't redraw while executing macros
@@ -783,8 +786,6 @@ Short explanation of each option: *option-list*
'listchars' 'lcs' characters for displaying in list mode
'loadplugins' 'lpl' load plugin scripts when starting up
'luadll' name of the Lua dynamic library
'mzschemedll' name of the MzScheme dynamic library
'mzschemegcdll' name of the MzScheme dynamic library for GC
'macatsui' Mac GUI: use ATSUI text drawing
'macligatures' display ligatures (MacVim GUI only)
'macmeta' 'mmta' use option as meta key (MacVim GUI only)
@@ -815,6 +816,8 @@ Short explanation of each option: *option-list*
'mouseshape' 'mouses' shape of the mouse pointer in different modes
'mousetime' 'mouset' max time between mouse double-click
'mzquantum' 'mzq' the interval between polls for MzScheme threads
'mzschemedll' name of the MzScheme dynamic library
'mzschemegcdll' name of the MzScheme dynamic library for GC
'nrformats' 'nf' number formats recognized for CTRL-A command
'number' 'nu' print the line number in front of each line
'numberwidth' 'nuw' number of columns used for the line number
@@ -923,6 +926,7 @@ Short explanation of each option: *option-list*
'tabstop' 'ts' number of spaces that <Tab> in file uses
'tagbsearch' 'tbs' use binary searching in tags files
'tagcase' 'tc' how to handle case when searching in tags files
'tagfunc' 'tfu' function to get list of tag matches
'taglength' 'tl' number of significant characters for a tag
'tagrelative' 'tr' file names in tag file are relative
'tags' 'tag' list of file names used by the tag command
+1 -3
View File
@@ -1,4 +1,4 @@
*recover.txt* For Vim version 8.1. Last change: 2014 Mar 27
*recover.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -131,7 +131,6 @@ command:
flag is present in 'cpoptions' the swap file will not
be deleted for this buffer when Vim exits and the
buffer is still loaded |cpo-&|.
{Vi: might also exit}
A Vim swap file can be recognized by the first six characters: "b0VIM ".
After that comes the version number, e.g., "3.0".
@@ -196,7 +195,6 @@ recovered file. Or use |:DiffOrig|.
Once you are sure the recovery is ok delete the swap file. Otherwise, you
will continue to get warning messages that the ".swp" file already exists.
{Vi: recovers in another way and sends mail if there is something to recover}
ENCRYPTION AND THE SWAP FILE *:recover-crypt*
+1 -3
View File
@@ -1,4 +1,4 @@
*remote.txt* For Vim version 8.1. Last change: 2017 Nov 12
*remote.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -11,8 +11,6 @@ Vim client-server communication *client-server*
3. MS-Windows specific items |w32-clientserver|
4. MacVim specific items |macvim-clientserver|
{Vi does not have any of these commands}
==============================================================================
1. Common functionality *clientserver*
+11 -17
View File
@@ -1,4 +1,4 @@
*repeat.txt* For Vim version 8.1. Last change: 2019 Apr 05
*repeat.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -124,11 +124,11 @@ q{0-9a-zA-Z"} Record typed characters into register {0-9a-zA-Z"}
used for |y| and |p| the result is most likely not
what is expected, because the put will paste the
recorded macro and the yank will overwrite the
recorded macro. {Vi: no recording}
recorded macro.
q Stops recording. (Implementation note: The 'q' that
stops recording is not stored in the register, unless
it was the result of a mapping) {Vi: no recording}
it was the result of a mapping)
*@*
@{0-9a-z".=*+} Execute the contents of register {0-9a-z".=*+} [count]
@@ -140,7 +140,7 @@ q Stops recording. (Implementation note: The 'q' that
applies.
For "@=" you are prompted to enter an expression. The
result of the expression is then executed.
See also |@:|. {Vi: only named registers}
See also |@:|.
*@@* *E748*
@@ Repeat the previous @{0-9a-z":*} [count] times.
@@ -158,17 +158,16 @@ q Stops recording. (Implementation note: The 'q' that
result of evaluating the expression is executed as an
Ex command.
Mappings are not recognized in these commands.
{Vi: only in some versions} Future: Will execute the
register for each line in the address range.
Future: Will execute the register for each line in the
address range.
*:@:*
:[addr]@: Repeat last command-line. First set cursor at line
[addr] (default is current line). {not in Vi}
[addr] (default is current line).
:[addr]@ *:@@*
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
line [addr] (default is current line). {Vi: only in
some versions}
line [addr] (default is current line).
==============================================================================
4. Using Vim scripts *using-scripts*
@@ -187,7 +186,6 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
|:bufdo|, in a loop or when another command follows
the display won't be updated while executing the
commands.
{not in Vi}
*:ru* *:runtime*
:ru[ntime][!] [where] {file} ..
@@ -230,7 +228,6 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
when no file could be found.
When 'verbose' is two or higher, there is a message
about each searched file.
{not in Vi}
*:pa* *:packadd* *E919*
:pa[ckadd][!] {name} Search for an optional plugin directory in 'packpath'
@@ -323,7 +320,6 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
set encoding=utf-8
scriptencoding utf-8
<
{not in Vi}
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
*E999* *E984*
@@ -341,8 +337,8 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
:scr[iptnames] List all sourced script names, in the order they were
first sourced. The number is used for the script ID
|<SID>|.
{not in Vi} {not available when compiled without the
|+eval| feature}
{not available when compiled without the |+eval|
feature}
:scr[iptnames][!] {scriptId} *:script*
Edit script {scriptId}. Although ":scriptnames name"
@@ -358,7 +354,7 @@ For writing a Vim script, see chapter 41 of the user manual |usr_41.txt|.
following the ":finally" up to the matching |:endtry|
are executed first. This process applies to all
nested ":try"s in the script. The outermost ":endtry"
then stops sourcing the script. {not in Vi}
then stops sourcing the script.
All commands and command sequences can be repeated by putting them in a named
register and then executing it. There are two ways to get the commands in the
@@ -698,7 +694,6 @@ sourced file or user function and set breakpoints.
NOTE: The debugging mode is far from perfect. Debugging will have side
effects on how Vim works. You cannot use it to debug everything. For
example, the display is messed up by the debugging messages.
{Vi does not have a debug mode}
An alternative to debug mode is setting the 'verbose' option. With a bigger
number it will give more verbose messages about what Vim is doing.
@@ -932,7 +927,6 @@ OBSCURE
Profiling means that Vim measures the time that is spent on executing
functions and/or scripts. The |+profile| feature is required for this.
It is only included when Vim was compiled with "huge" features.
{Vi does not have profiling}
You can also use the |reltime()| function to measure time. This only requires
the |+reltime| feature, which is present more often.
+1 -3
View File
@@ -1,4 +1,4 @@
*rileft.txt* For Vim version 8.1. Last change: 2006 Apr 24
*rileft.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Avner Lottem
@@ -12,8 +12,6 @@ These functions were originally created by Avner Lottem:
E-mail: alottem@iil.intel.com
Phone: +972-4-8307322
{Vi does not have any of these commands}
*E26*
{only available when compiled with the |+rightleft| feature}
+9 -17
View File
@@ -1,4 +1,4 @@
*scroll.txt* For Vim version 8.1. Last change: 2018 Apr 26
*scroll.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -45,9 +45,6 @@ CTRL-D Scroll window Downwards in the buffer. The number of
difference). When the cursor is on the last line of
the buffer nothing happens and a beep is produced.
See also 'startofline' option.
{difference from vi: Vim scrolls 'scroll' screen
lines, instead of file lines; makes a difference when
lines wrap}
<S-Down> or *<S-Down>* *<kPageDown>*
<PageDown> or *<PageDown>* *CTRL-F*
@@ -120,7 +117,7 @@ z<CR> Redraw, line [count] at top of window (default
*zt*
zt Like "z<CR>", but leave the cursor in the same
column. {not in Vi}
column.
*zN<CR>*
z{height}<CR> Redraw, make window {height} lines tall. This is
@@ -136,7 +133,7 @@ z. Redraw, line [count] at center of window (default
*zz*
zz Like "z.", but leave the cursor in the same column.
Careful: If caps-lock is on, this command becomes
"ZZ": write buffer and exit! {not in Vi}
"ZZ": write buffer and exit!
*z-*
z- Redraw, line [count] at bottom of window (default
@@ -145,7 +142,6 @@ z- Redraw, line [count] at bottom of window (default
*zb*
zb Like "z-", but leave the cursor in the same column.
{not in Vi}
==============================================================================
4. Scrolling horizontally *scroll-horizontal*
@@ -158,26 +154,22 @@ not used.
z<Right> or *zl* *z<Right>*
zl Move the view on the text [count] characters to the
right, thus scroll the text [count] characters to the
left. This only works when 'wrap' is off. {not in
Vi}
left. This only works when 'wrap' is off.
z<Left> or *zh* *z<Left>*
zh Move the view on the text [count] characters to the
left, thus scroll the text [count] characters to the
right. This only works when 'wrap' is off. {not in
Vi}
right. This only works when 'wrap' is off.
*zL*
zL Move the view on the text half a screenwidth to the
right, thus scroll the text half a screenwidth to the
left. This only works when 'wrap' is off. {not in
Vi}
left. This only works when 'wrap' is off.
*zH*
zH Move the view on the text half a screenwidth to the
left, thus scroll the text half a screenwidth to the
right. This only works when 'wrap' is off. {not in
Vi}
right. This only works when 'wrap' is off.
For the following two commands the cursor is not moved in the text, only the
text scrolls on the screen.
@@ -185,12 +177,12 @@ text scrolls on the screen.
*zs*
zs Scroll the text horizontally to position the cursor
at the start (left side) of the screen. This only
works when 'wrap' is off. {not in Vi}
works when 'wrap' is off.
*ze*
ze Scroll the text horizontally to position the cursor
at the end (right side) of the screen. This only
works when 'wrap' is off. {not in Vi}
works when 'wrap' is off.
==============================================================================
5. Scrolling synchronously *scroll-binding*
+1 -2
View File
@@ -1,4 +1,4 @@
*sign.txt* For Vim version 8.1. Last change: 2019 Jan 17
*sign.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Gordon Prieur
@@ -10,7 +10,6 @@ Sign Support Features *sign-support*
1. Introduction |sign-intro|
2. Commands |sign-commands|
{Vi does not have any of these features}
{only available when compiled with the |+signs| feature}
==============================================================================
+2 -5
View File
@@ -1,4 +1,4 @@
*spell.txt* For Vim version 8.1. Last change: 2019 Jan 19
*spell.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -11,10 +11,7 @@ Spell checking *spell*
3. Generating a spell file |spell-mkspell|
4. Spell file format |spell-file-format|
{Vi does not have any of these commands}
Spell checking is not available when the |+syntax| feature has been disabled
at compile time.
{not available when the |+syntax| feature has been disabled at compile time}
Note: There also is a vimspell plugin. If you have it you can do ":help
vimspell" to find about it. But you will probably want to get rid of the
+37 -61
View File
@@ -1,4 +1,4 @@
*starting.txt* For Vim version 8.1. Last change: 2019 Feb 16
*starting.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -84,7 +84,6 @@ filename One or more file names. The first one will be the current
and the first error is displayed. See |quickfix|.
If [errorfile] is not given, the 'errorfile' option is used
for the file name. See 'errorfile' for the default value.
{not in Vi}
(nothing) Without one of the four items above, Vim will start editing a
new buffer. It's empty and doesn't have a file name.
@@ -129,17 +128,17 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
--help *-h* *--help* *-?*
-?
-h Give usage (help) message and exit. {not in Vi}
-h Give usage (help) message and exit.
See |info-message| about capturing the text.
*--version*
--version Print version information and exit. Same output as for
|:version| command. {not in Vi}
|:version| command.
See |info-message| about capturing the text.
*--noplugin*
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
{not in Vi}
Note that the |-u| argument may also disable loading plugins:
argument load: vimrc files plugins defaults.vim ~
(nothing) yes yes yes
@@ -190,13 +189,11 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
Note: You can use up to 10 "+" or "-c" arguments in a Vim
command. They are executed in the order given. A "-S"
argument counts as a "-c" argument as well.
{Vi only allows one command}
--cmd {command} *--cmd*
{command} will be executed before processing any vimrc file.
Otherwise it acts like -c {command}. You can use up to 10 of
these commands, independently from "-c" commands.
{not in Vi}
*-S*
-S {file} The {file} will be sourced after the first file has been read.
@@ -205,7 +202,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
< It can be mixed with "-c" arguments and repeated like "-c".
The limit of 10 "-c" arguments applies here as well.
{file} cannot start with a "-".
{not in Vi}
Do not use this for running a script to do some work and exit
Vim, you won't see error messages. Use |-u| instead.
-S Works like "-S Session.vim". Only when used as the last
argument or when another "-" option follows.
@@ -217,8 +216,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
|crash-recovery|.
*-L*
-L Same as -r. {only in some versions of Vi: "List recoverable
edit sessions"}
-L Same as -r.
*-R*
-R Readonly mode. The 'readonly' option will be set for all the
@@ -238,7 +236,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-m Modifications not allowed to be written. The 'write' option
will be reset, so that writing files is disabled. However,
the 'write' option can be set to enable writing again.
{not in Vi}
*-M*
-M Modifications not allowed. The 'modifiable' option will be
@@ -246,7 +243,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
will be reset, so that writing files is disabled. However,
the 'modifiable' and 'write' options can be set to enable
changes and writing.
{not in Vi}
*-Z* *restricted-mode* *E145* *E981*
-Z Restricted mode. All commands that make use of an external
@@ -260,11 +256,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
the Safe module.
Note that the user may still find a loophole to execute a
shell command, it has only been made difficult.
{not in Vi}
*-g*
-g Start Vim in GUI mode. See |gui|. For the opposite see |-v|.
{not in Vi}
*-v*
-v Start Ex in Vi mode. Only makes a difference when the
@@ -278,7 +272,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
*-E*
-E Start Vim in improved Ex mode |gQ|. Only makes a difference
when the executable is not called "exim".
{not in Vi}
*-s-ex*
-s Silent or batch mode. Only when Vim was started as "ex" or
@@ -302,6 +295,9 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
"-u" argument).
Example: >
vim -e -s < thefilter thefile
< For the opposite, to see errors from the script, execute the
file with the |-u| flag: >
vim -u thefilter thefile
<
*-b*
-b Binary mode. File I/O will only recognize <NL> to separate
@@ -309,7 +305,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
option is set to 0. 'modeline' is reset. The 'binary' option
is set. This is done after reading the vimrc/exrc files but
before reading any file in the arglist. See also
|edit-binary|. {not in Vi}
|edit-binary|.
*-l*
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
@@ -318,7 +314,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-A Arabic mode. Sets the 'arabic' option on. (Only when
compiled with the |+arabic| features (which include
|+rightleft|), otherwise Vim gives an error message
and exits.) {not in Vi}
and exits.)
*-F*
-F This was used for Farsi mode, which has been removed.
@@ -327,13 +323,13 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
*-H*
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
(Only when compiled with the |+rightleft| feature, otherwise
Vim gives an error message and exits.) {not in Vi}
Vim gives an error message and exits.)
*-V* *verbose*
-V[N] Verbose. Sets the 'verbose' option to [N] (default: 10).
Messages will be given for each file that is ":source"d and
for reading or writing a viminfo file. Can be used to find
out what is happening upon startup and exit. {not in Vi}
out what is happening upon startup and exit.
Example: >
vim -V8 foobar
@@ -348,7 +344,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
-D Debugging. Go to debugging mode when executing the first
command from a script. |debug-mode|
{not available when compiled without the |+eval| feature}
{not in Vi}
*-C*
-C Compatible mode. Sets the 'compatible' option. You can use
@@ -360,13 +355,13 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
< Several plugins won't work with 'compatible' set. You may
want to set it after startup this way: >
vim "+set cp" filename
< Also see |compatible-default|. {not in Vi}
< Also see |compatible-default|.
*-N*
-N Not compatible mode. Resets the 'compatible' option. You can
use this to get 'nocompatible', when there is no .vimrc file
or when using "-u NONE".
Also see |compatible-default|. {not in Vi}
Also see |compatible-default|.
*-y* *easy*
-y Easy mode. Implied for |evim| and |eview|. Starts with
@@ -374,7 +369,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
This sources the script $VIMRUNTIME/evim.vim. Mappings are
set up to work like most click-and-type editors, see
|evim-keys|. The GUI is started when available.
{not in Vi}
*-n*
-n No swap file will be used. Recovery after a crash will be
@@ -394,7 +388,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
'updatecount' to very big numbers, and type ":preserve" when
you want to save your work. This way you keep the possibility
for crash recovery.
{not in Vi}
*-o*
-o[N] Open N windows, split horizontally. If [N] is not given,
@@ -402,13 +395,11 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
there is not enough room, only the first few files get a
window. If there are more windows than arguments, the last
few windows will be editing an empty file.
{not in Vi}
*-O*
-O[N] Open N windows, split vertically. Otherwise it's like -o.
If both the -o and the -O option are given, the last one on
the command line determines how the windows will be split.
{not in Vi}
*-p*
-p[N] Open N tab pages. If [N] is not given, one tab page is opened
@@ -416,20 +407,19 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
'tabpagemax' pages (default 10). If there are more tab pages
than arguments, the last few tab pages will be editing an
empty file. Also see |tabpage|.
{not in Vi}
*-T*
-T {terminal} Set the terminal type to "terminal". This influences the
codes that Vim will send to your terminal. This is normally
not needed, because Vim will be able to find out what type
of terminal you are using. (See |terminal-info|.) {not in Vi}
of terminal you are using. (See |terminal-info|.)
*--not-a-term*
--not-a-term Tells Vim that the user knows that the input and/or output is
not connected to a terminal. This will avoid the warning and
the two second delay that would happen.
Also avoids the "Reading from stdin..." message.
{not in Vi}
Also avoids the "N files to edit" message.
*--ttyfail*
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
@@ -437,8 +427,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
*-d*
-d Start in diff mode, like |vimdiff|.
{not in Vi} {not available when compiled without the |+diff|
feature}
{not available when compiled without the |+diff| feature}
-d {device} Only on the Amiga and when not compiled with the |+diff|
feature. Works like "-dev".
@@ -448,7 +437,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
Normally you would use this to set the window position and
size: "-d con:x/y/width/height", e.g.,
"-d con:30/10/600/150". But you can also use it to start
editing on another device, e.g., AUX:. {not in Vi}
editing on another device, e.g., AUX:.
*-f*
-f GUI: Do not disconnect from the program that started Vim.
'f' stands for "foreground". If omitted, the GUI forks a new
@@ -467,7 +456,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
MS-Windows: This option is not supported. However, when
running Vim with an installed vim.bat or gvim.bat file it
works.
{not in Vi}
*--nofork*
@@ -499,7 +487,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
has the side effect that the 'compatible' option will be on by
default. This can have unexpected effects. See
|'compatible'|.
{not in Vi}
*-U* *E230*
-U {gvimrc} The file {gvimrc} is read for initializations when the GUI
@@ -507,14 +494,12 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
is equal to "NONE", no file is read for GUI initializations at
all. |gui-init|
Exception: Reading the system-wide menu file is always done.
{not in Vi}
*-i*
-i {viminfo} The file "viminfo" is used instead of the default viminfo
file. If the name "NONE" is used (all uppercase), no viminfo
file is read or written, even if 'viminfo' is set or when
":rv" or ":wv" are used. See also |viminfo-file|.
{not in Vi}
*--clean*
--clean Similar to "-u DEFAULTS -U NONE -i NONE":
@@ -551,7 +536,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
When the connection is desired later anyway (e.g., for
client-server messages), call the |serverlist()| function.
This does not enable the XSMP handler though.
{not in Vi}
*-s*
-s {scriptin} The script file "scriptin" is read. The characters in the
@@ -560,7 +544,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
of the file is reached before the editor exits, further
characters are read from the keyboard. Only works when not
started in Ex mode, see |-s-ex|. See also |complex-repeat|.
{not in Vi}
*-w_nr*
-w {number}
@@ -573,62 +556,59 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
":source!". When the "scriptout" file already exists, new
characters are appended. See also |complex-repeat|.
{scriptout} cannot start with a digit.
{not in Vi}
*-W*
-W {scriptout} Like -w, but do not append, overwrite an existing file.
{not in Vi}
--remote [+{cmd}] {file} ...
Open the {file} in another Vim that functions as a server.
Any non-file arguments must come before this.
See |--remote|. {not in Vi}
See |--remote|.
--remote-silent [+{cmd}] {file} ...
Like --remote, but don't complain if there is no server.
See |--remote-silent|. {not in Vi}
See |--remote-silent|.
--remote-wait [+{cmd}] {file} ...
Like --remote, but wait for the server to finish editing the
file(s).
See |--remote-wait|. {not in Vi}
See |--remote-wait|.
--remote-wait-silent [+{cmd}] {file} ...
Like --remote-wait, but don't complain if there is no server.
See |--remote-wait-silent|. {not in Vi}
See |--remote-wait-silent|.
--servername {name}
Specify the name of the Vim server to send to or to become.
See |--servername|. {not in Vi}
See |--servername|.
--remote-send {keys}
Send {keys} to a Vim server and exit.
See |--remote-send|. {not in Vi}
See |--remote-send|.
--remote-expr {expr}
Evaluate {expr} in another Vim that functions as a server.
The result is printed on stdout.
See |--remote-expr|. {not in Vi}
See |--remote-expr|.
--serverlist Output a list of Vim server names and exit. See
|--serverlist|. {not in Vi}
|--serverlist|.
--socketid {id} *--socketid*
GTK+ GUI Vim only. Make gvim try to use GtkPlug mechanism, so
that it runs inside another window. See |gui-gtk-socketid|
for details. {not in Vi}
for details.
--windowid {id} *--windowid*
Win32 GUI Vim only. Make gvim try to use the window {id} as a
parent, so that it runs inside that window. See
|gui-w32-windowid| for details. {not in Vi}
|gui-w32-windowid| for details.
--echo-wid *--echo-wid*
GTK+ GUI Vim only. Make gvim echo the Window ID on stdout,
which can be used to run gvim in a kpart widget. The format
of the output is: >
WID: 12345\n
< {not in Vi}
--role {role} *--role*
GTK+ 2 GUI only. Set the role of the main window to {role}.
@@ -636,7 +616,6 @@ a slash. Thus "-R" means recovery and "-/R" readonly.
identify a window, in order to restore window placement and
such. The --role argument is passed automatically when
restoring the session on login. See |gui-gnome-session|
{not in Vi}
-P {parent-title} *-P* *MDI* *E671* *E672*
Win32 only: Specify the title of the parent application. When
@@ -1268,16 +1247,16 @@ vimrc file.
*:mk* *:mkexrc*
:mk[exrc] [file] Write current key mappings and changed options to
[file] (default ".exrc" in the current directory),
unless it already exists. {not in Vi}
unless it already exists.
:mk[exrc]! [file] Always write current key mappings and changed
options to [file] (default ".exrc" in the current
directory). {not in Vi}
directory).
*:mkv* *:mkvimrc*
:mkv[imrc][!] [file] Like ":mkexrc", but the default is ".vimrc" in the
current directory. The ":version" command is also
written to the file. {not in Vi}
written to the file.
These commands will write ":map" and ":set" commands to a file, in such a way
that when these commands are executed, the current key mappings and options
@@ -1343,8 +1322,7 @@ You can quickly start editing with a previously saved View or Session with the
|-S| argument: >
vim -S Session.vim
<
All this is {not in Vi} and {not available when compiled without the
|+mksession| feature}.
All this is {not available when compiled without the |+mksession| feature}.
*:mks* *:mksession*
:mks[ession][!] [file] Write a Vim script that restores the current editing
@@ -1659,7 +1637,7 @@ most of the information will be restored).
:rv[iminfo][!] [file] Read from viminfo file [file] (default: see above).
If [!] is given, then any information that is
already set (registers, marks, |v:oldfiles|, etc.)
will be overwritten {not in Vi}
will be overwritten
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
@@ -1672,7 +1650,6 @@ most of the information will be restored).
check that no old temp files were left behind (e.g.
~/.viminf*) and that you can write in the directory of
the .viminfo file.
{not in Vi}
*:ol* *:oldfiles*
:ol[dfiles] List the files that have marks stored in the viminfo
@@ -1682,8 +1659,7 @@ most of the information will be restored).
The output can be filtered with |:filter|, e.g.: >
filter /\.vim/ oldfiles
< The filtering happens on the file name.
{not in Vi, only when compiled with the |+eval|
feature}
{only when compiled with the |+eval| feature}
:bro[wse] ol[dfiles][!]
List file names as with |:oldfiles|, and then prompt
+2
View File
@@ -5002,6 +5002,8 @@ Conceal placeholder characters substituted for concealed
text (see 'conceallevel')
*hl-Cursor*
Cursor the character under the cursor
lCursor the character under the cursor when |language-mapping|
is used (see 'guicursor')
*hl-CursorIM*
CursorIM like Cursor, but used when in IME mode |CursorIM|
*hl-CursorColumn*
+1 -3
View File
@@ -1,4 +1,4 @@
*tabpage.txt* For Vim version 8.1. Last change: 2018 Mar 29
*tabpage.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -16,7 +16,6 @@ when used in combination with more than one tab page.
4. Setting 'tabline' |setting-tabline|
5. Setting 'guitablabel' |setting-guitablabel|
{Vi does not have any of these commands}
{not able to use multiple tab pages when the |+windows| feature was disabled
at compile time}
@@ -289,7 +288,6 @@ LOOPING OVER TAB PAGES:
current tab page.
{cmd} can contain '|' to concatenate several commands.
{cmd} must not open or close tab pages or reorder them.
{not in Vi}
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
and |:lfdo|
+53
View File
@@ -2166,12 +2166,16 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:caddexpr quickfix.txt /*:caddexpr*
:caddf quickfix.txt /*:caddf*
:caddfile quickfix.txt /*:caddfile*
:caf quickfix.txt /*:caf*
:cafter quickfix.txt /*:cafter*
:cal eval.txt /*:cal*
:call eval.txt /*:call*
:cat eval.txt /*:cat*
:catch eval.txt /*:catch*
:cb quickfix.txt /*:cb*
:cbe quickfix.txt /*:cbe*
:cbefore quickfix.txt /*:cbefore*
:cbel quickfix.txt /*:cbel*
:cbelow quickfix.txt /*:cbelow*
:cbo quickfix.txt /*:cbo*
:cbottom quickfix.txt /*:cbottom*
@@ -2528,6 +2532,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:laddexpr quickfix.txt /*:laddexpr*
:laddf quickfix.txt /*:laddf*
:laddfile quickfix.txt /*:laddfile*
:laf quickfix.txt /*:laf*
:lafter quickfix.txt /*:lafter*
:lan mlang.txt /*:lan*
:lang mlang.txt /*:lang*
:language mlang.txt /*:language*
@@ -2536,6 +2542,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:later undo.txt /*:later*
:lb quickfix.txt /*:lb*
:lbe quickfix.txt /*:lbe*
:lbefore quickfix.txt /*:lbefore*
:lbel quickfix.txt /*:lbel*
:lbelow quickfix.txt /*:lbelow*
:lbo quickfix.txt /*:lbo*
:lbottom quickfix.txt /*:lbottom*
@@ -2561,12 +2569,14 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:let-= eval.txt /*:let-=*
:let-@ eval.txt /*:let-@*
:let-environment eval.txt /*:let-environment*
:let-heredoc eval.txt /*:let-heredoc*
:let-option eval.txt /*:let-option*
:let-register eval.txt /*:let-register*
:let-unpack eval.txt /*:let-unpack*
:let..= eval.txt /*:let..=*
:let.= eval.txt /*:let.=*
:let/= eval.txt /*:let\/=*
:let=<< eval.txt /*:let=<<*
:letstar= eval.txt /*:letstar=*
:lex quickfix.txt /*:lex*
:lexpr quickfix.txt /*:lexpr*
@@ -2806,6 +2816,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:pop tagsrch.txt /*:pop*
:popu gui.txt /*:popu*
:popup gui.txt /*:popup*
:popupc popup.txt /*:popupc*
:popupclear popup.txt /*:popupclear*
:pp windows.txt /*:pp*
:ppop windows.txt /*:ppop*
:pr various.txt /*:pr*
@@ -3386,6 +3398,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:xnoremap map.txt /*:xnoremap*
:xnoreme gui.txt /*:xnoreme*
:xnoremenu gui.txt /*:xnoremenu*
:xr various.txt /*:xr*
:xrestore various.txt /*:xrestore*
:xu map.txt /*:xu*
:xunmap map.txt /*:xunmap*
:xunme gui.txt /*:xunme*
@@ -3467,6 +3481,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
<ForceClick> gui_mac.txt /*<ForceClick>*
<Help> helphelp.txt /*<Help>*
<Home> motion.txt /*<Home>*
<Ignore> eval.txt /*<Ignore>*
<Insert> insert.txt /*<Insert>*
<Leader> map.txt /*<Leader>*
<Left> motion.txt /*<Left>*
@@ -4769,7 +4784,10 @@ E985 eval.txt /*E985*
E986 tagsrch.txt /*E986*
E987 tagsrch.txt /*E987*
E988 gui_w32.txt /*E988*
E989 eval.txt /*E989*
E99 diff.txt /*E99*
E990 eval.txt /*E990*
E991 eval.txt /*E991*
E999 repeat.txt /*E999*
EX intro.txt /*EX*
EXINIT starting.txt /*EXINIT*
@@ -5387,6 +5405,7 @@ backup-changed version4.txt /*backup-changed*
backup-extension version4.txt /*backup-extension*
backup-table editing.txt /*backup-table*
balloon-eval debugger.txt /*balloon-eval*
balloon_gettext() eval.txt /*balloon_gettext()*
balloon_show() eval.txt /*balloon_show()*
balloon_split() eval.txt /*balloon_split()*
bar motion.txt /*bar*
@@ -5661,6 +5680,7 @@ charconvert_to-variable eval.txt /*charconvert_to-variable*
charity uganda.txt /*charity*
charset mbyte.txt /*charset*
charset-conversion mbyte.txt /*charset-conversion*
chdir() eval.txt /*chdir()*
chill.vim syntax.txt /*chill.vim*
chmod eval.txt /*chmod*
cindent() eval.txt /*cindent()*
@@ -6091,6 +6111,7 @@ encryption editing.txt /*encryption*
end intro.txt /*end*
end-of-file pattern.txt /*end-of-file*
enlightened-terminal syntax.txt /*enlightened-terminal*
environ() eval.txt /*environ()*
erlang.vim syntax.txt /*erlang.vim*
err_buf channel.txt /*err_buf*
err_cb channel.txt /*err_cb*
@@ -6831,6 +6852,7 @@ getcmdwintype() eval.txt /*getcmdwintype()*
getcompletion() eval.txt /*getcompletion()*
getcurpos() eval.txt /*getcurpos()*
getcwd() eval.txt /*getcwd()*
getenv() eval.txt /*getenv()*
getfontname() eval.txt /*getfontname()*
getfperm() eval.txt /*getfperm()*
getfsize() eval.txt /*getfsize()*
@@ -7483,6 +7505,9 @@ list-index eval.txt /*list-index*
list-modification eval.txt /*list-modification*
list-repeat windows.txt /*list-repeat*
list2str() eval.txt /*list2str()*
listener_add() eval.txt /*listener_add()*
listener_flush() eval.txt /*listener_flush()*
listener_remove() eval.txt /*listener_remove()*
lite.vim syntax.txt /*lite.vim*
literal-string eval.txt /*literal-string*
lnum-variable eval.txt /*lnum-variable*
@@ -8156,6 +8181,7 @@ option-summary options.txt /*option-summary*
option-window options.txt /*option-window*
option_restore() todo.txt /*option_restore()*
option_save() todo.txt /*option_save()*
optional-function-argument eval.txt /*optional-function-argument*
options options.txt /*options*
options-changed version5.txt /*options-changed*
options-in-terminal terminal.txt /*options-in-terminal*
@@ -8271,8 +8297,32 @@ plugin-special usr_41.txt /*plugin-special*
pmbcs-option print.txt /*pmbcs-option*
pmbfn-option print.txt /*pmbfn-option*
popt-option print.txt /*popt-option*
popup popup.txt /*popup*
popup-buffer popup.txt /*popup-buffer*
popup-callback popup.txt /*popup-callback*
popup-examples popup.txt /*popup-examples*
popup-filter popup.txt /*popup-filter*
popup-functions popup.txt /*popup-functions*
popup-intro popup.txt /*popup-intro*
popup-menu gui.txt /*popup-menu*
popup-menu-added version5.txt /*popup-menu-added*
popup-props popup.txt /*popup-props*
popup-window popup.txt /*popup-window*
popup.txt popup.txt /*popup.txt*
popup_atcursor() popup.txt /*popup_atcursor()*
popup_close() popup.txt /*popup_close()*
popup_create() popup.txt /*popup_create()*
popup_create-usage popup.txt /*popup_create-usage*
popup_dialog() popup.txt /*popup_dialog()*
popup_filter_menu() popup.txt /*popup_filter_menu()*
popup_filter_yesno() popup.txt /*popup_filter_yesno()*
popup_getoptions() popup.txt /*popup_getoptions()*
popup_hide() popup.txt /*popup_hide()*
popup_menu() popup.txt /*popup_menu()*
popup_move() popup.txt /*popup_move()*
popup_notification() popup.txt /*popup_notification()*
popup_setoptions() popup.txt /*popup_setoptions()*
popup_show() popup.txt /*popup_show()*
popupmenu-completion insert.txt /*popupmenu-completion*
popupmenu-keys insert.txt /*popupmenu-keys*
ports-5.2 version5.txt /*ports-5.2*
@@ -8658,6 +8708,7 @@ setbufline() eval.txt /*setbufline()*
setbufvar() eval.txt /*setbufvar()*
setcharsearch() eval.txt /*setcharsearch()*
setcmdpos() eval.txt /*setcmdpos()*
setenv() eval.txt /*setenv()*
setfperm() eval.txt /*setfperm()*
setline() eval.txt /*setline()*
setloclist() eval.txt /*setloclist()*
@@ -9355,6 +9406,7 @@ test_alloc_fail() eval.txt /*test_alloc_fail()*
test_autochdir() eval.txt /*test_autochdir()*
test_feedinput() eval.txt /*test_feedinput()*
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
test_getvalue() eval.txt /*test_getvalue()*
test_ignore_error() eval.txt /*test_ignore_error()*
test_null_blob() eval.txt /*test_null_blob()*
test_null_channel() eval.txt /*test_null_channel()*
@@ -9396,6 +9448,7 @@ text-prop-functions textprop.txt /*text-prop-functions*
text-prop-intro textprop.txt /*text-prop-intro*
text-properties textprop.txt /*text-properties*
textlock eval.txt /*textlock*
textprop textprop.txt /*textprop*
textprop.txt textprop.txt /*textprop.txt*
tf.vim syntax.txt /*tf.vim*
this_session-variable eval.txt /*this_session-variable*
+41 -62
View File
@@ -1,4 +1,4 @@
*tagsrch.txt* For Vim version 8.1. Last change: 2019 Apr 28
*tagsrch.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -56,11 +56,10 @@ CTRL-] Jump to the definition of the keyword under the
to the [count] one. When no [count] is given the
first one is jumped to. See |tag-matchlist| for
jumping to other matching tags.
{Vi: identifier after the cursor}
*v_CTRL-]*
{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
is highlighted. {not in Vi}
is highlighted.
*telnet-CTRL-]*
CTRL-] is the default telnet escape key. When you type CTRL-] to jump to a
@@ -112,18 +111,18 @@ Tags are only pushed onto the stack when the 'tagstack' option is set.
g<RightMouse> *g<RightMouse>*
<C-RightMouse> *<C-RightMouse>* *CTRL-T*
CTRL-T Jump to [count] older entry in the tag stack
(default 1). {not in Vi}
(default 1).
*:po* *:pop* *E555* *E556*
:[count]po[p][!] Jump to [count] older entry in tag stack (default 1).
See |tag-!| for [!]. {not in Vi}
See |tag-!| for [!].
:[count]ta[g][!] Jump to [count] newer entry in tag stack (default 1).
See |tag-!| for [!]. {not in Vi}
See |tag-!| for [!].
*:tags*
:tags Show the contents of the tag stack. The active
entry is marked with a '>'. {not in Vi}
entry is marked with a '>'.
The output of ":tags" looks like this:
@@ -204,7 +203,7 @@ the same entry.
the current position in the list (if there is one).
[name] can be a regexp pattern, see |tag-regexp|.
See |tag-priority| for the priorities used in the
listing. {not in Vi}
listing.
Example output:
>
@@ -231,54 +230,50 @@ the same entry.
*:sts* *:stselect*
:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
the selected tag. {not in Vi}
the selected tag.
*g]*
g] Like CTRL-], but use ":tselect" instead of ":tag".
{not in Vi}
*v_g]*
{Visual}g] Same as "g]", but use the highlighted text as the
identifier. {not in Vi}
identifier.
*:tj* *:tjump*
:tj[ump][!] [name] Like ":tselect", but jump to the tag directly when
there is only one match. {not in Vi}
there is only one match.
*:stj* *:stjump*
:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
selected tag. {not in Vi}
selected tag.
*g_CTRL-]*
g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
{not in Vi}
*v_g_CTRL-]*
{Visual}g CTRL-] Same as "g CTRL-]", but use the highlighted text as
the identifier. {not in Vi}
the identifier.
*:tn* *:tnext*
:[count]tn[ext][!] Jump to [count] next matching tag (default 1). See
|tag-!| for [!]. {not in Vi}
|tag-!| for [!].
*:tp* *:tprevious*
:[count]tp[revious][!] Jump to [count] previous matching tag (default 1).
See |tag-!| for [!]. {not in Vi}
See |tag-!| for [!].
*:tN* *:tNext*
:[count]tN[ext][!] Same as ":tprevious". {not in Vi}
:[count]tN[ext][!] Same as ":tprevious".
*:tr* *:trewind*
:[count]tr[ewind][!] Jump to first matching tag. If [count] is given, jump
to [count]th matching tag. See |tag-!| for [!]. {not
in Vi}
to [count]th matching tag. See |tag-!| for [!].
*:tf* *:tfirst*
:[count]tf[irst][!] Same as ":trewind". {not in Vi}
:[count]tf[irst][!] Same as ":trewind".
*:tl* *:tlast*
:tl[ast][!] Jump to last matching tag. See |tag-!| for [!]. {not
in Vi}
:tl[ast][!] Jump to last matching tag. See |tag-!| for [!].
*:lt* *:ltag*
:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
@@ -290,7 +285,6 @@ g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
characters (very nomagic). The location list showing
the matching tags is independent of the tag stack.
See |tag-!| for [!].
{not in Vi}
When there is no other message, Vim shows which matching tag has been jumped
to, and the number of matching tags: >
@@ -317,34 +311,28 @@ the same as above, with a "p" prepended.
*:pts* *:ptselect*
:pts[elect][!] [name] Does ":tselect[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
{not in Vi}
*:ptj* *:ptjump*
:ptj[ump][!] [name] Does ":tjump[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
{not in Vi}
*:ptn* *:ptnext*
:[count]ptn[ext][!] ":tnext" in the preview window. See |:ptag|.
{not in Vi}
*:ptp* *:ptprevious*
:[count]ptp[revious][!] ":tprevious" in the preview window. See |:ptag|.
{not in Vi}
*:ptN* *:ptNext*
:[count]ptN[ext][!] Same as ":ptprevious". {not in Vi}
:[count]ptN[ext][!] Same as ":ptprevious".
*:ptr* *:ptrewind*
:[count]ptr[ewind][!] ":trewind" in the preview window. See |:ptag|.
{not in Vi}
*:ptf* *:ptfirst*
:[count]ptf[irst][!] Same as ":ptrewind". {not in Vi}
:[count]ptf[irst][!] Same as ":ptrewind".
*:ptl* *:ptlast*
:ptl[ast][!] ":tlast" in the preview window. See |:ptag|.
{not in Vi}
==============================================================================
4. Tags details *tag-details*
@@ -432,7 +420,6 @@ In a future version changing the buffer will be impossible. All this for
security reasons: Somebody might hide a nasty command in the tags file, which
would otherwise go unnoticed. Example: >
:$d|/tag-function-name/
{this security prevention is not present in Vi}
In Vi the ":tag" command sets the last search pattern when the tag is searched
for. In Vim this is not done, the previous search pattern is still remembered,
@@ -630,10 +617,7 @@ If the command is a normal search command (it starts and ends with "/" or
"?"), some special handling is done:
- Searching starts on line 1 of the file.
The direction of the search is forward for "/", backward for "?".
Note that 'wrapscan' does not matter, the whole file is always searched. (Vi
does use 'wrapscan', which caused tags sometimes not be found.) {Vi starts
searching in line 2 of another file. It does not find a tag in line 1 of
another file when 'wrapscan' is not set}
Note that 'wrapscan' does not matter, the whole file is always searched.
- If the search fails, another try is done ignoring case. If that fails too,
a search is done for:
"^tagname[ \t]*("
@@ -644,7 +628,7 @@ If the command is a normal search command (it starts and ends with "/" or
"^[#a-zA-Z_].*\<tagname[ \t]*("
This means: A line starting with '#' or an identifier and containing the tag
followed by white space and a '('. This will find macro names and function
names with a type prepended. {the extra searches are not in Vi}
names with a type prepended.
*tag-old-static*
@@ -720,33 +704,31 @@ mapping to do that for you. Here is an example: >
of the file. Lines that look like a comment are
ignored (see 'comments' option). If a count is given,
the count'th matching line is displayed, and comment
lines are not ignored. {not in Vi}
lines are not ignored.
*]i*
]i like "[i", but start at the current cursor position.
{not in Vi}
*:is* *:isearch*
:[range]is[earch][!] [count] [/]pattern[/]
Like "[i" and "]i", but search in [range] lines
(default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
See |:search-args| for [/] and [!].
*[I*
[I Display all lines that contain the keyword under the
cursor. Filenames and line numbers are displayed
for the found lines. The search starts at the
beginning of the file. {not in Vi}
beginning of the file.
*]I*
]I like "[I", but start at the current cursor position.
{not in Vi}
*:il* *:ilist*
:[range]il[ist][!] [/]pattern[/]
Like "[I" and "]I", but search in [range] lines
(default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
See |:search-args| for [/] and [!].
*[_CTRL-I*
[ CTRL-I Jump to the first line that contains the keyword
@@ -754,17 +736,17 @@ mapping to do that for you. Here is an example: >
of the file. Lines that look like a comment are
ignored (see 'comments' option). If a count is given,
the count'th matching line is jumped to, and comment
lines are not ignored. {not in Vi}
lines are not ignored.
*]_CTRL-I*
] CTRL-I like "[ CTRL-I", but start at the current cursor
position. {not in Vi}
position.
*:ij* *:ijump*
:[range]ij[ump][!] [count] [/]pattern[/]
Like "[ CTRL-I" and "] CTRL-I", but search in
[range] lines (default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
See |:search-args| for [/] and [!].
CTRL-W CTRL-I *CTRL-W_CTRL-I* *CTRL-W_i*
CTRL-W i Open a new window, with the cursor on the first line
@@ -773,45 +755,43 @@ CTRL-W i Open a new window, with the cursor on the first line
that look like a comment line are ignored (see
'comments' option). If a count is given, the count'th
matching line is jumped to, and comment lines are not
ignored. {not in Vi}
ignored.
*:isp* *:isplit*
:[range]isp[lit][!] [count] [/]pattern[/]
Like "CTRL-W i" and "CTRL-W i", but search in
[range] lines (default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
See |:search-args| for [/] and [!].
*[d*
[d Display the first macro definition that contains the
macro under the cursor. The search starts from the
beginning of the file. If a count is given, the
count'th matching line is displayed. {not in Vi}
count'th matching line is displayed.
*]d*
]d like "[d", but start at the current cursor position.
{not in Vi}
*:ds* *:dsearch*
:[range]ds[earch][!] [count] [/]string[/]
Like "[d" and "]d", but search in [range] lines
(default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
See |:search-args| for [/] and [!].
*[D*
[D Display all macro definitions that contain the macro
under the cursor. Filenames and line numbers are
displayed for the found lines. The search starts
from the beginning of the file. {not in Vi}
from the beginning of the file.
*]D*
]D like "[D", but start at the current cursor position.
{not in Vi}
*:dli* *:dlist*
:[range]dli[st][!] [/]string[/]
Like `[D` and `]D`, but search in [range] lines
(default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
See |:search-args| for [/] and [!].
Note that `:dl` works like `:delete` with the "l"
flag, not `:dlist`.
@@ -819,36 +799,35 @@ CTRL-W i Open a new window, with the cursor on the first line
[ CTRL-D Jump to the first macro definition that contains the
keyword under the cursor. The search starts from
the beginning of the file. If a count is given, the
count'th matching line is jumped to. {not in Vi}
count'th matching line is jumped to.
*]_CTRL-D*
] CTRL-D like "[ CTRL-D", but start at the current cursor
position. {not in Vi}
position.
*:dj* *:djump*
:[range]dj[ump][!] [count] [/]string[/]
Like "[ CTRL-D" and "] CTRL-D", but search in
[range] lines (default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
See |:search-args| for [/] and [!].
CTRL-W CTRL-D *CTRL-W_CTRL-D* *CTRL-W_d*
CTRL-W d Open a new window, with the cursor on the first
macro definition line that contains the keyword
under the cursor. The search starts from the
beginning of the file. If a count is given, the
count'th matching line is jumped to. {not in Vi}
count'th matching line is jumped to.
*:dsp* *:dsplit*
:[range]dsp[lit][!] [count] [/]string[/]
Like "CTRL-W d", but search in [range] lines
(default: whole file).
See |:search-args| for [/] and [!]. {not in Vi}
See |:search-args| for [/] and [!].
*:che* *:checkpath*
:che[ckpath] List all the included files that could not be found.
{not in Vi}
:che[ckpath]! List all the included files. {not in Vi}
:che[ckpath]! List all the included files.
*:search-args*
Common arguments for the commands above:
+1 -4
View File
@@ -1,4 +1,4 @@
*term.txt* For Vim version 8.1. Last change: 2019 Apr 11
*term.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -249,9 +249,6 @@ It is always possible to change individual strings by setting the
appropriate option. For example: >
:set t_ce=^V^[[K (CTRL-V, <Esc>, [, K)
{Vi: no terminal options. You have to exit Vi, edit the termcap entry and
try again}
The options are listed below. The associated termcap code is always equal to
the last two characters of the option name. Only one termcap code is
required: Cursor motion, 't_cm'.
+1 -2
View File
@@ -1,4 +1,4 @@
*terminal.txt* For Vim version 8.1. Last change: 2019 Feb 25
*terminal.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -42,7 +42,6 @@ If the result is "1" you have it.
Communication |termdebug-communication|
Customizing |termdebug-customizing|
{Vi does not have any of these commands}
{only available when compiled with the |+terminal| feature}
The terminal feature requires the |+job| and |+channel| features.
+8 -5
View File
@@ -1,10 +1,10 @@
*textprop.txt* For Vim version 8.1. Last change: 2019 Jan 08
*textprop.txt* For Vim version 8.1. Last change: 2019 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
Displaying text with properties attached. *text-properties*
Displaying text with properties attached. *textprop* *text-properties*
THIS IS UNDER DEVELOPMENT - ANYTHING MAY STILL CHANGE *E967*
@@ -20,7 +20,6 @@ What is not working yet:
3. When text changes |text-prop-changes|
{Vi does not have text properties}
{not able to use text properties when the |+textprop| feature was
disabled at compile time}
@@ -57,6 +56,10 @@ Property Types ~
A text property normally has the name of a property type, which defines
how to highlight the text. The property type can have these entries:
"highlight" name of the highlight group to use
"combine" when TRUE the text property highlighting is combined
with any syntax highligting, when omitted or FALSE the
text property highlighting replaces the syntax
highlighting
"priority" when properties overlap, the one with the highest
priority will be used.
"start_incl" when TRUE inserts at the start position will be
@@ -129,10 +132,10 @@ When using replace mode, the text properties stay on the same character
positions, even though the characters themselves change.
When text property columns are not updated ~
Text property columns are not updated: ~
- When setting the line with |setline()| or through an interface, such as Lua,
Tcl or Python.
Tcl or Python. Vim does not know what text got inserted or deleted.
vim:tw=78:ts=8:noet:ft=help:norl:
+46 -69
View File
@@ -1,4 +1,4 @@
*todo.txt* For Vim version 8.1. Last change: 2019 Apr 20
*todo.txt* For Vim version 8.1. Last change: 2019 May 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -145,6 +145,9 @@ Williams, 2018 Oct 30)
Problem with :tlmenu: Detach item added with all modes? Issue #3563.
The quoting of the [command] argument of :terminal is not clearly documented.
Give a few examples. (#4288)
Bug: script written with "-W scriptout" contains Key codes, while the script
read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
@@ -152,6 +155,9 @@ be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
Mar 5)
Add a way to create an empty, hidden buffer. Like doing ":new|hide".
":let buf = bufcreate('name')
When using a timer callback vgetc_busy is reset, allowing for using input().
But in a channel callback this does not happen. We need to do something
similar to check_due_timer(). Also see #3809.
@@ -165,9 +171,20 @@ Support setting the character displayed below the last line? Neovim uses
Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
added?
Add test for urxvt mouse codes. Also test that mouse coordinates can be
negative. (see #4326)
'cmdheight' has a tab-local value, but it cannot be obtained with
`:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_
tab page. (Ingo Karkat, #4324)
:call settabwinvar(1, 1, '&cmdheight', 2) also doesn't work well.
This modeline throws unexpected errors: (#4165)
vim: syn=nosyntax
":doau SomeEvent" gives "No matching autocommands". This message doesn't give
a hint about how to fix it. (#4300)
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
#2948. (related to #1512?)
On Win32 it stops showing, because showState is already ShS_SHOWING.
@@ -184,6 +201,9 @@ https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
Still a E315 error when using terminal. (Masato Nishihata, #3959)
Use dict_iterate_start() / dict_iterate_next() instead of relying on the
internals of the dict structure.
Running test_gui and test_gui_init with Motif sometimes kills the window
manager. Problem with Motif? Now test_gui crashes in submenu_change().
Athena is OK.
@@ -191,23 +211,6 @@ Motif: Build on Ubuntu can't enter any text in dialog text fields.
nvo-mode mapping works on Windows, not on Linux. (#3678)
Patch to make Command-V use CTRL-R_CTRL-O* on Mac, like on Windows.
(Ken Takata, #4266)
No test for NULL after allocating memory: #4174 (martinkunevtoptal does this?)
src/crypt.c line 256;
src/crypt_zip.c line 93;
src/gui_gtk_f.c line 132;
src/gui_gtk_x11 line 1578;
src/libvterm/src/state.c line 332;
src/libvterm/src/state.c line 255;
src/libvterm/src/state.c line 1618;
src/libvterm/src/state.c line 1643
src/libvterm/src/termscreen.c line 83;
src/ops.c line 6185;
src/option.c line 12980;
src/popupmnu.c line 1090;
Missing tests for:
- add_termcap_entry()
@@ -240,6 +243,9 @@ punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
Using single wide base character with double wide composing character gives
drawing errors. Fill up the base character? (Dominique, #4328)
Problem with two buffers with the same name a/b, if it didn't exist before and
is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
@@ -258,63 +264,38 @@ When splitting a window with few text lines, the relative cursor position is
kept, which means part of the text isn't displayed. Better show all the text
when possible. (Dylan Lloyd, #3973)
Patch to not recognize "version" as "v:version", "count" as "v:count".
Ken Takata, #4274.
Patch to implement 'diffref' option. (#3535)
Easier to use a 'diffmaster' option, is the extra complexity needed?
Patch to fix that bracketed paste remains after Vim exits. (2018 Oct 30, #3579)
Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
(#3692)
cursorline highlighting not removed after yanking in Visual mode.
(Matéo Zanibelli, 2018 Oct 30, #3578)
Patch by Christian, Oct 30.
Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890)
Patch to filter marks. (Marcin Szamotulski, 2019 Feb 7, #3895)
Patch to add environ(), gets a dict with all environment vars, and getenv(),
useful for environment vars that are not made of keyword chars.
(Yasuhiro Matsumoto, #2875)
Add buffer argument to undotree(). (#4001)
Patch to add optional arguments with default values.
(Andy Massimino, #3952) under development
Patch to fix that Normal is not defined when not compiled with GUI.
(Christian Brabandt, 2019 May 7, on issue #4072)
Patch to add tab-local directories. (Yegappan, #4212)
Good now?
Patch to add optional arguments with default values.
(Andy Massimino, #3952) Needs to be reviewed.
Patch to add more info to OptionSet. Should mention what triggered the change
":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
#4118. Proposed implementation: 2019 Mar 27. Tests fail, help update
missing. Updated 2019 Apr 9
#4118. Proposed implementation: 2019 Mar 27.
Updated 2019 Apr 9: ASAN fails.
Problem with Visual yank when 'linebreak' and 'showbreak' are set.
Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018
Nov 17) Asked about this, Dec 22. Christian will have a look.
Patch to add ruby cflags. (#4050, fixes #1081)
Needs modification.
Patch for larger icons in installer. (#978) Still not good.
Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
New update 2017 Apr 10, #1628
https://github.com/chrisbra/vim-mq-patches/blob/master/tagfunc
Updated by Andy Massimino, 2018 Feb 7:
https://github.com/andymass/vim/commit/4e3aa0a5dab96d2799567622f3f537e357aa479e
Or should we make it asynchronous?
Patch by Andy Massimino: #4010 - needs a bit more work: produce errors when
something is wrong.
Patch to add commands to jump to quickfix entry above/below the cursor.
(Yegappan Lakshmanan, #4316) Also do :cbefore and :cafter.
Patch to fix that using "5gj" starting inside a closed fold does not work on
screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test.
Patch to implement 'diffref' option. (#3535)
Easier to use a 'diffmaster' option, is the extra complexity needed?
Not ready to include.
Memory leaks in test_channel? (or is it because of fork())
Using uninitialized value in test_crypt.
Memory leak in test_terminal:
@@ -331,9 +312,6 @@ Memory leak in test_alot with pyeval() (allocating partial)
gethostbyname() is old, use getaddrinfo() if available. (#3227)
Patch to add match count and current index "3/44" when using "n" command.
(Christian Brabandt, on issue #453). Only when search string was typed?
matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
19.
@@ -455,6 +433,11 @@ Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
Patch to be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
Nov 22).
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
24)
Try out background make plugin:
https://github.com/AndrewVos/vim-make-background
or asyncmake:
@@ -712,10 +695,6 @@ The ++ options for the :edit command are also useful on the Vim command line.
When recovering a file, put the swap file name in b:recovered_swapfile. Then
a command can delete it.
When a swap file exists, is not for a running process, is from the same
machine and recovering results in the same text, we could silently delete it.
#1237
Overlong utf-8 sequence is displayed wrong. (Harm te Hennepe, 2017 Sep 14,
#2089) Patch with possible solution by Björn Linse.
@@ -1019,6 +998,8 @@ Regexp problems:
time is spent in addstate_here() copying the threads. Instead of copying,
let each thread point to the next one (by offset, the list is reallocated).
(Dominique Pelle, 2019 Feb 18)
- Old engine: using 'incsearch' /\Zabc does not highlight the "c" if it has a
composing character. New engine is OK. (Tony Mechelynck, 2019 May 5)
- When search pattern has the base character both with and without combining
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
@@ -1748,11 +1729,6 @@ When running Vim in silent ex mode, an existing swapfile causes Vim to wait
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
Do give the prompt? Quit with an error?
Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
24)
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)
@@ -4010,7 +3986,8 @@ Folding:
secondary: zB zS zT zZ, z=)
8 Vertical folds: looks like vertically split windows, but the cursor moves
through the vertical separator, separator moves when scrolling.
8 Add "z/" and "z?" for searching in not folded text only.
8 Add "z/" and "z?" for searching in not folded text only. Or use a regexp
item, so that it can be used in any pattern.
8 When a closed fold is displayed open because of 'foldminlines', the
behavior of commands is still like the fold is closed. How to make the
user aware of this?
@@ -6001,7 +5978,7 @@ Various improvements:
used, remove the <CR> at the end of lines in [range].
A CTRL-Z at the end of the file is removed. If
[range] is omitted, or it is the whole file, and all
lines end in <CR> 'textmode' is set. {not in Vi}
lines end in <CR> 'textmode' is set.
- Should integrate addstar() and file_pat_to_reg_pat().
- When working over a serial line with 7 bit characters, remove meta
characters from 'isprint'.
+10 -15
View File
@@ -1,4 +1,4 @@
*undo.txt* For Vim version 8.1. Last change: 2019 Jan 04
*undo.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -19,26 +19,24 @@ The basics are explained in section |02.5| of the user manual.
1. Undo and redo commands *undo-commands*
<Undo> or *undo* *<Undo>* *u*
u Undo [count] changes. {Vi: only one level}
u Undo [count] changes.
*:u* *:un* *:undo*
:u[ndo] Undo one change. {Vi: only one level}
:u[ndo] Undo one change.
*E830*
:u[ndo] {N} Jump to after change number {N}. See |undo-branches|
for the meaning of {N}. {not in Vi}
for the meaning of {N}.
*CTRL-R*
CTRL-R Redo [count] changes which were undone. {Vi: redraw
screen}
CTRL-R Redo [count] changes which were undone.
*:red* *:redo* *redo*
:red[o] Redo one change which was undone. {Vi: no redo}
:red[o] Redo one change which was undone.
*U*
U Undo all latest changes on one line, the line where
the latest change was made. |U| itself also counts as
a change, and thus |U| undoes a previous |U|.
{Vi: while not moved off of the last modified line}
The last changes are remembered. You can use the undo and redo commands above
to revert the text to how it was before each change. You can also apply the
@@ -95,7 +93,6 @@ change but joins in with the previous change use this command:
Warning: Use with care, it may prevent the user from
properly undoing changes. Don't use this after undo
or redo.
{not in Vi}
This is most useful when you need to prompt the user halfway through a change.
For example in a function that calls |getchar()|. Do make sure that there was
@@ -151,7 +148,7 @@ This is explained in the user manual: |usr_32.txt|.
*g-*
g- Go to older text state. With a count repeat that many
times. {not in Vi}
times.
*:ea* *:earlier*
:earlier {count} Go to older text state {count} times.
:earlier {N}s Go to older text state about {N} seconds before.
@@ -170,7 +167,7 @@ g- Go to older text state. With a count repeat that many
*g+*
g+ Go to newer text state. With a count repeat that many
times. {not in Vi}
times.
*:lat* *:later*
:later {count} Go to newer text state {count} times.
:later {N}s Go to newer text state about {N} seconds later.
@@ -280,10 +277,8 @@ respectively:
the existing file and then creating a new file with the same
name. So it is not possible to overwrite an existing undofile
in a write-protected directory.
{not in Vi}
:rundo {file} Read undo history from {file}.
{not in Vi}
You can use these in autocommands to explicitly specify the name of the
history file. E.g.: >
@@ -374,10 +369,10 @@ information you can use these commands: >
:unlet old_undolevels
Marks for the buffer ('a to 'z) are also saved and restored, together with the
text. {Vi does this a little bit different}
text.
When all changes have been undone, the buffer is not considered to be changed.
It is then possible to exit Vim with ":q" instead of ":q!" {not in Vi}. Note
It is then possible to exit Vim with ":q" instead of ":q!". Note
that this is relative to the last write of the file. Typing "u" after ":w"
actually changes the buffer, compared to what was written, so the buffer is
considered changed then.
+5 -2
View File
@@ -1,4 +1,4 @@
*usr_21.txt* For Vim version 8.1. Last change: 2012 Nov 02
*usr_21.txt* For Vim version 8.1. Last change: 2019 Apr 25
VIM USER MANUAL - by Bram Moolenaar
@@ -263,7 +263,8 @@ well stand for "source").
The windows that were open are restored, with the same position and size as
before. Mappings and option values are like before.
What exactly is restored depends on the 'sessionoptions' option. The
default value is "blank,buffers,curdir,folds,help,options,winsize".
default value is:
"blank,buffers,curdir,folds,help,options,tabpages,winsize,terminal".
blank keep empty windows
buffers all buffers, not only the ones in a window
@@ -271,7 +272,9 @@ default value is "blank,buffers,curdir,folds,help,options,winsize".
folds folds, also manually created ones
help the help window
options all options and mappings
tabpages all tab pages
winsize window sizes
terminal include terminal windows
Change this to your liking. To also restore the size of the Vim window, for
example, use: >
+1 -1
View File
@@ -1,4 +1,4 @@
*usr_22.txt* For Vim version 8.1. Last change: 2016 Dec 13
*usr_22.txt* For Vim version 8.1. Last change: 2019 Apr 27
VIM USER MANUAL - by Bram Moolenaar
+8 -1
View File
@@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 8.1. Last change: 2019 May 04
*usr_41.txt* For Vim version 8.1. Last change: 2019 May 09
VIM USER MANUAL - by Bram Moolenaar
@@ -769,10 +769,14 @@ System functions and manipulation of files:
haslocaldir() check if current window used |:lcd| or |:tcd|
tempname() get the name of a temporary file
mkdir() create a new directory
chdir() change current working directory
delete() delete a file
rename() rename a file
system() get the result of a shell command as a string
systemlist() get the result of a shell command as a list
environ() get all environment variables
getenv() get one environment variable
setenv() set an environment variable
hostname() name of the system
readfile() read a file into a List of lines
readdir() get a List of file names in a directory
@@ -808,6 +812,8 @@ Buffers, windows and the argument list:
setbufline() replace a line in the specified buffer
appendbufline() append a list of lines in the specified buffer
deletebufline() delete lines from a specified buffer
listener_add() add a callback to listen to changes
listener_remove() remove a listener callback
win_findbuf() find windows containing a buffer
win_getid() get window ID of a window
win_gotoid() go to window with ID
@@ -902,6 +908,7 @@ GUI: *gui-functions*
getwinposy() Y position of the Vim window
balloon_show() set the balloon content
balloon_split() split a message for a balloon
balloon_gettext() get the text in the balloon
Vim server: *server-functions*
serverlist() return the list of server names
+2 -3
View File
@@ -281,9 +281,8 @@ unpacked them.
In case you are not satisfied with the features included in the supplied
binaries, you could try compiling Vim yourself. Get the source archive from
the same location as where the binaries are. You need a compiler for which a
makefile exists. Microsoft Visual C works, but is expensive. The Free
Borland command-line compiler 5.5 can be used, as well as the free MingW and
Cygwin compilers. Check the file src/INSTALLpc.txt for hints.
makefile exists. Microsoft Visual C works, but is expensive. The free MinGW
and Cygwin compilers can be used. Check the file src/INSTALLpc.txt for hints.
==============================================================================
*90.3* Upgrading
+27 -23
View File
@@ -1,4 +1,4 @@
*various.txt* For Vim version 8.1. Last change: 2019 Mar 23
*various.txt* For Vim version 8.1. Last change: 2019 May 09
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -73,8 +73,6 @@ ga Print the ascii value of the character under the
<ö> 246, Hex 00f6, Oct 366, Digr o: ~
This shows you can type CTRL-K o : to insert ö.
{not in Vi}
*g8*
g8 Print the hex values of the bytes used in the
character under the cursor, assuming it is in |UTF-8|
@@ -82,7 +80,6 @@ g8 Print the hex values of the bytes used in the
value of 'maxcombine' doesn't matter.
Example of a character with two composing characters:
e0 b8 81 + e0 b8 b9 + e0 b9 89 ~
{not in Vi}
*8g8*
8g8 Find an illegal UTF-8 byte sequence at or after the
@@ -97,7 +94,6 @@ g8 Print the hex values of the bytes used in the
Note that when the cursor is on an illegal byte or the
cursor is halfway a multi-byte character the command
won't move the cursor.
{not in Vi}
*:p* *:pr* *:print* *E749*
:[range]p[rint] [flags]
@@ -174,7 +170,6 @@ g8 Print the hex values of the bytes used in the
:{range}z#[+-^.=]{count} *:z#*
Like ":z", but number the lines.
{not in all versions of Vi, not with these arguments}
*:=*
:= [flags] Print the last line number.
@@ -224,7 +219,6 @@ g8 Print the hex values of the bytes used in the
Example: >
:exe "normal \<c-w>\<c-w>"
< {not in Vi, of course}
:{range}norm[al][!] {commands} *:normal-range*
Execute Normal mode commands {commands} for each line
@@ -232,7 +226,6 @@ g8 Print the hex values of the bytes used in the
cursor is positioned in the first column of the range,
for each line. Otherwise it's the same as the
":normal" command without a range.
{not in Vi}
*:sh* *:shell* *E371*
:sh[ell] This command starts a shell. When the shell exits
@@ -493,7 +486,7 @@ N *+X11* Unix only: can restore window title |X11|
:ve[rsion] {nr} Is now ignored. This was previously used to check the
version number of a .vimrc file. It was removed,
because you can now use the ":if" command for
version-dependent behavior. {not in Vi}
version-dependent behavior.
*:redi* *:redir*
:redi[r][!] > {file} Redirect messages to file {file}. The messages which
@@ -513,31 +506,28 @@ N *+X11* Unix only: can restore window title |X11|
with ":silent call Function()".
An alternative is to use the 'verbosefile' option,
this can be used in combination with ":redir".
{not in Vi}
:redi[r] >> {file} Redirect messages to file {file}. Append if {file}
already exists. {not in Vi}
already exists.
:redi[r] @{a-zA-Z}
:redi[r] @{a-zA-Z}> Redirect messages to register {a-z}. Append to the
contents of the register if its name is given
uppercase {A-Z}. The ">" after the register name is
optional. {not in Vi}
:redi[r] @{a-z}>> Append messages to register {a-z}. {not in Vi}
optional.
:redi[r] @{a-z}>> Append messages to register {a-z}.
:redi[r] @*>
:redi[r] @+> Redirect messages to the selection or clipboard. For
backward compatibility, the ">" after the register
name can be omitted. See |quotestar| and |quoteplus|.
{not in Vi}
:redi[r] @*>>
:redi[r] @+>> Append messages to the selection or clipboard.
{not in Vi}
:redi[r] @"> Redirect messages to the unnamed register. For
backward compatibility, the ">" after the register
name can be omitted. {not in Vi}
:redi[r] @">> Append messages to the unnamed register. {not in Vi}
name can be omitted.
:redi[r] @">> Append messages to the unnamed register.
:redi[r] => {var} Redirect messages to a variable. If the variable
doesn't exist, then it is created. If the variable
@@ -546,14 +536,14 @@ N *+X11* Unix only: can restore window title |X11|
Only string variables can be used. After the
redirection starts, if the variable is removed or
locked or the variable type is changed, then further
command output messages will cause errors. {not in Vi}
command output messages will cause errors.
To get the output of one command the |execute()|
function can be used.
:redi[r] =>> {var} Append messages to an existing variable. Only string
variables can be used. {not in Vi}
variables can be used.
:redi[r] END End redirecting messages. {not in Vi}
:redi[r] END End redirecting messages.
*:filt* *:filter*
:filt[er][!] {pat} {command}
@@ -695,12 +685,11 @@ K Run a program to lookup the keyword under the
< - When 'keywordprg' is equal to "man -s", a count
before "K" is inserted after the "-s". If there is
no count, the "-s" is removed.
{not in Vi}
*v_K*
{Visual}K Like "K", but use the visually highlighted text for
the keyword. Only works when the highlighted text is
not more than one line. {not in Vi}
not more than one line.
[N]gs *gs* *:sl* *:sleep*
:[N]sl[eep] [N] [m] Do nothing for [N] seconds. When [m] is included,
@@ -713,11 +702,26 @@ K Run a program to lookup the keyword under the
< Can be interrupted with CTRL-C (CTRL-Break on MS-DOS).
"gs" stands for "goto sleep".
While sleeping the cursor is positioned in the text,
if at a visible position. {not in Vi}
if at a visible position.
Also process the received netbeans messages. {only
available when compiled with the |+netbeans_intg|
feature}
*:xrestore* *:xr*
:xr[estore] [display] Reinitializes the connection to the X11 server. Useful
after the X server restarts, e.g. when running Vim for
long time inside screen/tmux and connecting from
different machines).
[display] should be in the format of the $DISPLAY
environment variable (e.g. "localhost:10.0")
If [display] is omitted, then it reinitializes the
connection to the X11 server using the same value as
was used for the previous execution of this command.
If the value was never specified, then it uses the
value of $DISPLAY environment variable as it was when
Vim was started.
{only available when compiled with the |+clipboard|
feature}
*g_CTRL-A*
g CTRL-A Only when Vim was compiled with MEM_PROFILING defined
+282 -18
View File
@@ -1,4 +1,4 @@
*vi_diff.txt* For Vim version 8.1. Last change: 2019 Apr 28
*vi_diff.txt* For Vim version 8.1. Last change: 2019 May 07
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -6,9 +6,8 @@
Differences between Vim and Vi *vi-differences*
Throughout the help files differences between Vim and Vi/Ex are given in
curly braces, like "{not in Vi}". This file only lists what has not been
mentioned in other files and gives an overview.
This file lists the differences between Vim and Vi/Ex and gives an overview of
what is in Vim that is not in Vi.
Vim is mostly POSIX 1003.2-1 compliant. The only command known to be missing
is ":open". There are probably a lot of small differences (either because Vim
@@ -180,6 +179,10 @@ Multiple windows and buffers. |windows.txt|
line with tab labels can be used to quickly switch between these pages.
|tab-page|
Terminal window. |:terminal|
Vim can create a window in which a terminal emulator runs. This can
be used to execute an arbitrary command, a shell or a debugger.
Syntax highlighting. |:syntax|
Vim can highlight keywords, patterns and other things. This is
defined by a number of |:syntax| commands, and can be made to
@@ -194,6 +197,11 @@ Syntax highlighting. |:syntax|
|'hlsearch'|, matching parens |matchparen| and the cursor line and
column |'cursorline'| |'cursorcolumn'|.
Text properties |textprop.txt|
Vim supports highlighting text by a plugin. Property types can be
specificed with |prop_type_add()| and properties can be placed with
|prop_add()|.
Spell checking. |spell|
When the 'spell' option is set Vim will highlight spelling mistakes.
About 50 languages are currently supported, selected with the
@@ -262,6 +270,8 @@ Visual mode. |Visual-mode|
~ swap case
u make lowercase
U make uppercase
{Vi has no Visual mode, the name "visual" is used for Normal mode, to
distinguish it from Ex mode}
Block operators. |visual-block|
With Visual mode a rectangular block of text can be selected. Start
@@ -283,6 +293,12 @@ Command-line editing and history. |cmdline-editing|
forward/backward one character. The shifted right/left cursor keys
can be used to move forward/backward one word. CTRL-B/CTRL-E can be
used to go to the begin/end of the command-line.
{Vi: can only alter the last character in the line}
{Vi: when hitting <Esc> the command-line is executed. This is
unexpected for most people; therefore it was changed in Vim. But when
the <Esc> is part of a mapping, the command-line is executed. If you
want the Vi behaviour also when typing <Esc>, use ":cmap ^V<Esc>
^V^M"}
|cmdline-history|
The command-lines are remembered. The up/down cursor keys can be used
to recall previous command-lines. The 'history' option can be set to
@@ -522,10 +538,16 @@ With the CTRL-] command, the cursor may be in the middle of the identifier.
The used tags are remembered. Commands that can be used with the tag stack
are CTRL-T, ":pop" and ":tag". ":tags" lists the tag stack.
Vi uses 'wrapscan' when searching for a tag. When jumping to a tag Vi starts
searching in line 2 of another file. It does not find a tag in line 1 of
another file when 'wrapscan' is not set.
The 'tags' option can be set to a list of tag file names. Thus multiple
tag files can be used. For file names that start with "./", the "./" is
replaced with the path of the current file. This makes it possible to use a
tags file in the same directory as the file being edited.
{Vi: always uses binary search in some versions}
{Vi does not have the security prevention for commands in tag files}
Previously used file names are remembered in the alternate file name list.
CTRL-^ accepts a count, which is an index in this list.
@@ -563,6 +585,8 @@ one space after a period (Vi inserts two spaces).
"cw" can be used to change white space formed by several characters (Vi is
confusing: "cw" only changes one space, while "dw" deletes all white space).
{Vi: "cw" when on a blank followed by other blanks changes only the first
blank; this is probably a bug, because "dw" deletes all the blanks}
"o" and "O" accept a count for repeating the insert (Vi clears a part of
display).
@@ -631,7 +655,7 @@ of the window.
Uppercase marks can be used to jump between files. The ":marks" command lists
all currently set marks. The commands "']" and "`]" jump to the end of the
previous operator or end of the text inserted with the put command. "'[" and
"`[" do jump to the start.
"`[" do jump to the start. {Vi: no uppercase marks}
The 'shelltype' option can be set to reflect the type of shell used on the
Amiga.
@@ -776,14 +800,16 @@ filesystem under Unix. See |'shortname'|.
Error messages are shown at least one second (Vi overwrites error messages).
If Vim gives the |hit-enter| prompt, you can hit any key. Characters other
than <CR>, <NL> and <Space> are interpreted as the (start of) a command. (Vi
only accepts a command starting with ':').
than <CR>, <NL> and <Space> are interpreted as the (start of) a command.
{Vi: only ":" commands are interpreted}
The contents of the numbered and unnamed registers is remembered when
changing files.
The "No lines in buffer" message is a normal message instead of an error
message, since that may cause a mapping to be aborted.
{Vi: error messages may be overwritten with other messages before you have a
chance to read them}
The AUX: device of the Amiga is supported.
@@ -795,35 +821,267 @@ the 'compatible' option is set and 'cpoptions' contains all flags. What the
effect is of resetting 'compatible' and removing flags from 'cpoptions' can be
found at the help for the specific command.
Below is listed what features are present in Vi. Anything else has been added
by Vim.
The help files used to mark features that are in Vim but not in Vi with {not
in Vi}. However, since these remarks cluttered the help files we now do it
the other way around: Below is listed what Vi already supported. Anything
else has been added by Vim.
The following Ex commands are supported by Vi: ~
TODO
`:abbreviate` enter abbreviation
`:append` append text
`:args` print the argument list
`:cd` change directory; Vi: no "cd -"
`:change` replace a line or series of lines
`:chdir` change directory
`:copy` copy lines
`:delete` delete lines
`:edit` edit a file
`:exit` same as `:xit`
`:file` show or set the current file name; Vi: without the column number
`:global` execute commands for matching lines
`:insert` insert text
`:join` join lines; Vi: not :join!
`:k` set a mark
`:list` print lines
`:map` show or enter a mapping
`:mark` set a mark
`:move` move lines
`:Next` go to previous file in the argument list {Vi: no count}
`:next` go to next file in the argument list {Vi: no count}
`:number` print lines with line number
`:open` start open mode (not implemented in Vim)
`:pop` jump to older entry in tag stack (only in some versions)
`:preserve` write all text to swap file {Vi: might also exit}
`:previous` same as `:Next` {Vi: only in some versions}
`:print` print lines
`:put` insert contents of register in the text
`:quit` quit Vi
`:read` read file into the text
`:recover` recover a file from a swap file {Vi: recovers in another way
and sends mail if there is something to recover}
`:rewind` go to the first file in the argument list; no ++opt
`:set` set option; but not `:set inv{option}`, `:set option&`,
`:set all&`, `:set option+=value`, `:set option^=value`
`:set option-=value` `:set option<`
`:shell` escape to a shell
`:source` read Vim or Ex commands from a file
`:stop` suspend the editor or escape to a shell
`:substitute` find and replace text; Vi: no '&', 'i', 's', 'r' or 'I' flag,
confirm prompt only supports 'y' and 'n', no highlighting
`:suspend` same as ":stop"
`:t` same as ":copy"
`:tag` jump to tag
`:unabbreviate` remove abbreviation
`:undo` undo last change {Vi: only one level}
`:unmap` remove mapping
`:vglobal` execute commands for not matching lines
`:version` print version number and other info
`:visual` same as ":edit", but turns off "Ex" mode
`:wq` write to a file and quit Vi
`:write` write to a file
`:xit` write if buffer changed and quit Vi
`:yank` yank lines into a register
`:z` print some lines {not in all versions of Vi}
`:!` filter lines or execute an external command
`:"` comment
`:#` same as ":number"
`:*` execute contents of a register
`:&` repeat last ":substitute"
`:<` shift lines one 'shiftwidth' left
`:=` print the cursor line number
`:>` shift lines one 'shiftwidth' right
`:@` execute contents of a register; but not `:@`; `:@@` only in
some versions
`:set` but not `:set inv{option}`, `:set option&`, `:set all&`,
`:set option+=value`,
`:set option^=value`
`:set option-=value`
`:set option<`
Common for these commands is that Vi doesn't support the ++opt argument on
`:edit` and other commands that open a file.
The following Normal mode commands are supported by Vi: ~
TODO
|CTRL-B| scroll N screens Backwards
|CTRL-C| interrupt current (search) command
|CTRL-D| scroll Down N lines (default: half a screen); Vim scrolls
'scroll' screen lines, Vi scrolls file lines; makes a
difference when lines wrap
|CTRL-E| scroll N lines upwards (N lines Extra)
|CTRL-F| scroll N screens Forward
|CTRL-G| display current file name and position
|<BS>| same as "h"
|CTRL-H| same as "h"
|<NL>| same as "j"
|CTRL-J| same as "j"
|CTRL-L| redraw screen
|<CR>| cursor to the first CHAR N lines lower
|CTRL-M| same as <CR>
|CTRL-N| same as "j"
|CTRL-P| same as "k"
|CTRL-R| in some Vi versions: same as CTRL-L
|CTRL-T| jump to N older Tag in tag list
|CTRL-U| N lines Upwards (default: half a screen)
|CTRL-Y| scroll N lines downwards
|CTRL-Z| suspend program (or start new shell)
|CTRL-]| :ta to ident under cursor {Vi: identifier after the cursor}
|CTRL-^| edit alternate file {Vi: no count}
|<Space>| same as "l"
|!| filter Nmove text through the {filter} command
|!!| filter N lines through the {filter} command
" use register {a-zA-Z0-9.%#:-"} for next delete, yank or put
(uppercase to append) ({.%#:} only work with put)
|$| cursor to the end of Nth next line
|%| find the next (curly/square) bracket on this line and go to
its match, or go to matching comment bracket, or go to
matching preprocessor directive (Vi: no count supported)
|&| repeat last :s
|'| jump to mark (Vi: only lowercase marks)
|(| cursor N sentences backward
|)| cursor N sentences forward
|+| same as <CR>
|,| repeat latest f, t, F or T in opposite direction N times
|-| cursor to the first CHAR N lines higher
|.| repeat last change with count replaced with N
|/| search forward for the Nth occurrence of {pattern}
|0| cursor to the first char of the line
|:| start entering an Ex command
|;| repeat latest f, t, F or T N times
|<| shift Nmove lines one 'shiftwidth' leftwards
|<<| shift N lines one 'shiftwidth' leftwards
|=| filter Nmove lines through "indent"
|==| filter N lines through "indent"
|>| shift Nmove lines one 'shiftwidth' rightwards
|>>| shift N lines one 'shiftwidth' rightwards
|?| search backward for the Nth previous occurrence of {pattern}
|@| execute the contents of register {a-z} N times
{Vi: only named registers}
|@@| repeat the previous @{a-z} N times
|A| append text after the end of the line N times
|B| cursor N WORDS backward
|C| change from the cursor position to the end of the line
|D| delete the characters under the cursor until the end of the
line and N-1 more lines [into register x]; synonym for "d$"
|E| cursor forward to the end of WORD N
|F| cursor to the Nth occurrence of {char} to the left
|G| cursor to line N, default last line
|H| cursor to line N from top of screen
|I| insert text before the first CHAR on the line N times
|J| Join N lines; default is 2
|L| cursor to line N from bottom of screen
|M| cursor to middle line of screen
|N| repeat the latest '/' or '?' N times in opposite direction
|O| begin a new line above the cursor and insert text, repeat N
times {Vi: blank [count] screen lines}
|P| put the text [from register x] before the cursor N times
{Vi: no count}
|Q| switch to "Ex" mode
|R| enter replace mode: overtype existing characters, repeat the
entered text N-1 times
|S| delete N lines [into register x] and start insert; synonym for
"cc".
|T| cursor till after Nth occurrence of {char} to the left
|U| undo all latest changes on one line
{Vi: while not moved off of the last modified line}
|W| cursor N WORDS forward
|X| delete N characters before the cursor [into register x]
|Y| yank N lines [into register x]; synonym for "yy"
|ZZ| store current file if modified, and exit
|[[| cursor N sections backward
|]]| cursor N sections forward
|^| cursor to the first CHAR of the line
|_| cursor to the first CHAR N - 1 lines lower
|`| cursor to the mark {a-zA-Z0-9}
|a| append text after the cursor N times
|b| cursor N words backward
|c| delete Nmove text [into register x] and start insert
|cc| delete N lines [into register x] and start insert
|d| delete Nmove text [into register x]
|dd| delete N lines [into register x]
|e| cursor forward to the end of word N
|f| cursor to Nth occurrence of {char} to the right
|h| cursor N chars to the left
|i| insert text before the cursor N times
|j| cursor N lines downward
|k| cursor N lines upward
|l| cursor N chars to the right
|m| set mark {A-Za-z} at cursor position
|n| repeat the latest '/' or '?' N times
|o| begin a new line below the cursor and insert text
{Vi: blank [count] screen lines}
|p| put the text [from register x] after the cursor N times
{Vi: no count}
|r| replace N chars with {char} {Vi: CTRL-V <CR> still replaces
with a line break, cannot replace something with a <CR>}
|s| (substitute) delete N characters [into register x] and start
insert
|t| cursor till before Nth occurrence of {char} to the right
|u| undo changes {Vi: only one level}
|w| cursor N words forward
|x| delete N characters under and after the cursor [into register
x]
|y| yank Nmove text [into register x]
|yy| yank N lines [into register x]
|z<CR>| current line to the top
|z-| current line to the bottom
|z+| cursor on line N
|z^| cursor on line N
|{| cursor N paragraphs backward
| cursor to column N
|}| cursor N paragraphs forward
|~| switch case of N characters under the cursor; Vim: depends on
'tildeop' {Vi: no count, no 'tildeop'}
|<Del>| same as "x"
The following commands are supported in Insert mode by Vi: ~
CTRL-@ insert previously inserted text and stop insert
{Vi: only when typed as first char, only up to 128 chars}
CTRL-C quit insert mode, without checking for abbreviation, unless
'insertmode' set.
CTRL-D delete one shiftwidth of indent in the current line
{Vi: CTRL-D works only when used after autoindent}
<BS> delete character before the cursor {Vi: does not delete
autoindents, does not cross lines, does not delete past start
position of insert}
CTRL-H same as <BS>
<Tab> insert a <Tab> character
CTRL-I same as <Tab>
<NL> same as <CR>
CTRL-J same as <CR>
<CR> begin new line
CTRL-M same as <CR>
CTRL-T insert one shiftwidth of indent in current line {Vi: only when
in indent}
CTRL-V {char} insert next non-digit literally {Vi: no decimal byte entry}
CTRL-W delete word before the cursor
CTRL-Z when 'insertmode' set: suspend Vim
<Esc> end insert mode (unless 'insertmode' set)
CTRL-[ same as <Esc>
0 CTRL-D delete all indent in the current line
^ CTRL-D delete all indent in the current line, restore it in the next
line
<Del> delete character under the cursor
The following options are supported by Vi: ~
'autoindent' 'ai' take indent for new line from previous line
{Vi does this slightly differently: After the
indent is deleted when typing <Esc> or <CR>, the
cursor position when moving up or down is after
the deleted indent; Vi puts the cursor somewhere
in the deleted indent}.
'autowrite' 'aw' automatically write file if changed
'directory' 'dir' list of directory names for the swap file
{Vi: directory to put temp file in, defaults to
"/tmp"}
'edcompatible' 'ed' toggle flags of ":substitute" command
'errorbells' 'eb' ring the bell for error messages
'ignorecase' 'ic' ignore case in search patterns
'lines' number of lines in the display
'lisp' automatic indenting for Lisp
'lisp' automatic indenting for Lisp {Vi: Does it a little
bit differently}
'list' show <Tab> and <EOL>
'magic' changes special characters in search patterns
'modeline' 'ml' recognize 'modelines' at start or end of file
@@ -844,17 +1102,22 @@ The following options are supported by Vi: ~
'tabstop' 'ts' number of spaces that <Tab> in file uses
'taglength' 'tl' number of significant characters for a tag
'tags' 'tag' list of file names used by the tag command
{Vi: default is "tags /usr/lib/tags"}
'tagstack' 'tgst' push tags onto the tag stack {not in all versions
of Vi}
'term' name of the terminal
'terse' shorten some messages
'timeout' 'to' time out on mappings and key codes
'timeoutlen' 'tm' time for 'timeout' {only in some Vi versions}
'ttytype' 'tty' alias for 'term'
'verbose' 'vbs' give informative messages {only in some Vi
versions as a boolean option}
'warn' warn for shell command when buffer was changed
'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B
{Vi also uses the option to specify the number of
displayed lines}
'wrapmargin' 'wm' chars from the right where wrapping starts
{Vi: works differently and less usefully}
'wrapscan' 'ws' searches wrap around the end of the file
'writeany' 'wa' write to file with no need for "!" override
@@ -968,7 +1231,8 @@ Only Vim is able to accept options in between and after the file names.
-i Elvis: Start each window in Insert mode.
-i {viminfo} Vim: Use {viminfo} for viminfo file.
-L Vim: Same as "-r" (also in some versions of Vi).
-L Vim: Same as "-r" {only in some versions of Vi: "List
recoverable edit sessions"}.
-l Nvi, Vi, Vim: Set 'lisp' and 'showmatch' options.
+1 -3
View File
@@ -1,4 +1,4 @@
*visual.txt* For Vim version 8.1. Last change: 2019 Feb 25
*visual.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -20,8 +20,6 @@ This is introduced in section |04.4| of the user manual.
7. Examples |visual-examples|
8. Select mode |Select-mode|
{Vi has no Visual mode, the name "visual" is used for Normal mode, to
distinguish it from Ex mode}
{Since Vim 7.4.200 the |+visual| feature is always included}
==============================================================================
+4 -5
View File
@@ -1,4 +1,4 @@
*windows.txt* For Vim version 8.1. Last change: 2019 Mar 17
*windows.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -26,7 +26,6 @@ The basics are explained in chapter 7 and 8 of the user manual |usr_07.txt|
11. Using hidden buffers |buffer-hidden|
12. Special kinds of buffers |special-buffers|
{Vi does not have any of these commands}
{not able to use multiple windows when the |+windows| feature was disabled at
compile time}
{not able to use vertically split windows when the |+vertsplit| feature was
@@ -737,7 +736,7 @@ can also get to them with the buffer list commands, like ":bnext".
the current window.
{cmd} can contain '|' to concatenate several commands.
{cmd} must not open or close windows or reorder them.
{not in Vi}
Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
@@ -765,7 +764,7 @@ can also get to them with the buffer list commands, like ":bnext".
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each buffer.
{not in Vi}
Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
@@ -891,7 +890,7 @@ CTRL-W CTRL-Z *CTRL-W_CTRL-Z* *:pc* *:pclose*
*:pp* *:ppop*
:[count]pp[op][!]
Does ":[count]pop[!]" in the preview window. See |:pop| and
|:ptag|. {not in Vi}
|:ptag|.
CTRL-W } *CTRL-W_}*
Use identifier under cursor as a tag and perform a :ptag on
+3 -3
View File
@@ -1,7 +1,7 @@
" Vim support file to detect file types
"
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Apr 19
" Last Change: 2019 May 06
" Listen very carefully, I will say this only once
if exists("did_load_filetypes")
@@ -713,8 +713,8 @@ au BufNewFile,BufRead *.erb,*.rhtml setf eruby
" HTML with M4
au BufNewFile,BufRead *.html.m4 setf htmlm4
" HTML Cheetah template
au BufNewFile,BufRead *.tmpl setf htmlcheetah
" Some template. Used to be HTML Cheetah.
au BufNewFile,BufRead *.tmpl setf template
" Host config
au BufNewFile,BufRead */etc/host.conf setf hostconf
+11
View File
@@ -0,0 +1,11 @@
" Vim filetype plugin
" Language: roff(7)
" Maintainer: Chris Spiegel <cspiegel@gmail.com>
" Last Change: 2019 Apr 24
if exists("b:did_ftplugin")
finish
endif
let b:did_ftplugin = 1
setlocal commentstring=.\\\"%s
+2 -2
View File
@@ -372,8 +372,8 @@ endfunction
endfun
" This variable contain a dictionnary of list. Each element of the dictionnary
" represent an annotation system. An annotation system is a list with :
" - annotation file name as it's key
" represent an annotation system. An annotation system is a list with:
" - annotation file name as its key
" - annotation file path as first element of the contained list
" - build path as second element of the contained list
" - annot_file_last_mod (contain the date of .annot file) as third element
+3 -3
View File
@@ -400,7 +400,7 @@ endif
" Predefined SQL objects what are used by the below mappings using
" the ]} style maps.
" This global variable allows the users to override it's value
" This global variable allows the users to override its value
" from within their vimrc.
" Note, you cannot use \?, since these patterns can be used to search
" backwards, you must use \{,1}
@@ -486,10 +486,10 @@ if exists('&omnifunc')
" OMNI function prior to setting up the SQL OMNI function
let b:sql_compl_savefunc = &omnifunc
" Source it to determine it's version
" Source it to determine its version
runtime autoload/sqlcomplete.vim
" This is used by the sqlcomplete.vim plugin
" Source it for it's global functions
" Source it for its global functions
runtime autoload/syntaxcomplete.vim
setlocal omnifunc=sqlcomplete#Complete
+3 -3
View File
@@ -6,14 +6,15 @@ Name[de]=GVim
Name=GVim
# Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[de]=Texteditor
GenericName[ja]=
GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file
Comment[de]=Textdateien bearbeiten
Comment[ja]=
Comment=Edit text files
# The translations should come from the po file. Leave them here for now, they will
# be overwritten by the po file when generating the desktop.file!
GenericName[da]=Teksteditor
GenericName[de]=Texteditor
GenericName[eo]=Tekstoredaktilo
GenericName[fr]=Éditeur de texte
GenericName[pl]=Edytor tekstu
@@ -30,7 +31,6 @@ Comment[ca]=Edita fitxers de text
Comment[cs]=Úprava textových souborů
Comment[cy]=Golygu ffeiliau testun
Comment[da]=Rediger tekstfiler
Comment[de]=Textdateien bearbeiten
Comment[el]=Επεξεργασία αρχείων κειμένου
Comment[en_CA]=Edit text files
Comment[en_GB]=Edit text files
@@ -50,7 +50,6 @@ Comment[hu]=Szövegfájlok szerkesztése
Comment[id]=Edit file teks
Comment[is]=Vinna með textaskrár
Comment[it]=Modifica file di testo
Comment[ja]=
Comment[kn]= ಿ
Comment[ko]=
Comment[lt]=Redaguoti tekstines bylas
@@ -93,6 +92,7 @@ Terminal=false
Type=Application
# Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
Keywords[de]=Text;Editor;
Keywords[ja]=;;
Keywords=Text;editor;
# Translators: This is the Icon file name. Do NOT translate
Icon[de]=gvim
+1 -1
View File
@@ -47,7 +47,7 @@ endif
function! GetAwkIndent()
" Find previous line and get it's indentation
" Find previous line and get its indentation
let prev_lineno = s:Get_prev_line( v:lnum )
if prev_lineno == 0
return 0
+1 -1
View File
@@ -57,7 +57,7 @@ function GetMmaIndent()
if getline(v:lnum) =~ '[^[]*]\s*$'
" move to the closing bracket
call search(']','bW')
" and find it's partner's indent
" and find its partner's indent
let ind = indent(searchpair('\[','',']','bWn'))
" same for ( blocks
elseif getline(v:lnum) =~ '[^(]*)$'
+1 -1
View File
@@ -39,7 +39,7 @@ endfunction
function s:GetYamlIndent()
let pline = getline(v:lnum - 1)
if pline =~ ':\s*$'
return indent(v:lnum) + &sw
return indent(v:lnum) + shiftwidth()
elseif pline =~ '^\s*- '
return indent(v:lnum) + 2
endif
+4 -2
View File
@@ -3,10 +3,12 @@
" Maintainer: Christian Brabandt <cb@256bit.org>
" Original Author: Nikolai Weibull <now@bitwi.se>
" Previous Maintainer: Peter Aronoff <telemachus@arpinum.org>
" Latest Revision: 2019-03-25
" Latest Revision: 2019-04-27
" License: Vim (see :h license)
" Repository: https://github.com/chrisbra/vim-sh-indent
" Changelog:
" 20190428 - De-indent fi correctly when typing with
" https://github.com/chrisbra/vim-sh-indent/issues/15
" 20190325 - Indent fi; correctly
" https://github.com/chrisbra/vim-sh-indent/issues/14
" 20190319 - Indent arrays (only zsh and bash)
@@ -127,7 +129,7 @@ function! GetShIndent()
" Current line is a endif line, so get indent from start of "if condition" line
" TODO: should we do the same for other "end" lines?
if curline =~ '^\s*\%(fi\);\?\s*\%(#.*\)\=$'
let previous_line = searchpair('\<if\>', '', '\<fi\>', 'bnW')
let previous_line = searchpair('\<if\>', '', '\<fi\>\zs', 'bnW')
if previous_line > 0
let ind = indent(previous_line)
endif
+1 -3
View File
@@ -4,7 +4,7 @@ For instructions on installing this file, type
`:help matchit-install`
inside Vim.
For Vim version 8.1. Last change: 2019 Jan 28
For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Benji Fisher et al
@@ -20,8 +20,6 @@ For Vim version 8.1. Last change: 2019 Jan 28
The functionality mentioned here is a plugin, see |add-plugin|.
This plugin is only available if 'compatible' is not set.
{Vi does not have any of this}
==============================================================================
1. Extended matching with "%" *matchit-intro*
+17 -1
View File
@@ -1,7 +1,7 @@
" Vim syntax file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 Feb 11
" Last Change: 2019 Apr 23
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@@ -289,6 +289,22 @@ if !exists("c_no_c11")
syn keyword cOperator _Static_assert static_assert
syn keyword cStorageClass _Thread_local thread_local
syn keyword cType char16_t char32_t
" C11 atomics (take down the shield wall!)
syn keyword cType atomic_bool atomic_char atomic_schar atomic_uchar
syn keyword Ctype atomic_short atomic_ushort atomic_int atomic_uint
syn keyword cType atomic_long atomic_ulong atomic_llong atomic_ullong
syn keyword cType atomic_char16_t atomic_char32_t atomic_wchar_t
syn keyword cType atomic_int_least8_t atomic_uint_least8_t
syn keyword cType atomic_int_least16_t atomic_uint_least16_t
syn keyword cType atomic_int_least32_t atomic_uint_least32_t
syn keyword cType atomic_int_least64_t atomic_uint_least64_t
syn keyword cType atomic_int_fast8_t atomic_uint_fast8_t
syn keyword cType atomic_int_fast16_t atomic_uint_fast16_t
syn keyword cType atomic_int_fast32_t atomic_uint_fast32_t
syn keyword cType atomic_int_fast64_t atomic_uint_fast64_t
syn keyword cType atomic_intptr_t atomic_uintptr_t
syn keyword cType atomic_size_t atomic_ptrdiff_t
syn keyword cType atomic_intmax_t atomic_uintmax_t
endif
if !exists("c_no_ansi") || exists("c_ansi_constants") || exists("c_gnu")
+2 -2
View File
@@ -3,7 +3,7 @@
" Maintainer: Debian Vim Maintainers
" Former Maintainers: Gerfried Fuchs <alfie@ist.org>
" Wichert Akkerman <wakkerma@debian.org>
" Last Change: 2019 Jan 26
" Last Change: 2019 Apr 21
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debchangelog.vim
" Standard syntax initialization
@@ -21,7 +21,7 @@ let s:binNMU='binary-only=yes'
syn match debchangelogName contained "^[[:alnum:]][[:alnum:].+-]\+ "
exe 'syn match debchangelogFirstKV contained "; \('.s:urgency.'\|'.s:binNMU.'\)"'
exe 'syn match debchangelogOtherKV contained ", \('.s:urgency.'\|'.s:binNMU.'\)"'
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|squeeze-%(backports%(-sloppy)=|volatile|lts|security)|%(wheezy|jessie)%(-backports%(-sloppy)=|-security)=|stretch%(-backports|-security)=|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogTarget contained "\v %(frozen|unstable|sid|%(testing|%(old)=stable)%(-proposed-updates|-security)=|experimental|%(squeeze|wheezy|jessie)-%(backports%(-sloppy)=|lts|security)|stretch%(-backports%(-sloppy)=|-security)=|buster%(-backports|-security)=|bullseye|%(devel|precise|trusty|vivid|wily|xenial|yakkety|zesty|artful|bionic|cosmic|disco|eoan)%(-%(security|proposed|updates|backports|commercial|partner))=)+"
syn match debchangelogVersion contained "(.\{-})"
syn match debchangelogCloses contained "closes:\_s*\(bug\)\=#\=\_s\=\d\+\(,\_s*\(bug\)\=#\=\_s\=\d\+\)*"
syn match debchangelogLP contained "\clp:\s\+#\d\+\(,\s*#\d\+\)*"
+4 -3
View File
@@ -2,7 +2,7 @@
" Language: Debian sources.list
" Maintainer: Debian Vim Maintainers
" Former Maintainer: Matthijs Mohlmann <matthijs@cacholong.nl>
" Last Change: 2018 Oct 30
" Last Change: 2019 Apr 21
" URL: https://salsa.debian.org/vim-team/vim-debian/blob/master/syntax/debsources.vim
" Standard syntax initialization
@@ -23,9 +23,10 @@ let s:cpo = &cpo
set cpo-=C
let s:supported = [
\ 'oldstable', 'stable', 'testing', 'unstable', 'experimental',
\ 'wheezy', 'jessie', 'stretch', 'sid', 'rc-buggy',
\ 'wheezy', 'jessie', 'stretch', 'buster', 'bullseye', 'bookworm',
\ 'sid', 'rc-buggy',
\
\ 'trusty', 'xenial', 'bionic', 'cosmic', 'disco', 'devel'
\ 'trusty', 'xenial', 'bionic', 'cosmic', 'disco', 'eoan', 'devel'
\ ]
let s:unsupported = [
\ 'buzz', 'rex', 'bo', 'hamm', 'slink', 'potato',
+5 -5
View File
@@ -1,7 +1,7 @@
" markdown Text with R statements
" Language: markdown with R code chunks
" Homepage: https://github.com/jalvesaq/R-Vim-runtime
" Last Change: Sat Aug 25, 2018 03:44PM
" Last Change: Thu Apr 18, 2019 09:17PM
"
" For highlighting pandoc extensions to markdown like citations and TeX and
" many other advanced features like folding of markdown sections, it is
@@ -54,14 +54,14 @@ runtime syntax/markdown.vim
" Now highlight chunks:
for s:type in g:rmd_fenced_languages
if s:type =~ '='
let s:lng = substitute(s:type, '=.*', '')
let s:nm = substitute(s:type, '.*=', '')
let s:ft = substitute(s:type, '.*=', '', '')
let s:nm = substitute(s:type, '=.*', '', '')
else
let s:lng = s:type
let s:ft = s:type
let s:nm = s:type
endif
unlet! b:current_syntax
exe 'syn include @Rmd'.s:nm.' syntax/'.s:lng.'.vim'
exe 'syn include @Rmd'.s:nm.' syntax/'.s:ft.'.vim'
if g:rmd_syn_hl_chunk
exe 'syn region rmd'.s:nm.'ChunkDelim matchgroup=rmdCodeDelim start="^\s*```\s*{\s*'.s:nm.'\>" matchgroup=rmdCodeDelim end="}$" keepend containedin=rmd'.s:nm.'Chunk contains=@Rmd'.s:nm
exe 'syn region rmd'.s:nm.'Chunk start="^\s*```\s*{\s*'.s:nm.'\>.*$" matchgroup=rmdCodeDelim end="^\s*```\ze\s*$" keepend contains=rmd'.s:nm.'ChunkDelim,@Rmd'.s:nm
+3 -3
View File
@@ -3,7 +3,7 @@
" Language: SPEC: Build/install scripts for Linux RPM packages
" Maintainer: Igor Gnatenko i.gnatenko.brain@gmail.com
" Former Maintainer: Donovan Rebbechi elflord@panix.com (until March 2014)
" Last Change: 2019 Feb 12
" Last Change: 2019 May 07
" quit when a syntax file was already loaded
if exists("b:current_syntax")
@@ -86,9 +86,9 @@ syn region specSectionMacroBracketArea oneline matchgroup=specSectionMacro start
"%% Files Section %%
"TODO %config valid parameters: missingok\|noreplace
"TODO %verify valid parameters: \(not\)\= \(md5\|atime\|...\)
syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier
syn region specFilesArea matchgroup=specSection start='^%[Ff][Ii][Ll][Ee][Ss]\>' skip='%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\|exclude\)\>' end='^%[a-zA-Z]'me=e-2 contains=specFilesOpts,specFilesDirective,@specListedFiles,specComment,specCommandSpecial,specMacroIdentifier
"tip: remember to include new itens in specFilesArea above
syn match specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\)\>'
syn match specFilesDirective contained '%\(attrib\|defattr\|attr\|dir\|config\|docdir\|doc\|lang\|license\|verify\|ghost\|exclude\)\>'
"valid options for certain section headers
syn match specDescriptionOpts contained '\s-[ln]\s*\a'ms=s+1,me=e-1
+15
View File
@@ -0,0 +1,15 @@
" Vim syntax file
" Language: Generic template
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2019 May 06
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
finish
endif
" Known template types are very similar to HTML, E.g. golang and "Xfire User
" Interface Template"
" If you know how to recognize a more specific type for *.tmpl suggest a
" change to runtime/scripts.vim.
runtime! syntax/html.vim
+2 -2
View File
@@ -23,8 +23,8 @@ syn keyword vimCommand contained a arga[dd] argu[ment] bad[d] bn[ext] breakd[el]
syn keyword vimCommand contained ab argd[elete] as[cii] bd[elete] bo[tright] breakl[ist] cN[ext] caddf[ile] ccl[ose] cfdo chd[ir] cle[arjumps] co[py] con[tinue] cr[ewind] d[elete] deletel delm[arks] diffo[ff] dir dp earlier elsei[f] endw[hile] files fini[sh] folddoc[losed] gr[ep] helpc[lose] his[tory] il[ist] iuna[bbrev] keepalt la[st] later lcs lf[ile] lgr[ep] lli[st] lo[adview] lop[en] lua m[ove] mes mkvie[w] nbc[lose] noautocmd nu[mber] opt[ions] pc[lose] popu[p] prof[ile] ptN[ext] ptn[ext] pw[d] pyf[ile] pyxfile rec[over] reg[isters] ri[ght] rubyf[ile] sIe sIr sav[eas] sbl[ast] sc scl scscope sf[ind] sge sgr sig sip sm[ap] sno[magic] sp[lit] spellu[ndo] src srn startg[replace] sun[hide] sw[apname] syntime tabN[ext] tabfir[st] tabo[nly] tc[l] tf[irst] tma[p] tp[revious] tunma[p] unh[ide] v vie[w] vne[w] wh[ile] wn[ext] wundo xme xunme
syn keyword vimCommand contained abc[lear] argdo au bel[owright] bp[revious] bro[wse] cNf[ile] cal[l] cd cfir[st] che[ckpath] clo[se] col[der] conf[irm] cs debug deletep delp diffp[atch] dj[ump] dr[op] ec em[enu] ene[w] filet fir[st] foldo[pen] grepa[dd] helpf[ind] i imapc[lear] j[oin] keepj[umps] lad[dexpr] lb[uffer] lcscope lfdo lgrepa[dd] lmak[e] loadk lp[revious] luado ma[rk] messages mod[e] nbs[tart] noh[lsearch] o[pen] ownsyntax pe[rl] pp[op] profd[el] pta[g] ptp[revious] py3 python3 q[uit] red[o] res[ize] rightb[elow] rundo sIg sN[ext] sbN[ext] sbm[odified] scI scp se[t] sfir[st] sgi sh[ell] sign sir sme snoreme spe[llgood] spellw[rong] sre[wind] srp startr[eplace] sunme sy t tabc[lose] tabl[ast] tabp[revious] tcld[o] th[row] tmapc[lear] tr[ewind] u[ndo] unl ve[rsion] vim[grep] vs[plit] win[size] wp[revious] wv[iminfo] xmenu xunmenu
syn keyword vimCommand contained abo[veleft] arge[dit] bN[ext] bf[irst] br[ewind] bufdo c[hange] cat[ch] cdo cg[etfile] checkt[ime] cmapc[lear] colo[rscheme] cope[n] cscope debugg[reedy] deletl dep diffpu[t] dl ds[earch] echoe[rr] en[dif] ex filetype fix[del] for gui helpg[rep] ia in ju[mps] keepp[atterns] laddb[uffer] lbo[ttom] ld[o] lfir[st] lh[elpgrep] lmapc[lear] loadkeymap lpf[ile] luafile mak[e] mk[exrc] mz[scheme] new nor ol[dfiles] p[rint] ped[it] pre[serve] promptf[ind] ptf[irst] ptr[ewind] py3do pythonx qa[ll] redi[r] ret[ab] ru[ntime] rv[iminfo] sIl sa[rgument] sb[uffer] sbn[ext] sce scr[iptnames] setf[iletype] sg sgl si sil[ent] sl[eep] smenu snoremenu spelld[ump] spr[evious] srg st[op] stj[ump] sunmenu syn tN[ext] tabd[o] tabm[ove] tabr[ewind] tclf[ile] tj[ump] tn[ext] try una[bbreviate] unlo[ckvar] verb[ose] vimgrepa[dd] wN[ext] winc[md] wq x[it] xnoreme xwininfo
syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] ce[nter] cgetb[uffer] chi[story] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro k lN[ext] laddf[ile] lc[d] le[ft] lg[etfile] lhi[story] lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] pyx quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs te[aroff] tl[ast] tno[remap] ts[elect] undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank]
syn keyword vimCommand contained ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fin[d] foldc[lose] g h[elp] hi if is[earch] kee[pmarks] lNf[ile] lan[guage] lch[dir] lefta[bove] lgetb[uffer] ll lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell] n[ext]
syn keyword vimCommand contained al[l] argg[lobal] b[uffer] bl[ast] brea[k] buffers cabc[lear] cb[uffer] ce[nter] cgetb[uffer] chi[story] cn[ext] com cp[revious] cstag delc[ommand] deletp di[splay] diffs[plit] dli[st] dsp[lit] echom[sg] endf[unction] exi[t] filt[er] fo[ld] fu[nction] gvim helpt[ags] iabc[lear] intro k lN[ext] laddf[ile] lc[d] le[ft] lg[etfile] lhi[story] lne[xt] loc[kmarks] lr[ewind] lv[imgrep] marks mks[ession] mzf[ile] nmapc[lear] nore omapc[lear] pa[ckadd] perld[o] prev[ious] promptr[epl] ptj[ump] pts[elect] py[thon] pyx quita[ll] redr[aw] retu[rn] rub[y] sI sIn sal[l] sba[ll] sbp[revious] scg scripte[ncoding] setg[lobal] sgI sgn sic sim[alt] sla[st] smile so[urce] spelli[nfo] sr sri sta[g] stopi[nsert] sus[pend] sync ta[g] tabe[dit] tabn[ext] tabs tcd te[aroff] tl[ast] tno[remap] ts[elect] undoj[oin] uns[ilent] vert[ical] viu[sage] w[rite] windo wqa[ll] xa[ll] xnoremenu y[ank]
syn keyword vimCommand contained ar[gs] argl[ocal] ba[ll] bm[odified] breaka[dd] bun[load] cad[dbuffer] cbo[ttom] cex[pr] cgete[xpr] cl[ist] cnew[er] comc[lear] cpf[ile] cuna[bbrev] delel delf[unction] dif[fupdate] difft[his] do e[dit] echon endfo[r] exu[sage] fin[d] foldc[lose] g h[elp] hi if is[earch] kee[pmarks] lNf[ile] lan[guage] lch[dir] lefta[bove] lgetb[uffer] ll lnew[er] lockv[ar] ls lvimgrepa[dd] mat[ch] mksp[ell] n[ext] tch[dir]
syn match vimCommand contained "\<z[-+^.=]\=\>"
syn keyword vimStdPlugin contained Arguments Break Clear Continue DiffOrig Evaluate Finish Gdb Man N[ext] Over P[rint] Program Run S Source Step Stop Termdebug TermdebugCommand TOhtml Winbar XMLent XMLns
+3 -3
View File
@@ -6,14 +6,15 @@ Name[de]=Vim
Name=Vim
# Translators: This is the Generic Application Name used in the Vim desktop file
GenericName[de]=Texteditor
GenericName[ja]=
GenericName=Text Editor
# Translators: This is the comment used in the Vim desktop file
Comment[de]=Textdateien bearbeiten
Comment[ja]=
Comment=Edit text files
# The translations should come from the po file. Leave them here for now, they will
# be overwritten by the po file when generating the desktop.file.
GenericName[da]=Teksteditor
GenericName[de]=Texteditor
GenericName[pl]=Edytor tekstu
GenericName[is]=Ritvinnsluforrit
Comment[af]=Redigeer tekslêers
@@ -28,7 +29,6 @@ Comment[ca]=Edita fitxers de text
Comment[cs]=Úprava textových souborů
Comment[cy]=Golygu ffeiliau testun
Comment[da]=Rediger tekstfiler
Comment[de]=Textdateien bearbeiten
Comment[el]=Επεξεργασία αρχείων κειμένου
Comment[en_CA]=Edit text files
Comment[en_GB]=Edit text files
@@ -47,7 +47,6 @@ Comment[hu]=Szövegfájlok szerkesztése
Comment[id]=Edit file teks
Comment[is]=Vinna með textaskrár
Comment[it]=Modifica file di testo
Comment[ja]=
Comment[kn]= ಿ
Comment[ko]=
Comment[lt]=Redaguoti tekstines bylas
@@ -90,6 +89,7 @@ Terminal=true
Type=Application
# Translators: Search terms to find this application. Do NOT change the semicolons! The list MUST also end with a semicolon!
Keywords[de]=Text;Editor;
Keywords[ja]=;;
Keywords=Text;editor;
# Translators: This is the Icon file name. Do NOT translate
Icon[de]=gvim
-43
View File
@@ -1,43 +0,0 @@
### USEDLL no for statically linked version of run-time, yes for DLL runtime
### BOR path to root of Borland C install (c:\bc5)
### (requires cc3250.dll be available in %PATH%)
!if ("$(USEDLL)"=="")
USEDLL = no
!endif
### BOR: root of the BC installation
!if ("$(BOR)"=="")
BOR = c:\bc5
!endif
CC = $(BOR)\bin\Bcc32
BRC = $(BOR)\bin\brc32
LINK = $(BOR)\BIN\ILink32
INCLUDE = $(BOR)\include;.
LIB = $(BOR)\lib
!if ("$(USEDLL)"=="yes")
RT_DEF = -D_RTLDLL
RT_LIB = cw32i.lib
!else
RT_DEF =
RT_LIB = cw32.lib
!endif
all : gvimext.dll
gvimext.obj : gvimext.cpp gvimext.h
$(CC) -tWD -I$(INCLUDE) -c -DFEAT_GETTEXT $(RT_DEF) -w- gvimext.cpp
gvimext.res : gvimext.rc
$(BRC) -r gvimext.rc
gvimext.dll : gvimext.obj gvimext.res
$(LINK) -L$(LIB) -aa gvimext.obj, gvimext.dll, , c0d32.obj $(RT_LIB) import32.lib, gvimext.def, gvimext.res
clean :
-@del gvimext.obj
-@del gvimext.res
-@del gvimext.dll
-9
View File
@@ -16,14 +16,7 @@
#include "gvimext.h"
#ifdef __BORLANDC__
# include <dir.h>
# ifndef _strnicmp
# define _strnicmp(a, b, c) strnicmp((a), (b), (c))
# endif
#else
static char *searchpath(char *name);
#endif
// Always get an error while putting the following stuff to the
// gvimext.h file as class protected variables, give up and
@@ -917,7 +910,6 @@ BOOL CShellExt::LoadMenuIcon()
return TRUE;
}
#ifndef __BORLANDC__
static char *
searchpath(char *name)
{
@@ -937,7 +929,6 @@ searchpath(char *name)
}
return (char *)"";
}
#endif
STDMETHODIMP CShellExt::InvokeGvim(HWND hParent,
LPCSTR /* pszWorkingDir */,
+1 -3
View File
@@ -7,9 +7,7 @@
//
// Generated from the TEXTINCLUDE 2 resource.
//
#ifndef __BORLANDC__
# include "winresrc.h"
#endif
#include "winresrc.h"
/////////////////////////////////////////////////////////////////////////////
#undef APSTUDIO_READONLY_SYMBOLS
+27 -45
View File
@@ -25,21 +25,20 @@ Contents:
2. Using MSYS2 with MinGW
3. Using MinGW
4. Cygwin
5. Borland
6. Cross compiling for Win32 from a Linux machine
7. Building with Python support
8. Building with Python3 support
9. Building with Racket or MzScheme support
10. Building with Lua support
11. Building with Perl support
12. Building with Ruby support
13. Building with Tcl support
14. Building with Terminal support
15. Building with DirectX (DirectWrite) support
16. Windows 3.1
17. MS-DOS
5. Cross compiling for Win32 from a Linux machine
6. Building with Python support
7. Building with Python3 support
8. Building with Racket or MzScheme support
9. Building with Lua support
10. Building with Perl support
11. Building with Ruby support
12. Building with Tcl support
13. Building with Terminal support
14. Building with DirectX (DirectWrite) support
15. Windows 3.1
16. MS-DOS
18. Installing after building from sources
17. Installing after building from sources
The currently recommended way (that means it has been verified to work) is
@@ -81,21 +80,11 @@ nmake -f Make_mvc.mak PERL=C:\Perl PYTHON=C:\Python etc.
Perl, Python, etc.
Make_mvc.mak allows a Vim to be built with various different features and
debug support. Debugging with MS Devstudio is provided by Make_dvc.mak.
For a description of the use of Make_dvc.mak, look in Make_mvc.mak.
debug support.
For compiling Gvim with IME support on far-east Windows, add IME=yes
to the parameters you pass to Make_mvc.mak.
To build Vim from within the Visual Studio IDE, open the Make_ivc.mak project.
(Note: Make_ivc.mak is not as rich as Make_mvc.mak, which allows for
far more configuration.) Make_ivc.mak can also be built with nmake.
nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim"
GUI Microsoft Visual C++ 4.x or later
nmake -f Make_ivc.mak CFG="Vim - Win32 Release gvim OLE"
OLE Microsoft Visual C++ 4.x or later
See the specific files for comments and options.
These files have been supplied by George V. Reilly, Ben Singer, Ken Scott and
@@ -461,14 +450,7 @@ running on Unix), while with Make_cyg.mak you get a Windows application (like
with the other makefiles).
5. Borland
===========
Use Make_bc5.mak with Borland C++ 5.x. See
http://users.skynet.be/antoine.mechelynck/vim/compile.htm
6. Cross compiling for Win32 from a Linux machine
5. Cross compiling for Win32 from a Linux machine
=================================================
[Update of 1) needs to be verified]
@@ -488,7 +470,7 @@ your Linux (or other unix) box. To do this, you need to follow a few steps:
Now you have created the Windows binary from your Linux box! Have fun...
7. Building with Python support
6. Building with Python support
===============================
For building with MSVC 2008 the "Windows Installer" from www.python.org
@@ -549,7 +531,7 @@ Now just do:
You will end up with a Python-enabled, Win32 version. Enjoy!
8. Building with Python3 support
7. Building with Python3 support
================================
For building with MSVC 2008 the "Windows Installer" from www.python.org
@@ -586,7 +568,7 @@ When using msys2 and link with Python3 bundled with msys2 (as one line):
libstdc++-6.dll.)
9. Building with Racket or MzScheme support
8. Building with Racket or MzScheme support
========================================
1) Building with Racket support (newest)
@@ -676,7 +658,7 @@ After a successful build, these dlls can be freely removed, leaving them in
10. Building with Lua support
9. Building with Lua support
============================
Vim with Lua support can be built with either MSVC or MinGW (or maybe Cygwin).
@@ -731,7 +713,7 @@ Or when using Cygwin (as one line) (untested):
LUA=/cygdrive/c/projects/lua53 DYNAMIC_LUA=yes LUA_VER=53
11. Building with Perl support
10. Building with Perl support
==============================
Vim with Perl support can be built with either MSVC or MinGW (or Cygwin).
@@ -757,7 +739,7 @@ Or when using MinGW (as one line):
PERL=C:/Perl DYNAMIC_PERL=yes PERL_VER=522
12. Building with Ruby support
11. Building with Ruby support
==============================
Vim with Ruby support can be built with either MSVC or MinGW (or Cygwin).
@@ -865,7 +847,7 @@ Ruby 2.1 or later. (Default is 0x600.)
13. Building with Tcl support
12. Building with Tcl support
=============================
Vim with Tcl support can be built with either MSVC or MinGW (or Cygwin).
@@ -904,7 +886,7 @@ Or when using MinGW (as one line):
TCL=C:/Tcl86 DYNAMIC_TCL=yes TCL_VER=86 TCL_VER_LONG=8.6
14. Building with Terminal support
13. Building with Terminal support
==================================
Vim with Terminal support can be built with either MSVC, MinGW or Cygwin.
@@ -920,7 +902,7 @@ Or when using MinGW:
mingw32-make -f Make_ming.mak TERMINAL=yes
15. Building with DirectX (DirectWrite) support
14. Building with DirectX (DirectWrite) support
===============================================
Vim with DirectX (DirectWrite) support can be built with either MSVC or MinGW.
@@ -954,20 +936,20 @@ Just set DIRECTX to yes:
mingw32-make -f Make_ming.mak DIRECTX=yes
16. Windows 3.1x
15. Windows 3.1x
================
The Windows 3.1x support was removed in patch 7.4.1364.
17. MS-DOS
16. MS-DOS
==========
The MS-DOS support was removed in patch 7.4.1399. Only very old Vim versions
work on MS-DOS because of the limited amount of memory available.
18. Installing after building from sources
17. Installing after building from sources
==========================================
[provided by Michael Soyka, updated by Ken Takata]

Some files were not shown because too many files have changed in this diff Show More