Skip to content

Commit 1da0502

Browse files
committed
Merge remote-tracking branch 'vim/master'
2 parents 0cbe2b7 + 6938e27 commit 1da0502

91 files changed

Lines changed: 1783 additions & 751 deletions

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

READMEdir/README_extra.txt

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,9 +13,6 @@ src/if_sniff.* Interface to SNiFF. If you don't know what SNiFF is,
1313

1414
src/os_amiga.* Files for the Amiga port.
1515

16-
src/gui_beos.*
17-
src/os_beos.* Files for the BeOS port.
18-
1916
src/os_msdos.*
2017
src/os_dos.* Files for the MS-DOS port.
2118

runtime/doc/change.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*change.txt* For Vim version 8.2. Last change: 2020 Apr 26
1+
*change.txt* For Vim version 8.2. Last change: 2020 Jun 04
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar

runtime/doc/channel.txt

Lines changed: 44 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*channel.txt* For Vim version 8.2. Last change: 2019 Dec 07
1+
*channel.txt* For Vim version 8.2. Last change: 2020 Jun 01
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1235,8 +1235,8 @@ If you want to type input for the job in a Vim window you have a few options:
12351235
- Use a terminal window. This works well if what you type goes directly to
12361236
the job and the job output is directly displayed in the window.
12371237
See |terminal-window|.
1238-
- Use a prompt window. This works well when entering a line for the job in Vim
1239-
while displaying (possibly filtered) output from the job.
1238+
- Use a window with a prompt buffer. This works well when entering a line for
1239+
the job in Vim while displaying (possibly filtered) output from the job.
12401240

12411241
A prompt buffer is created by setting 'buftype' to "prompt". You would
12421242
normally only do that in a newly created buffer.
@@ -1270,5 +1270,46 @@ Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
12701270
the cursor to the last line. "A" will move to the end of the line, "I" to the
12711271
start of the line.
12721272

1273+
Here is an example for Unix. It starts a shell in the background and prompts
1274+
for the next shell command. Output from the shell is displayed above the
1275+
prompt. >
1276+
1277+
" Create a channel log so we can see what happens.
1278+
call ch_logfile('logfile', 'w')
1279+
1280+
" Function handling a line of text has been typed.
1281+
func TextEntered(text)
1282+
" Send the text to a shell with Enter appended.
1283+
call ch_sendraw(g:shell_job, a:text .. "\n")
1284+
endfunc
1285+
1286+
" Function handling output from the shell: Added above the prompt.
1287+
func GotOutput(channel, msg)
1288+
call append(line("$") - 1, "- " . a:msg)
1289+
endfunc
1290+
1291+
" Function handling the shell exist: close the window.
1292+
func JobExit(job, status)
1293+
quit!
1294+
endfunc
1295+
1296+
" Start a shell in the background.
1297+
let shell_job = job_start(["/bin/sh"], #{
1298+
\ out_cb: function('GotOutput'),
1299+
\ err_cb: function('GotOutput'),
1300+
\ exit_cb: function('JobExit'),
1301+
\ })
1302+
let shell_ch = job_getchannel(shell_job)
1303+
1304+
new
1305+
set buftype=prompt
1306+
let buf = bufnr('')
1307+
call prompt_setcallback(buf, function("TextEntered"))
1308+
eval prompt_setprompt(buf, "shell command: ")
1309+
1310+
" start accepting shell commands
1311+
startinsert
1312+
<
1313+
12731314

12741315
vim:tw=78:ts=8:noet:ft=help:norl:

runtime/doc/editing.txt

Lines changed: 9 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*editing.txt* For Vim version 8.2. Last change: 2020 May 12
1+
*editing.txt* For Vim version 8.2. Last change: 2020 Jun 05
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1326,6 +1326,10 @@ present in 'cpoptions' and "!" is not used in the command.
13261326
*:tch* *:tchdir*
13271327
:tch[dir][!] Same as |:tcd|.
13281328

1329+
*:tcd-*
1330+
:tcd[!] - Change to the previous current directory, before the
1331+
last ":tcd {path}" command.
1332+
13291333
*:lc* *:lcd*
13301334
:lc[d][!] {path} Like |:cd|, but only set the current directory when
13311335
the cursor is in the current window. The current
@@ -1335,6 +1339,10 @@ present in 'cpoptions' and "!" is not used in the command.
13351339
*:lch* *:lchdir*
13361340
:lch[dir][!] Same as |:lcd|.
13371341

1342+
*:lcd-*
1343+
:lcd[!] - Change to the previous current directory, before the
1344+
last ":lcd {path}" command.
1345+
13381346
*:pw* *:pwd* *E187*
13391347
:pw[d] Print the current directory name.
13401348
Also see |getcwd()|.

runtime/doc/eval.txt

Lines changed: 60 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*eval.txt* For Vim version 8.2. Last change: 2020 Jun 03
1+
*eval.txt* For Vim version 8.2. Last change: 2020 Jun 07
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -2518,8 +2518,9 @@ getpid() Number process ID of Vim
25182518
getpos({expr}) List position of cursor, mark, etc.
25192519
getqflist([{what}]) List list of quickfix items
25202520
getreg([{regname} [, 1 [, {list}]]])
2521-
String or List contents of register
2522-
getregtype([{regname}]) String type of register
2521+
String or List contents of a register
2522+
getreginfo([{regname}]) Dict information about a register
2523+
getregtype([{regname}]) String type of a register
25232524
gettabinfo([{expr}]) List list of tab pages
25242525
gettabvar({nr}, {varname} [, {def}])
25252526
any variable {varname} in tab {nr} or {def}
@@ -2728,7 +2729,7 @@ screencol() Number current cursor column
27282729
screenpos({winid}, {lnum}, {col}) Dict screen row and col of a text character
27292730
screenrow() Number current cursor row
27302731
screenstring({row}, {col}) String characters at screen position
2731-
search({pattern} [, {flags} [, {stopline} [, {timeout}]]])
2732+
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
27322733
Number search for {pattern}
27332734
searchcount([{options}]) Dict get or update search stats
27342735
searchdecl({name} [, {global} [, {thisblock}]])
@@ -2737,7 +2738,7 @@ searchpair({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
27372738
Number search for other end of start/end pair
27382739
searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
27392740
List search for other end of start/end pair
2740-
searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]])
2741+
searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
27412742
List search for {pattern}
27422743
server2client({clientid}, {string})
27432744
Number send reply string
@@ -5123,6 +5124,7 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
51235124
behave :behave suboptions
51245125
color color schemes
51255126
command Ex command (and arguments)
5127+
cmdline |cmdline-completion| result
51265128
compiler compilers
51275129
cscope |:cscope| suboptions
51285130
diff_buffer |:diffget| and |:diffput| completion
@@ -5153,14 +5155,19 @@ getcompletion({pat}, {type} [, {filtered}]) *getcompletion()*
51535155
user user names
51545156
var user variables
51555157

5156-
If {pat} is an empty string, then all the matches are returned.
5157-
Otherwise only items matching {pat} are returned. See
5158-
|wildcards| for the use of special characters in {pat}.
5158+
If {pat} is an empty string, then all the matches are
5159+
returned. Otherwise only items matching {pat} are returned.
5160+
See |wildcards| for the use of special characters in {pat}.
51595161

51605162
If the optional {filtered} flag is set to 1, then 'wildignore'
51615163
is applied to filter the results. Otherwise all the matches
51625164
are returned. The 'wildignorecase' option always applies.
51635165

5166+
If {type} is "cmdline", then the |cmdline-completion| result is
5167+
returned. For example, to complete the possible values after
5168+
a ":call" command: >
5169+
echo getcompletion('call ', 'cmdline')
5170+
<
51645171
If there are no matches, an empty list is returned. An
51655172
invalid value for {type} produces an error.
51665173

@@ -5608,6 +5615,31 @@ getreg([{regname} [, 1 [, {list}]]]) *getreg()*
56085615
Can also be used as a |method|: >
56095616
GetRegname()->getreg()
56105617

5618+
getreginfo([{regname}]) *getreginfo()*
5619+
Returns detailed information about register {regname} as a
5620+
Dictionary with the following entries:
5621+
regcontents List of lines contained in register
5622+
{regname}, like
5623+
|getreg|({regname}, 1, 1).
5624+
regtype the type of register {regname}, as in
5625+
|getregtype()|.
5626+
isunnamed Boolean flag, v:true if this register
5627+
is currently pointed to by the unnamed
5628+
register.
5629+
points_to for the unnamed register, gives the
5630+
single letter name of the register
5631+
currently pointed to (see |quotequote|).
5632+
For example, after deleting a line
5633+
with `dd`, this field will be "1",
5634+
which is the register that got the
5635+
deleted text.
5636+
5637+
If {regname} is invalid or not set, an empty Dictionary
5638+
will be returned.
5639+
If {regname} is not specified, |v:register| is used.
5640+
5641+
Can also be used as a |method|: >
5642+
GetRegname()->getreginfo()
56115643

56125644
getregtype([{regname}]) *getregtype()*
56135645
The result is a String, which is type of register {regname}.
@@ -8376,8 +8408,9 @@ screenstring({row}, {col}) *screenstring()*
83768408

83778409
Can also be used as a |method|: >
83788410
GetRow()->screenstring(col)
8379-
8380-
search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
8411+
<
8412+
*search()*
8413+
search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
83818414
Search for regexp pattern {pattern}. The search starts at the
83828415
cursor position (you can use |cursor()| to set it).
83838416

@@ -8425,6 +8458,15 @@ search({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *search()*
84258458
giving the argument.
84268459
{only available when compiled with the |+reltime| feature}
84278460

8461+
If the {skip} expression is given it is evaluated with the
8462+
cursor positioned on the start of a match. If it evaluates to
8463+
non-zero this match is skipped. This can be used, for
8464+
example, to skip a match in a comment or a string.
8465+
{skip} can be a string, which is evaluated as an expression, a
8466+
function reference or a lambda.
8467+
When {skip} is omitted or empty, every match is accepted.
8468+
When evaluating {skip} causes an error the search is aborted
8469+
and -1 returned.
84288470
*search()-sub-match*
84298471
With the 'p' flag the returned value is one more than the
84308472
first sub-match in \(\). One if none of them matched but the
@@ -8708,7 +8750,8 @@ searchpairpos({start}, {middle}, {end} [, {flags} [, {skip}
87088750
<
87098751
See |match-parens| for a bigger and more useful example.
87108752

8711-
searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) *searchpos()*
8753+
*searchpos()*
8754+
searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
87128755
Same as |search()|, but returns a |List| with the line and
87138756
column position of the match. The first element of the |List|
87148757
is the line number and the second element is the byte index of
@@ -9091,8 +9134,8 @@ setqflist({list} [, {action} [, {what}]]) *setqflist()*
90919134
setreg({regname}, {value} [, {options}])
90929135
Set the register {regname} to {value}.
90939136
If {regname} is "" or "@", the unnamed register '"' is used.
9094-
{value} may be any value returned by |getreg()|, including
9095-
a |List|.
9137+
{value} may be any value returned by |getreg()| or
9138+
|getreginfo()|, including a |List| or |Dict|.
90969139
If {options} contains "a" or {regname} is upper case,
90979140
then the value is appended.
90989141
{options} can also contain a register type specification:
@@ -9119,9 +9162,13 @@ setreg({regname}, {value} [, {options}])
91199162
:call setreg(v:register, @*)
91209163
:call setreg('*', @%, 'ac')
91219164
:call setreg('a', "1\n2\n3", 'b5')
9165+
:call setreg('"', { 'points_to': 'a'})
91229166

91239167
< This example shows using the functions to save and restore a
91249168
register: >
9169+
:let var_a = getreginfo()
9170+
:call setreg('a', var_a)
9171+
< or:
91259172
:let var_a = getreg('a', 1, 1)
91269173
:let var_amode = getregtype('a')
91279174
....

runtime/doc/gui_x11.txt

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*gui_x11.txt* For Vim version 8.2. Last change: 2019 May 05
1+
*gui_x11.txt* For Vim version 8.2. Last change: 2020 Jun 05
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -365,6 +365,9 @@ need to set those up in some sort of gtkrc file. You'll have to refer
365365
to the GTK documentation, however little there is, on how to do this.
366366
See http://developer.gnome.org/doc/API/2.0/gtk/gtk-Resource-Files.html
367367
for more information.
368+
*gtk3-slow*
369+
If you are using GTK3 and Vim appears to be slow, try setting the environment
370+
variable $GDK_RENDERING to "image".
368371

369372

370373
Tooltip Colors ~

runtime/doc/index.txt

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*index.txt* For Vim version 8.2. Last change: 2020 May 26
1+
*index.txt* For Vim version 8.2. Last change: 2020 May 31
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -85,7 +85,7 @@ tag char action in Insert mode ~
8585
|i_CTRL-R_CTRL-P| CTRL-R CTRL-P {register}
8686
insert the contents of a register literally
8787
and fix indent.
88-
CTRL-S (used for terminal control flow)
88+
CTRL-S not used or used for terminal control flow
8989
|i_CTRL-T| CTRL-T insert one shiftwidth of indent in current
9090
line
9191
|i_CTRL-U| CTRL-U delete all entered characters in the current
@@ -220,9 +220,9 @@ tag char note action in Normal mode ~
220220
|CTRL-N| CTRL-N 1 same as "j"
221221
|CTRL-O| CTRL-O 1 go to N older entry in jump list
222222
|CTRL-P| CTRL-P 1 same as "k"
223-
CTRL-Q (used for terminal control flow)
223+
CTRL-Q not used, or used for terminal control flow
224224
|CTRL-R| CTRL-R 2 redo changes which were undone with 'u'
225-
CTRL-S (used for terminal control flow)
225+
CTRL-S not used, or used for terminal control flow
226226
|CTRL-T| CTRL-T jump to N older Tag in tag list
227227
|CTRL-U| CTRL-U scroll N lines Upwards (default: half a
228228
screen)
@@ -828,7 +828,7 @@ tag char note action in Normal mode ~
828828
|zD| zD delete folds recursively
829829
|zE| zE eliminate all folds
830830
|zF| zF create a fold for N lines
831-
|zG| zG temporarily mark word as good spelled word
831+
|zG| zG temporarily mark word as correctly spelled
832832
|zH| zH when 'wrap' off scroll half a screenwidth
833833
to the right
834834
|zL| zL when 'wrap' off scroll half a screenwidth
@@ -837,7 +837,7 @@ tag char note action in Normal mode ~
837837
|zN| zN set 'foldenable'
838838
|zO| zO open folds recursively
839839
|zR| zR set 'foldlevel' to the deepest fold
840-
|zW| zW temporarily mark word as bad spelled word
840+
|zW| zW temporarily mark word as incorrectly spelled
841841
|zX| zX re-apply 'foldlevel'
842842
|z^| z^ cursor on line N (default line above
843843
window), otherwise like "z-"
@@ -849,7 +849,7 @@ tag char note action in Normal mode ~
849849
position the cursor at the end (right side)
850850
of the screen
851851
|zf| zf{motion} create a fold for Nmove text
852-
|zg| zg permanently mark word as good spelled word
852+
|zg| zg permanently mark word as correctly spelled
853853
|zh| zh when 'wrap' off scroll screen N characters
854854
to the right
855855
|zi| zi toggle 'foldenable'
@@ -870,7 +870,7 @@ tag char note action in Normal mode ~
870870
|zuW| zuW undo |zW|
871871
|zuG| zuG undo |zG|
872872
|zv| zv open enough folds to view the cursor line
873-
|zw| zw permanently mark word as bad spelled word
873+
|zw| zw permanently mark word as incorrectly spelled
874874
|zx| zx re-apply 'foldlevel' and do "zv"
875875
|zz| zz redraw, cursor line at center of window
876876
|z<Left>| z<Left> same as "zh"
@@ -1056,7 +1056,7 @@ tag command action in Command-line editing mode ~
10561056
|c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
10571057
insert the contents of a register or object
10581058
under the cursor literally
1059-
CTRL-S (used for terminal control flow)
1059+
CTRL-S not used, or used for terminal control flow
10601060
|c_CTRL-T| CTRL-T previous match when 'incsearch' is active
10611061
|c_CTRL-U| CTRL-U remove all characters
10621062
|c_CTRL-V| CTRL-V insert next non-digit literally, insert three

runtime/doc/intro.txt

Lines changed: 7 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
*intro.txt* For Vim version 8.2. Last change: 2019 Nov 11
1+
*intro.txt* For Vim version 8.2. Last change: 2020 May 30
22

33

44
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -121,14 +121,16 @@ http://www.vim.org/maillist.php
121121

122122
Bug reports: *bugs* *bug-reports* *bugreport.vim*
123123

124-
There are two ways to report bugs, both work:
125-
1. Send bug reports to: Vim Developers <[email protected]>
124+
There are three ways to report bugs:
125+
1. Open an issue on GitHub: https://github.com/vim/vim/issues
126+
The text will be forwarded to the vim-dev maillist.
127+
2. For issues with runtime files, look in the header for an email address or
128+
any other way to report it to the maintainer.
129+
3. Send bug reports to: Vim Developers <[email protected]>
126130
This is a maillist, you need to become a member first and many people will
127131
see the message. If you don't want that, e.g. because it is a security
128132
issue, send it to <[email protected]>, this only goes to the Vim maintainer
129133
(that's Bram).
130-
2. Open an issue on GitHub: https://github.com/vim/vim/issues
131-
The text will be forwarded to the vim-dev maillist.
132134

133135
Please be brief; all the time that is spent on answering mail is subtracted
134136
from the time that is spent on improving Vim! Always give a reproducible

0 commit comments

Comments
 (0)