0
0
mirror of https://github.com/vim/vim.git synced 2025-07-04 23:07:33 -04:00

Update runtime files.

This commit is contained in:
Bram Moolenaar 2018-10-02 13:26:25 +02:00
parent 6dff58f15c
commit 95bafa296a
16 changed files with 206 additions and 101 deletions

View File

@ -1,4 +1,4 @@
README_zOS.txt for version 8.1 of Vim: Vi IMproved. README_os390.txt for version 8.1 of Vim: Vi IMproved.
This readme explains how to build Vim on z/OS. Formerly called OS/390. This readme explains how to build Vim on z/OS. Formerly called OS/390.
See "README.txt" for general information about Vim. See "README.txt" for general information about Vim.

View File

@ -864,6 +864,9 @@ OptionSet After setting an option. The pattern is
plugin. You can always use `:noa` to prevent plugin. You can always use `:noa` to prevent
triggering this autocommand. triggering this autocommand.
When using |:set| in the autocommand the event
is not triggered again.
*QuickFixCmdPre* *QuickFixCmdPre*
QuickFixCmdPre Before a quickfix command is run (|:make|, QuickFixCmdPre Before a quickfix command is run (|:make|,
|:lmake|, |:grep|, |:lgrep|, |:grepadd|, |:lmake|, |:grep|, |:lgrep|, |:grepadd|,

View File

@ -708,6 +708,7 @@ The flags that you can use for the substitute commands:
search pattern. search pattern.
{not in Vi: highlighting of the match, other responses than 'y' or 'n'} {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 [e] When the search pattern fails, do not issue an error message and, in
particular, continue in maps as if no error occurred. This is most particular, continue in maps as if no error occurred. This is most
useful to prevent the "No match" error from breaking a mapping. Vim useful to prevent the "No match" error from breaking a mapping. Vim
@ -719,6 +720,7 @@ The flags that you can use for the substitute commands:
Interrupted Interrupted
{not in Vi} {not in Vi}
*:s_g*
[g] Replace all occurrences in the line. Without this argument, [g] Replace all occurrences in the line. Without this argument,
replacement occurs only for the first occurrence in each line. If replacement occurs only for the first occurrence in each line. If
the 'edcompatible' option is on, Vim remembers this flag and toggles the 'edcompatible' option is on, Vim remembers this flag and toggles
@ -726,26 +728,30 @@ The flags that you can use for the substitute commands:
pattern. If the 'gdefault' option is on, this flag is on by default pattern. If the 'gdefault' option is on, this flag is on by default
and the [g] argument switches it off. and the [g] argument switches it off.
*:s_i*
[i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options [i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options
are not used. are not used.
{not in Vi} {not in Vi}
*:s_I*
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase' [I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
options are not used. options are not used.
{not in Vi} {not in Vi}
*:s_n*
[n] Report the number of matches, do not actually substitute. The [c] [n] Report the number of matches, do not actually substitute. The [c]
flag is ignored. The matches are reported as if 'report' is zero. flag is ignored. The matches are reported as if 'report' is zero.
Useful to |count-items|. Useful to |count-items|.
If \= |sub-replace-expression| is used, the expression will be If \= |sub-replace-expression| is used, the expression will be
evaluated in the |sandbox| at every match. evaluated in the |sandbox| at every match.
[p] Print the line containing the last substitute. [p] Print the line containing the last substitute. *:s_p*
[#] Like [p] and prepend the line number. [#] Like [p] and prepend the line number. *:s_#*
[l] Like [p] but print the text like |:list|. [l] Like [p] but print the text like |:list|. *:s_l*
*:s_r*
[r] Only useful in combination with `:&` or `:s` without arguments. `:&r` [r] Only useful in combination with `:&` or `:s` without arguments. `:&r`
works the same way as `:~`: When the search pattern is empty, use the works the same way as `:~`: When the search pattern is empty, use the
previously used search pattern instead of the search pattern from the previously used search pattern instead of the search pattern from the

View File

@ -2022,8 +2022,10 @@ abs({expr}) Float or Number absolute value of {expr}
acos({expr}) Float arc cosine of {expr} acos({expr}) Float arc cosine of {expr}
add({list}, {item}) List append {item} to |List| {list} add({list}, {item}) List append {item} to |List| {list}
and({expr}, {expr}) Number bitwise AND and({expr}, {expr}) Number bitwise AND
append({lnum}, {string}) Number append {string} below line {lnum} append({lnum}, {text}) Number append {text} below line {lnum}
append({lnum}, {list}) Number append lines {list} below line {lnum} appendbufline({expr}, {lnum}, {text})
Number append {text} below line {lnum}
in buffer {expr}
argc() Number number of files in the argument list argc() Number number of files in the argument list
argidx() Number current index in the argument list argidx() Number current index in the argument list
arglistid([{winnr} [, {tabnr}]]) Number argument list id arglistid([{winnr} [, {tabnr}]]) Number argument list id
@ -2108,8 +2110,8 @@ confirm({msg} [, {choices} [, {default} [, {type}]]])
copy({expr}) any make a shallow copy of {expr} copy({expr}) any make a shallow copy of {expr}
cos({expr}) Float cosine of {expr} cos({expr}) Float cosine of {expr}
cosh({expr}) Float hyperbolic cosine of {expr} cosh({expr}) Float hyperbolic cosine of {expr}
count({list}, {expr} [, {ic} [, {start}]]) count({comp}, {expr} [, {ic} [, {start}]])
Number count how many {expr} are in {list} Number count how many {expr} are in {comp}
cscope_connection([{num}, {dbpath} [, {prepend}]]) cscope_connection([{num}, {dbpath} [, {prepend}]])
Number checks existence of cscope connection Number checks existence of cscope connection
cursor({lnum}, {col} [, {off}]) cursor({lnum}, {col} [, {off}])
@ -2331,7 +2333,6 @@ remote_read({serverid} [, {timeout}])
remote_send({server}, {string} [, {idvar}]) remote_send({server}, {string} [, {idvar}])
String send key sequence String send key sequence
remote_startserver({name}) none become server {name} remote_startserver({name}) none become server {name}
String send key sequence
remove({list}, {idx} [, {end}]) any remove items {idx}-{end} from {list} remove({list}, {idx} [, {end}]) any remove items {idx}-{end} from {list}
remove({dict}, {key}) any remove entry {key} from {dict} remove({dict}, {key}) any remove entry {key} from {dict}
rename({from}, {to}) Number rename (move) file from {from} to {to} rename({from}, {to}) Number rename (move) file from {from} to {to}
@ -2356,8 +2357,8 @@ searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]])
server2client({clientid}, {string}) server2client({clientid}, {string})
Number send reply string Number send reply string
serverlist() String get a list of available servers serverlist() String get a list of available servers
setbufline({expr}, {lnum}, {line}) setbufline({expr}, {lnum}, {text})
Number set line {lnum} to {line} in buffer Number set line {lnum} to {text} in buffer
{expr} {expr}
setbufvar({expr}, {varname}, {val}) setbufvar({expr}, {varname}, {val})
none set {varname} in buffer {expr} to {val} none set {varname} in buffer {expr} to {val}
@ -2465,7 +2466,7 @@ term_wait({buf} [, {time}]) Number wait for screen to be updated
test_alloc_fail({id}, {countdown}, {repeat}) test_alloc_fail({id}, {countdown}, {repeat})
none make memory allocation fail none make memory allocation fail
test_autochdir() none enable 'autochdir' during startup test_autochdir() none enable 'autochdir' during startup
test_feedinput() none add key sequence to input buffer test_feedinput({string}) none add key sequence to input buffer
test_garbagecollect_now() none free memory right now for testing test_garbagecollect_now() none free memory right now for testing
test_ignore_error({expr}) none ignore a specific error test_ignore_error({expr}) none ignore a specific error
test_null_channel() Channel null value for testing test_null_channel() Channel null value for testing
@ -2567,10 +2568,10 @@ and({expr}, {expr}) *and()*
:let flag = and(bits, 0x80) :let flag = and(bits, 0x80)
append({lnum}, {expr}) *append()* append({lnum}, {text}) *append()*
When {expr} is a |List|: Append each item of the |List| as a When {text} is a |List|: Append each item of the |List| as a
text line below line {lnum} in the current buffer. text line below line {lnum} in the current buffer.
Otherwise append {expr} as one text line below line {lnum} in Otherwise append {text} as one text line below line {lnum} in
the current buffer. the current buffer.
{lnum} can be zero to insert a line before the first one. {lnum} can be zero to insert a line before the first one.
Returns 1 for failure ({lnum} out of range or out of memory), Returns 1 for failure ({lnum} out of range or out of memory),
@ -2800,15 +2801,15 @@ balloon_show({expr}) *balloon_show()*
When showing a balloon is not possible nothing happens, no When showing a balloon is not possible nothing happens, no
error message. error message.
{only available when compiled with the +balloon_eval or {only available when compiled with the |+balloon_eval| or
+balloon_eval_term feature} |+balloon_eval_term| feature}
balloon_split({msg}) *balloon_split()* balloon_split({msg}) *balloon_split()*
Split {msg} into lines to be displayed in a balloon. The Split {msg} into lines to be displayed in a balloon. The
splits are made for the current window size and optimize to splits are made for the current window size and optimize to
show debugger output. show debugger output.
Returns a |List| with the split lines. Returns a |List| with the split lines.
{only available when compiled with the +balloon_eval_term {only available when compiled with the |+balloon_eval_term|
feature} feature}
*browse()* *browse()*
@ -3549,7 +3550,7 @@ deletebufline({expr}, {first} [, {last}]) *deletebufline()*
For the use of {expr}, see |bufname()| above. For the use of {expr}, see |bufname()| above.
{first} and {last} are used like with |setline()|. Note that {first} and {last} are used like with |getline()|. Note that
when using |line()| this refers to the current buffer. Use "$" when using |line()| this refers to the current buffer. Use "$"
to refer to the last line in buffer {expr}. to refer to the last line in buffer {expr}.
@ -4504,6 +4505,8 @@ getcmdline() *getcmdline()*
Example: > Example: >
:cmap <F7> <C-\>eescape(getcmdline(), ' \')<CR> :cmap <F7> <C-\>eescape(getcmdline(), ' \')<CR>
< Also see |getcmdtype()|, |getcmdpos()| and |setcmdpos()|. < Also see |getcmdtype()|, |getcmdpos()| and |setcmdpos()|.
Returns an empty string when entering a password or using
|inputsecret()|.
getcmdpos() *getcmdpos()* getcmdpos() *getcmdpos()*
Return the position of the cursor in the command line as a Return the position of the cursor in the command line as a
@ -8027,11 +8030,11 @@ substitute({expr}, {pat}, {sub}, {flags}) *substitute()*
swapinfo({fname}) *swapinfo()* swapinfo({fname}) *swapinfo()*
The result is a dictionary, which holds information about the The result is a dictionary, which holds information about the
swapfile {fname}. The available fields are: swapfile {fname}. The available fields are:
version VIM version version Vim version
user user name user user name
host host name host host name
fname original file name fname original file name
pid PID of the VIM process that created the swap pid PID of the Vim process that created the swap
file file
mtime last modification time in seconds mtime last modification time in seconds
inode Optional: INODE number of the file inode Optional: INODE number of the file
@ -8131,7 +8134,7 @@ synconcealed({lnum}, {col}) *synconcealed()*
concealable region if there are two consecutive regions concealable region if there are two consecutive regions
with the same replacement character. For an example, if with the same replacement character. For an example, if
the text is "123456" and both "23" and "45" are concealed the text is "123456" and both "23" and "45" are concealed
and replace by the character "X", then: and replaced by the character "X", then:
call returns ~ call returns ~
synconcealed(lnum, 1) [0, '', 0] synconcealed(lnum, 1) [0, '', 0]
synconcealed(lnum, 2) [1, 'X', 1] synconcealed(lnum, 2) [1, 'X', 1]
@ -8359,7 +8362,7 @@ term_dumpdiff({filename}, {filename} [, {options}])
The top part of the buffer contains the contents of the first The top part of the buffer contains the contents of the first
file, the bottom part of the buffer contains the contents of file, the bottom part of the buffer contains the contents of
the second file. The middle part shows the differences. the second file. The middle part shows the differences.
The parts are separated by a line of dashes. The parts are separated by a line of equals.
If the {options} argument is present, it must be a Dict with If the {options} argument is present, it must be a Dict with
these possible members: these possible members:
@ -8452,8 +8455,8 @@ term_getcursor({buf}) *term_getcursor()*
"dict" can have these members: "dict" can have these members:
"visible" one when the cursor is visible, zero when it "visible" one when the cursor is visible, zero when it
is hidden. is hidden.
"blink" one when the cursor is visible, zero when it "blink" one when the cursor is blinking, zero when it
is hidden. is not blinking.
"shape" 1 for a block cursor, 2 for underline and 3 "shape" 1 for a block cursor, 2 for underline and 3
for a vertical bar. for a vertical bar.
@ -8485,7 +8488,7 @@ term_getscrolled({buf}) *term_getscrolled()*
used for |term_getline()| and |getline()|, so that: > used for |term_getline()| and |getline()|, so that: >
term_getline(buf, N) term_getline(buf, N)
< is equal to: > < is equal to: >
`getline(N + term_getscrolled(buf)) getline(N + term_getscrolled(buf))
< (if that line exists). < (if that line exists).
{buf} is used as with |term_getsize()|. {buf} is used as with |term_getsize()|.

View File

@ -60,9 +60,10 @@ Example: >
endfunction endfunction
To see what version of Python you have: > To see what version of Python you have: >
:python import sys
:python print(sys.version) :python print(sys.version)
There is no need to import sys, it's done by default.
Note: Python is very sensitive to the indenting. Make sure the "class" line Note: Python is very sensitive to the indenting. Make sure the "class" line
and "EOF" do not have any indent. and "EOF" do not have any indent.
@ -110,7 +111,6 @@ Python commands cannot be used in the |sandbox|.
To pass arguments you need to set sys.argv[] explicitly. Example: > To pass arguments you need to set sys.argv[] explicitly. Example: >
:python import sys
:python sys.argv = ["foo", "bar"] :python sys.argv = ["foo", "bar"]
:pyfile myscript.py :pyfile myscript.py

View File

@ -371,8 +371,9 @@ job running in the terminal. See |terminal-typing|.
*omap-info* *omap-info*
Operator-pending mappings can be used to define a movement command that can be Operator-pending mappings can be used to define a movement command that can be
used with any operator. Simple example: ":omap { w" makes "y{" work like "yw" used with any operator. Simple example: >
and "d{" like "dw". :omap { w
makes "y{" work like "yw" and "d{" like "dw".
To ignore the starting cursor position and select different text, you can have To ignore the starting cursor position and select different text, you can have
the omap start Visual mode to select the text to be operated upon. Example the omap start Visual mode to select the text to be operated upon. Example
@ -383,9 +384,11 @@ Normal mode commands find the first '(' character and select the first word
before it. That usually is the function name. before it. That usually is the function name.
To enter a mapping for Normal and Visual mode, but not Operator-pending mode, To enter a mapping for Normal and Visual mode, but not Operator-pending mode,
first define it for all three modes, then unmap it for Operator-pending mode: first define it for all three modes, then unmap it for
Operator-pending mode: >
:map xx something-difficult :map xx something-difficult
:ounmap xx :ounmap xx
Likewise for a mapping for Visual and Operator-pending mode or Normal and Likewise for a mapping for Visual and Operator-pending mode or Normal and
Operator-pending mode. Operator-pending mode.

View File

@ -120,10 +120,10 @@ and the following arguments will be ignored.
When 'verbose' is non-zero, displaying an option value will also tell where it When 'verbose' is non-zero, displaying an option value will also tell where it
was last set. Example: > was last set. Example: >
:verbose set shiftwidth cindent? :verbose set shiftwidth cindent?
< shiftwidth=4 ~ < shiftwidth=4 ~
Last set from modeline ~ Last set from modeline line 1 ~
cindent ~ cindent ~
Last set from /usr/local/share/vim/vim60/ftplugin/c.vim ~ Last set from /usr/local/share/vim/vim60/ftplugin/c.vim line 30 ~
This is only done when specific option values are requested, not for ":verbose This is only done when specific option values are requested, not for ":verbose
set all" or ":verbose set" without an argument. set all" or ":verbose set" without an argument.
When the option was set by hand there is no "Last set" message. When the option was set by hand there is no "Last set" message.
@ -132,7 +132,7 @@ autocommand, the script in which it was defined is reported.
Note that an option may also have been set as a side effect of setting Note that an option may also have been set as a side effect of setting
'compatible'. 'compatible'.
A few special texts: A few special texts:
Last set from modeline ~ Last set from modeline line 1 ~
Option was set in a |modeline|. Option was set in a |modeline|.
Last set from --cmd argument ~ Last set from --cmd argument ~
Option was set with command line argument |--cmd| or +. Option was set with command line argument |--cmd| or +.
@ -1999,8 +1999,8 @@ A jump table for the options with a short description can be found at |Q_op|.
displayed. E.g., when moving vertically it may change column. displayed. E.g., when moving vertically it may change column.
'conceallevel' 'cole' *'conceallevel'* *'cole'* *'conceallevel'* *'cole'*
number (default 0) 'conceallevel' 'cole' number (default 0)
local to window local to window
{not in Vi} {not in Vi}
{not available when compiled without the |+conceal| {not available when compiled without the |+conceal|
@ -2634,6 +2634,15 @@ A jump table for the options with a short description can be found at |Q_op|.
When omitted a context of six lines is used. When omitted a context of six lines is used.
See |fold-diff|. See |fold-diff|.
iblank Ignore changes where lines are all blank. Adds
the "-B" flag to the "diff" command if
'diffexpr' is empty. Check the documentation
of the "diff" command for what this does
exactly.
NOTE: the diff windows will get out of sync,
because no differences between blank lines are
taken into account.
icase Ignore changes in case of text. "a" and "A" icase Ignore changes in case of text. "a" and "A"
are considered the same. Adds the "-i" flag are considered the same. Adds the "-i" flag
to the "diff" command if 'diffexpr' is empty. to the "diff" command if 'diffexpr' is empty.
@ -2645,6 +2654,18 @@ A jump table for the options with a short description can be found at |Q_op|.
exactly. It should ignore adding trailing exactly. It should ignore adding trailing
white space, but not leading white space. white space, but not leading white space.
iwhiteall Ignore all white space changes. Adds
the "-w" flag to the "diff" command if
'diffexpr' is empty. Check the documentation
of the "diff" command for what this does
exactly.
iwhiteeol Ignore white space changes at end of line.
Adds the "-Z" flag to the "diff" command if
'diffexpr' is empty. Check the documentation
of the "diff" command for what this does
exactly.
horizontal Start diff mode with horizontal splits (unless horizontal Start diff mode with horizontal splits (unless
explicitly specified otherwise). explicitly specified otherwise).
@ -4698,7 +4719,7 @@ A jump table for the options with a short description can be found at |Q_op|.
Identifiers are used in recognizing environment variables and after a Identifiers are used in recognizing environment variables and after a
match of the 'define' option. It is also used for "\i" in a match of the 'define' option. It is also used for "\i" in a
|pattern|. See 'isfname' for a description of the format of this |pattern|. See 'isfname' for a description of the format of this
option. option. For '@' only characters up to 255 are used.
Careful: If you change this option, it might break expanding Careful: If you change this option, it might break expanding
environment variables. E.g., when '/' is included and Vim tries to environment variables. E.g., when '/' is included and Vim tries to
expand "$HOME/.viminfo". Maybe you should change 'iskeyword' instead. expand "$HOME/.viminfo". Maybe you should change 'iskeyword' instead.
@ -4712,8 +4733,9 @@ A jump table for the options with a short description can be found at |Q_op|.
{not in Vi} {not in Vi}
Keywords are used in searching and recognizing with many commands: Keywords are used in searching and recognizing with many commands:
"w", "*", "[i", etc. It is also used for "\k" in a |pattern|. See "w", "*", "[i", etc. It is also used for "\k" in a |pattern|. See
'isfname' for a description of the format of this option. For C 'isfname' for a description of the format of this option. For '@'
programs you could use "a-z,A-Z,48-57,_,.,-,>". characters above 255 check the "word" character class.
For C programs you could use "a-z,A-Z,48-57,_,.,-,>".
For a help file it is set to all non-blank printable characters except For a help file it is set to all non-blank printable characters except
'*', '"' and '|' (so that CTRL-] on a command finds the help for that '*', '"' and '|' (so that CTRL-] on a command finds the help for that
command). command).
@ -5424,7 +5446,7 @@ A jump table for the options with a short description can be found at |Q_op|.
h all previous modes when editing a help file h all previous modes when editing a help file
a all previous modes a all previous modes
r for |hit-enter| and |more-prompt| prompt r for |hit-enter| and |more-prompt| prompt
Normally you would enable the mouse in all four modes with: > Normally you would enable the mouse in all five modes with: >
:set mouse=a :set mouse=a
< When the mouse is not enabled, the GUI will still use the mouse for < When the mouse is not enabled, the GUI will still use the mouse for
modeless selection. This doesn't move the text cursor. modeless selection. This doesn't move the text cursor.
@ -5946,7 +5968,7 @@ A jump table for the options with a short description can be found at |Q_op|.
security reasons. security reasons.
*'printencoding'* *'penc'* *'printencoding'* *'penc'*
'printencoding' 'penc' String (default empty, except for some systems) 'printencoding' 'penc' string (default empty, except for some systems)
global global
{not in Vi} {not in Vi}
{only available when compiled with the |+printer| {only available when compiled with the |+printer|
@ -5955,7 +5977,7 @@ A jump table for the options with a short description can be found at |Q_op|.
See |penc-option|. See |penc-option|.
*'printexpr'* *'pexpr'* *'printexpr'* *'pexpr'*
'printexpr' 'pexpr' String (default: see below) 'printexpr' 'pexpr' string (default: see below)
global global
{not in Vi} {not in Vi}
{only available when compiled with the |+printer| {only available when compiled with the |+printer|

View File

@ -1551,7 +1551,7 @@ The backslashes before the pipe character are required to avoid it to be
recognized as a command separator. The backslash before each space is recognized as a command separator. The backslash before each space is
required for the set command. required for the set command.
*cfilter-plugin* *cfilter-plugin* *Cfilter* *Lfilter*
If you have too many matching messages, you can use the cfilter plugin to If you have too many matching messages, you can use the cfilter plugin to
reduce the number of entries. Load the plugin with: > reduce the number of entries. Load the plugin with: >
packadd cfilter packadd cfilter

View File

@ -28,6 +28,9 @@ You can see the name of the current swap file being used with the command:
:sw[apname] *:sw* *:swapname* :sw[apname] *:sw* *:swapname*
Or you can use the |swapname()| function, which also allows for seeing the
swap file name of other buffers.
The name of the swap file is normally the same as the file you are editing, The name of the swap file is normally the same as the file you are editing,
with the extension ".swp". with the extension ".swp".
- On Unix, a '.' is prepended to swap file names in the same directory as the - On Unix, a '.' is prepended to swap file names in the same directory as the

View File

@ -467,8 +467,8 @@ flag when defining the function, it is not relevant when executing it. >
:set cpo-=C :set cpo-=C
< <
*line-continuation-comment* *line-continuation-comment*
To add a comment in between the lines start with '\" '. Notice the space To add a comment in between the lines start with '"\ '. Notice the space
after the double quote. Example: > after the backslash. Example: >
let array = [ let array = [
"\ first entry comment "\ first entry comment
\ 'first', \ 'first',

View File

@ -1932,6 +1932,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:<cfile> cmdline.txt /*:<cfile>* :<cfile> cmdline.txt /*:<cfile>*
:<cword> cmdline.txt /*:<cword>* :<cword> cmdline.txt /*:<cword>*
:<sfile> cmdline.txt /*:<sfile>* :<sfile> cmdline.txt /*:<sfile>*
:<sflnum> cmdline.txt /*:<sflnum>*
:<slnum> cmdline.txt /*:<slnum>*
:= various.txt /*:=* := various.txt /*:=*
:> change.txt /*:>* :> change.txt /*:>*
:? cmdline.txt /*:?* :? cmdline.txt /*:?*
@ -2872,8 +2874,17 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:sN windows.txt /*:sN* :sN windows.txt /*:sN*
:sNext windows.txt /*:sNext* :sNext windows.txt /*:sNext*
:s\= change.txt /*:s\\=* :s\= change.txt /*:s\\=*
:s_# change.txt /*:s_#*
:s_I change.txt /*:s_I*
:s_c change.txt /*:s_c* :s_c change.txt /*:s_c*
:s_e change.txt /*:s_e*
:s_flags change.txt /*:s_flags* :s_flags change.txt /*:s_flags*
:s_g change.txt /*:s_g*
:s_i change.txt /*:s_i*
:s_l change.txt /*:s_l*
:s_n change.txt /*:s_n*
:s_p change.txt /*:s_p*
:s_r change.txt /*:s_r*
:sa windows.txt /*:sa* :sa windows.txt /*:sa*
:sal windows.txt /*:sal* :sal windows.txt /*:sal*
:sall windows.txt /*:sall* :sall windows.txt /*:sall*
@ -3462,10 +3473,12 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
<bang> map.txt /*<bang>* <bang> map.txt /*<bang>*
<buffer=N> autocmd.txt /*<buffer=N>* <buffer=N> autocmd.txt /*<buffer=N>*
<buffer=abuf> autocmd.txt /*<buffer=abuf>* <buffer=abuf> autocmd.txt /*<buffer=abuf>*
<cWORD> cmdline.txt /*<cWORD>*
<cexpr> cmdline.txt /*<cexpr>* <cexpr> cmdline.txt /*<cexpr>*
<cfile> cmdline.txt /*<cfile>* <cfile> cmdline.txt /*<cfile>*
<character> intro.txt /*<character>* <character> intro.txt /*<character>*
<count> map.txt /*<count>* <count> map.txt /*<count>*
<cword> cmdline.txt /*<cword>*
<f-args> map.txt /*<f-args>* <f-args> map.txt /*<f-args>*
<k0> term.txt /*<k0>* <k0> term.txt /*<k0>*
<k1> term.txt /*<k1>* <k1> term.txt /*<k1>*
@ -3497,6 +3510,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
<reg> map.txt /*<reg>* <reg> map.txt /*<reg>*
<register> map.txt /*<register>* <register> map.txt /*<register>*
<sfile> cmdline.txt /*<sfile>* <sfile> cmdline.txt /*<sfile>*
<sflnum> cmdline.txt /*<sflnum>*
<slnum> cmdline.txt /*<slnum>* <slnum> cmdline.txt /*<slnum>*
<xCSI> intro.txt /*<xCSI>* <xCSI> intro.txt /*<xCSI>*
<xDown> term.txt /*<xDown>* <xDown> term.txt /*<xDown>*
@ -3695,6 +3709,7 @@ CTRL-\_CTRL-N intro.txt /*CTRL-\\_CTRL-N*
CTRL-] tagsrch.txt /*CTRL-]* CTRL-] tagsrch.txt /*CTRL-]*
CTRL-^ editing.txt /*CTRL-^* CTRL-^ editing.txt /*CTRL-^*
CTRL-{char} intro.txt /*CTRL-{char}* CTRL-{char} intro.txt /*CTRL-{char}*
Cfilter quickfix.txt /*Cfilter*
Channel eval.txt /*Channel* Channel eval.txt /*Channel*
Channels eval.txt /*Channels* Channels eval.txt /*Channels*
Chinese mbyte.txt /*Chinese* Chinese mbyte.txt /*Chinese*
@ -3727,6 +3742,7 @@ DOS-format-write editing.txt /*DOS-format-write*
Dictionaries eval.txt /*Dictionaries* Dictionaries eval.txt /*Dictionaries*
Dictionary eval.txt /*Dictionary* Dictionary eval.txt /*Dictionary*
Dictionary-function eval.txt /*Dictionary-function* Dictionary-function eval.txt /*Dictionary-function*
DiffUpdated autocmd.txt /*DiffUpdated*
Digraphs digraph.txt /*Digraphs* Digraphs digraph.txt /*Digraphs*
DirChanged autocmd.txt /*DirChanged* DirChanged autocmd.txt /*DirChanged*
E motion.txt /*E* E motion.txt /*E*
@ -4628,6 +4644,8 @@ E956 pattern.txt /*E956*
E957 eval.txt /*E957* E957 eval.txt /*E957*
E958 eval.txt /*E958* E958 eval.txt /*E958*
E96 diff.txt /*E96* E96 diff.txt /*E96*
E960 options.txt /*E960*
E961 cmdline.txt /*E961*
E97 diff.txt /*E97* E97 diff.txt /*E97*
E98 diff.txt /*E98* E98 diff.txt /*E98*
E99 diff.txt /*E99* E99 diff.txt /*E99*
@ -4702,6 +4720,7 @@ KVim gui_x11.txt /*KVim*
Kibaale uganda.txt /*Kibaale* Kibaale uganda.txt /*Kibaale*
Korean mbyte.txt /*Korean* Korean mbyte.txt /*Korean*
L motion.txt /*L* L motion.txt /*L*
Lfilter quickfix.txt /*Lfilter*
Linux-backspace options.txt /*Linux-backspace* Linux-backspace options.txt /*Linux-backspace*
List eval.txt /*List* List eval.txt /*List*
Lists eval.txt /*Lists* Lists eval.txt /*Lists*
@ -7273,6 +7292,7 @@ lifelines.vim syntax.txt /*lifelines.vim*
limits vi_diff.txt /*limits* limits vi_diff.txt /*limits*
line() eval.txt /*line()* line() eval.txt /*line()*
line-continuation repeat.txt /*line-continuation* line-continuation repeat.txt /*line-continuation*
line-continuation-comment repeat.txt /*line-continuation-comment*
line2byte() eval.txt /*line2byte()* line2byte() eval.txt /*line2byte()*
linefeed intro.txt /*linefeed* linefeed intro.txt /*linefeed*
linewise motion.txt /*linewise* linewise motion.txt /*linewise*
@ -8664,6 +8684,7 @@ swapchoice-variable eval.txt /*swapchoice-variable*
swapcommand-variable eval.txt /*swapcommand-variable* swapcommand-variable eval.txt /*swapcommand-variable*
swapfile-changed version4.txt /*swapfile-changed* swapfile-changed version4.txt /*swapfile-changed*
swapinfo() eval.txt /*swapinfo()* swapinfo() eval.txt /*swapinfo()*
swapname() eval.txt /*swapname()*
swapname-variable eval.txt /*swapname-variable* swapname-variable eval.txt /*swapname-variable*
sybase ft_sql.txt /*sybase* sybase ft_sql.txt /*sybase*
syn-sync-grouphere syntax.txt /*syn-sync-grouphere* syn-sync-grouphere syntax.txt /*syn-sync-grouphere*
@ -9077,7 +9098,9 @@ test_null_job() eval.txt /*test_null_job()*
test_null_list() eval.txt /*test_null_list()* test_null_list() eval.txt /*test_null_list()*
test_null_partial() eval.txt /*test_null_partial()* test_null_partial() eval.txt /*test_null_partial()*
test_null_string() eval.txt /*test_null_string()* test_null_string() eval.txt /*test_null_string()*
test_option_not_set() eval.txt /*test_option_not_set()*
test_override() eval.txt /*test_override()* test_override() eval.txt /*test_override()*
test_scrollbar() eval.txt /*test_scrollbar()*
test_settime() eval.txt /*test_settime()* test_settime() eval.txt /*test_settime()*
testing eval.txt /*testing* testing eval.txt /*testing*
testing-variable eval.txt /*testing-variable* testing-variable eval.txt /*testing-variable*

View File

@ -38,8 +38,17 @@ browser use: https://github.com/vim/vim/issues/1234
*known-bugs* *known-bugs*
-------------------- Known bugs and current work ----------------------- -------------------- Known bugs and current work -----------------------
tar plugin: use "file" to check compression type, use bzip2 only when it Test_scrollbars() fails with X11-Athena GUI or X11-Motif GUI
recognizes bzip2 or file ends in .bz2 (Dominique, #3451)
Flashing highlighting with 'rnu' and folding.
(Vitaly Yashin, 2018 Sep 26, #3484)
Still a cursorline problem. (Justin Keyes, #3488)
Crash with recursive use of getcmdline() from Timer. save_ccline isn't used
then. Turn it around: When getcmdline() is called it checks if it is a
recursive call, and saves the cmdline then. (#3493)
'incsearch' with :s: (#3321) 'incsearch' with :s: (#3321)
- :s/foo using CTRL-G moves to another line, should not happen, or use the - :s/foo using CTRL-G moves to another line, should not happen, or use the
@ -50,6 +59,8 @@ recognizes bzip2 or file ends in .bz2
isn't one? isn't one?
Then :%s?foo should take the first match above the cursor line. Then :%s?foo should take the first match above the cursor line.
Don't set diffexpr when generating _vimrc for MS-Windows.
Prompt buffer: Prompt buffer:
- Add a command line history. - Add a command line history.
- delay next prompt until plugin gives OK? - delay next prompt until plugin gives OK?
@ -91,12 +102,8 @@ Terminal emulator window:
- When 'encoding' is not utf-8, or the job is using another encoding, setup - When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions. conversions.
Not possible to have a comment in between line continuation. Use |\": Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9,
let array = [ #3417)
\ item,
|\" comment
\ item,
\ ]
Does not build with MinGW out of the box: Does not build with MinGW out of the box:
- _stat64 is not defined, need to use "struct stat" in vim.h - _stat64 is not defined, need to use "struct stat" in vim.h
@ -105,9 +112,6 @@ Does not build with MinGW out of the box:
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
13, #2910) Can't reproduce? 13, #2910) Can't reproduce?
Patch to add script line number to script ID. (ichizok, Ozaki Kiichi, 2018 Aug
24, #3362)
Errors found with random data: Errors found with random data:
heap-buffer-overflow in alist_add (#2472) heap-buffer-overflow in alist_add (#2472)
@ -127,12 +131,18 @@ https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17) Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17)
Related to bracketed paste. I cannot reproduce it. Related to bracketed paste. I cannot reproduce it.
":mksession" cannot handle a very long 'runtimepath'. (Timothy Madden, 21 Sep
2018, #3466)
Patch in pull request #2967: Allow white space in sign text. (Ben Jackson) Patch in pull request #2967: Allow white space in sign text. (Ben Jackson)
Test fails in AppVeyor. Test fails in AppVeyor.
Job_info() returns command without backslashes. (Daniel Hahler, 2018 Sep 3, Job_info() returns command without backslashes. (Daniel Hahler, 2018 Sep 3,
#3404) #3404)
Patch to simplify nsis installer. (Ken Takata, 2018 Sep 24, was #3479)
Now included in #3501, using MUI2.
Removing flags from 'cpoptions' breaks the Winbar buttons in termdebug. Removing flags from 'cpoptions' breaks the Winbar buttons in termdebug.
(Dominique Pelle, 2018 Jul 16) (Dominique Pelle, 2018 Jul 16)
@ -143,6 +153,9 @@ Invalid memory access with old regexp engine. (Dominique Pelle, 2018 Sep 3,
#3405) Introduced by 8.0.1517, which was fixing another memory access error. #3405) Introduced by 8.0.1517, which was fixing another memory access error.
(Sep 8) (Sep 8)
Add function to make use of internal diff, working on two lists and returning
unified diff (list of lines).
Memory leak in test_assert: Memory leak in test_assert:
==19127== by 0x2640D7: alloc (misc2.c:874) ==19127== by 0x2640D7: alloc (misc2.c:874)
==19127== by 0x2646D6: vim_strsave (misc2.c:1315) ==19127== by 0x2646D6: vim_strsave (misc2.c:1315)
@ -183,29 +196,36 @@ Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
Use something like ":tag {kind}/{tagname}". Use something like ":tag {kind}/{tagname}".
Not ready to include. Not ready to include.
Patch to support menus in terminal: ":tlmenu". (Yee Cheng Chin, #3439)
home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9) home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9)
When the status line uses term_gettitle(), it does not get updated when the
terminal title changes. (Josh Triplett, 2018 Sep 9, #3418)
How would we know that the status line needs to be updated?
Adjust windows installer explanation of behavior. (scootergrisen, #3310) Adjust windows installer explanation of behavior. (scootergrisen, #3310)
Set g:actual_curbuf when evaluating 'statusline', not just with an expression. Set g:actual_curbuf when evaluating 'statusline', not just with an expression.
(Daniel Hahler, 2018 Aug 8, #3299) (Daniel Hahler, 2018 Aug 8, #3299)
Using an external diff is inefficient. Not all systems have a good diff ml_get error. (Dominique Pelle, 2018 Sep 14, #3434)
program available (esp. MS-Windows). Would be nice to have in internal diff
implementation. Can then also use this for displaying changes within a line. Only output t_Cs when t_Ce is also set. do not use Cs and Ce termcap entries. (Daniel Hahler, 2018 Sep 25)
Olaf Dabrunz is working on this. (10 Jan 2016) Add t_cS and t_cR for cursor color select and reset. Use Cs and Cr terminfo
9 Instead invoking an external diff program, use builtin code. One can be values.
found here: http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
It's complicated and badly documented. Furthere xdiff changes:
Alternative: use the xdiff library from git. Unfinished Patch from Christian - More options, e.g. different kind of whitespace diff.
Brabandt, 2018 Mar 20, #2732) - when editing text, update the surrounding diff blocks.
Note that this is NOT libxdiff. - omit diff.exe from distribution
-> avoid writing all the text to a file, use in-memory only - Can we make this show differences within a line?
-> add option to use external diff above a certain size. - add option to use external diff above a certain size.
-> when making changes, diff only the part of the buffer that changed.
Difference between two regexp engines: #3373 Difference between two regexp engines: #3373
Patch to handle missin glibwinpthread-1.dll. (Ken Takata, 2018 Sep 23, #2827)
Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
24, #832) Also need a way to get the global arg list? Update later on Jan 24 24, #832) Also need a way to get the global arg list? Update later on Jan 24
Update Mar 5. Update Apr 7. Update Jun 5. Update Mar 5. Update Apr 7. Update Jun 5.
@ -215,13 +235,13 @@ includes the first screen line. (2018 Aug 23, #3368)
Refactored HTML indent file. (Michael Lee, #1821) Refactored HTML indent file. (Michael Lee, #1821)
Test for user name completeion ":e ~s<Tab>" fails because we don't get all
user names. Is there another function to get more? (2018 Sep 3, Stuckrad)
Patch to add getregpoint() and setreg() with an option to set "". Patch to add getregpoint() and setreg() with an option to set "".
(Andy Massimino, 2018 Aug 24, #3370) (Andy Massimino, 2018 Aug 24, #3370)
Better name? Better name?
MS-Windows: .lnk file not resolved properly when 'encoding' is set.
(lkintact, 2018 Sep 22, #3473)
Script generated by :mksession does not work well if there are windows with Script generated by :mksession does not work well if there are windows with
modified buffers modified buffers
change "silent only" into "silent only!" change "silent only" into "silent only!"
@ -238,6 +258,8 @@ Compiler warnings (geeknik, 2017 Oct 26):
Win32 console: <F11> and <F12> typed in Insert mode don't result in normal Win32 console: <F11> and <F12> typed in Insert mode don't result in normal
characters. (#3246) characters. (#3246)
'foldtext' is evaluated too often. (Daniel Hahler, #2773)
Height of quickfix window is not retained with vertical splits. (Lifepillar, Height of quickfix window is not retained with vertical splits. (Lifepillar,
2018 Aug 24, #2998) 2018 Aug 24, #2998)
@ -253,6 +275,9 @@ is cleared, to avoid going back to the list of errors buffer (would have two
windows with it). Can we just remove the jump list entries for the quickfix windows with it). Can we just remove the jump list entries for the quickfix
buffer? buffer?
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
Make balloon_show() work outside of 'balloonexpr'? Users expect it to work: Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
#2948. (related to #1512?) #2948. (related to #1512?)
On Win32 it stops showing, because showState is already ShS_SHOWING. On Win32 it stops showing, because showState is already ShS_SHOWING.
@ -260,6 +285,12 @@ balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
20, #2481) 20, #2481)
Also see #2352, want better control over balloon, perhaps set the position. Also see #2352, want better control over balloon, perhaps set the position.
Should also be possible to add highlighting, like in the status line? Should also be possible to add highlighting, like in the status line?
balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail,
2018 Sep 14)
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
Maybe call it v:motiontype. Update in #3490)
Alternaitve: add the force flag to mode(), after "no".
Patch to fix that executable() may fail on very long filename in MS-Windows. Patch to fix that executable() may fail on very long filename in MS-Windows.
(Ken Takata, 2016 Feb 1) (Ken Takata, 2016 Feb 1)
@ -281,6 +312,10 @@ Cursor in wrong position when line wraps. (#2540)
Patch to parse ":line" in tags file and use it for search. (Daniel Hahler, Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
#2546) Fixes #1057. Missing a test. #2546) Fixes #1057. Missing a test.
Setting 'columns' in a BufEnter autocommand causes a second tab width to
behave strangely, as if there is a gap and a vertical window separator.
(Michael Soyka, 2018 Sep 23, #3477)
Make {skip} argument of searchpair() consistent with other places where we Make {skip} argument of searchpair() consistent with other places where we
pass an expression to evaluate. Allow passing zero for "never skip". pass an expression to evaluate. Allow passing zero for "never skip".
@ -301,6 +336,11 @@ If 'readonly' is not set but the file appears to be readonly later, try again
(wait a little while). (wait a little while).
CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5) CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5)
Using --remote to open a file in which a # appears does not work on
MS-Windows. Perhaps in \# the \ is seen as a path separator. (Axel Bender,
2017 Feb 9) Can we expand wildcards first and send the path literally to the
receiving Vim? Or make an exception for #, it's not useful remotely.
Should add a test for every command line argument. Check coverage for what is Should add a test for every command line argument. Check coverage for what is
missing: --nofork, -A , -b, -h, etc. missing: --nofork, -A , -b, -h, etc.
@ -311,6 +351,7 @@ Quickfix window height is not kept with a vertical split. (Lifepillar, 2018
Jun 10, #2998) Jun 10, #2998)
Improve the installer for MS-Windows. There are a few alternatives: Improve the installer for MS-Windows. There are a few alternatives:
- mui2 installer improved by Ken Takata (2018 Sep 29)
- Add silent install option. (Shane Lee, #751) - Add silent install option. (Shane Lee, #751)
- Installer from Cream (Steve Hall). - Installer from Cream (Steve Hall).
- Modern UI 2.0 for the Nsis installer. (Guopeng Wen) - Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
@ -328,10 +369,6 @@ Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
Delete all the speficic stuff for the Borland compiler? (#3374) Delete all the speficic stuff for the Borland compiler? (#3374)
Patch in #3377 (Thomas Dziedzic) Patch in #3377 (Thomas Dziedzic)
Does setting 'cursorline' cause syntax highlighting to slow down? Perhaps is
mess up the cache? (Mike Lee Williams, 2018 Jan 27, #2539)
Also: 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
With 'foldmethod' "indent" and appending an empty line, what follows isn't With 'foldmethod' "indent" and appending an empty line, what follows isn't
included in the existing fold. Deleting the empty line and undo fixes it. included in the existing fold. Deleting the empty line and undo fixes it.
(Oleg Koshovetc, 2018 Jul 15, #3214) (Oleg Koshovetc, 2018 Jul 15, #3214)
@ -490,6 +527,9 @@ Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
MS-Windows: buffer completion doesn't work when using backslash (or slash) MS-Windows: buffer completion doesn't work when using backslash (or slash)
for a path separator. (xtal8, #2201) for a path separator. (xtal8, #2201)
Would be nice for insert mode completion to highlight the text that was added
(and may change when picking another compltion).
Test runtime files. Test runtime files.
Start with filetype detection: testdir/test_filetype.vim Start with filetype detection: testdir/test_filetype.vim
@ -773,11 +813,6 @@ Or point to nightly builds: https://github.com/vim/vim-win32-installer/releases
Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11, Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11,
#1053) With patch, does it work? #1053) With patch, does it work?
Using --remote to open a file in which a # appears does not work on
MS-Windows. Perhaps in \# the \ is seen as a path separator. (Axel Bender,
2017 Feb 9) Can we expand wildcards first and send the path literally to the
receiving Vim? Or make an exception for #, it's not useful remotely.
":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a ":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a
vertical split. (Haldean Brown, 2017 Mar 1) vertical split. (Haldean Brown, 2017 Mar 1)
@ -1113,9 +1148,6 @@ Patch to avoid redrawing tabline when the popup menu is visible.
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24) Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
Update 2016 Jun 10, #861 Update 2016 Jun 10, #861
Patch to be able to use hex numbers with :digraph. (Lcd, 2015 Sep 6)
Update Sep 7. Update by Christian Brabandt, 2015 Sep 8, 2016 Feb 1.
Patch to show search statistics. (Christian Brabandt, 2016 Jul 22) Patch to show search statistics. (Christian Brabandt, 2016 Jul 22)
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
@ -2191,9 +2223,6 @@ that Vim doesn't find the edited file in the buffer list, causing the
ATTENTION message? (Tony Mechelynck, 2008 Dec 1) ATTENTION message? (Tony Mechelynck, 2008 Dec 1)
Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...". Also: swap files are in ~/tmp/ One has relative file name ".mozilla/...".
Add v:motion_force. (Kana Natsuno, 2008 Dec 6)
Maybe call it v:motiontype.
MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew" MS-Windows: editing the first, empty buffer, 'ffs' set to "unix,dos", ":enew"
doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer
probably causes this. probably causes this.

View File

@ -2,6 +2,7 @@
" Maintainer : Gergely Kontra <kgergely@mcl.hu> " Maintainer : Gergely Kontra <kgergely@mcl.hu>
" Revised on : 2002.02.18. 23:34:05 " Revised on : 2002.02.18. 23:34:05
" Language : Prolog " Language : Prolog
" Last change by: Takuya Fujiwara, 2018 Sep 23
" TODO: " TODO:
" checking with respect to syntax highlighting " checking with respect to syntax highlighting
@ -37,10 +38,18 @@ function! GetPrologIndent()
let ind = indent(pnum) let ind = indent(pnum)
" Previous line was comment -> use previous line's indent " Previous line was comment -> use previous line's indent
if pline =~ '^\s*%' if pline =~ '^\s*%'
retu ind return ind
endif
" Previous line was the start of block comment -> +1 after '/*' comment
if pline =~ '^\s*/\*'
return ind + 1
endif
" Previous line was the end of block comment -> -1 after '*/' comment
if pline =~ '^\s*\*/'
return ind - 1
endif endif
" Check for clause head on previous line " Check for clause head on previous line
if pline =~ ':-\s*\(%.*\)\?$' if pline =~ '\%(:-\|-->\)\s*\(%.*\)\?$'
let ind = ind + shiftwidth() let ind = ind + shiftwidth()
" Check for end of clause on previous line " Check for end of clause on previous line
elseif pline =~ '\.\s*\(%.*\)\?$' elseif pline =~ '\.\s*\(%.*\)\?$'

View File

@ -1,7 +1,7 @@
" Vim syntax file " Vim syntax file
" Language: C " Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org> " Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2017 Apr 30 " Last Change: 2018 Sep 21
" Quit when a (custom) syntax file was already loaded " Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax") if exists("b:current_syntax")
@ -220,7 +220,7 @@ if exists("c_comment_strings")
syn match cCommentSkip contained "^\s*\*\($\|\s\+\)" syn match cCommentSkip contained "^\s*\*\($\|\s\+\)"
syn region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip syn region cCommentString contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+\*/+me=s-1 contains=cSpecial,cCommentSkip
syn region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial syn region cComment2String contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end="$" contains=cSpecial
syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,@Spell syn region cCommentL start="//" skip="\\$" end="$" keepend contains=@cCommentGroup,cComment2String,cCharacter,cNumbersCom,cSpaceError,cWrongComTail,@Spell
if exists("c_no_comment_fold") if exists("c_no_comment_fold")
" Use "extend" here to have preprocessor lines not terminate halfway a " Use "extend" here to have preprocessor lines not terminate halfway a
" comment. " comment.
@ -239,6 +239,7 @@ endif
" keep a // comment separately, it terminates a preproc. conditional " keep a // comment separately, it terminates a preproc. conditional
syn match cCommentError display "\*/" syn match cCommentError display "\*/"
syn match cCommentStartError display "/\*"me=e-1 contained syn match cCommentStartError display "/\*"me=e-1 contained
syn match cWrongComTail display "\*/"
syn keyword cOperator sizeof syn keyword cOperator sizeof
if exists("c_gnu") if exists("c_gnu")
@ -453,6 +454,7 @@ hi def link cErrInBracket cError
hi def link cCommentError cError hi def link cCommentError cError
hi def link cCommentStartError cError hi def link cCommentStartError cError
hi def link cSpaceError cError hi def link cSpaceError cError
hi def link cWrongComTail cError
hi def link cSpecialError cError hi def link cSpecialError cError
hi def link cCurlyError cError hi def link cCurlyError cError
hi def link cOperator Operator hi def link cOperator Operator

View File

@ -1,12 +1,12 @@
" Vim syntax file " Vim syntax file
" Language: Configuration File (ini file) for MSDOS/MS Windows " Language: Configuration File (ini file) for MSDOS/MS Windows
" Version: 2.1 " Version: 2.2
" Original Author: Sean M. McKee <mckee@misslink.net> " Original Author: Sean M. McKee <mckee@misslink.net>
" Previous Maintainer: Nima Talebi <nima@it.net.au> " Previous Maintainer: Nima Talebi <nima@it.net.au>
" Current Maintainer: Hong Xu <xuhdev@gmail.com> " Current Maintainer: Hong Xu <hong@topbug.net>
" Homepage: http://www.vim.org/scripts/script.php?script_id=3747 " Homepage: http://www.vim.org/scripts/script.php?script_id=3747
" https://bitbucket.org/xuhdev/syntax-dosini.vim " Repository: https://github.com/xuhdev/syntax-dosini.vim
" Last Change: 2011 Nov 8 " Last Change: 2018 Sep 11
" quit when a syntax file was already loaded " quit when a syntax file was already loaded
@ -17,10 +17,11 @@ endif
" shut case off " shut case off
syn case ignore syn case ignore
syn match dosiniNumber "\<\d\+\>" syn match dosiniLabel "^.\{-}\ze\s*=" nextgroup=dosiniNumber,dosiniValue
syn match dosiniNumber "\<\d*\.\d\+\>" syn match dosiniValue "=\zs.*"
syn match dosiniNumber "\<\d\+e[+-]\=\d\+\>" syn match dosiniNumber "=\zs\s*\d\+\s*$"
syn match dosiniLabel "^.\{-}=" syn match dosiniNumber "=\zs\s*\d*\.\d\+\s*$"
syn match dosiniNumber "=\zs\s*\d\+e[+-]\=\d\+\s*$"
syn region dosiniHeader start="^\s*\[" end="\]" syn region dosiniHeader start="^\s*\[" end="\]"
syn match dosiniComment "^[#;].*$" syn match dosiniComment "^[#;].*$"
@ -31,6 +32,7 @@ hi def link dosiniNumber Number
hi def link dosiniHeader Special hi def link dosiniHeader Special
hi def link dosiniComment Comment hi def link dosiniComment Comment
hi def link dosiniLabel Type hi def link dosiniLabel Type
hi def link dosiniValue String
let b:current_syntax = "dosini" let b:current_syntax = "dosini"

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.0 KiB

After

Width:  |  Height:  |  Size: 4.6 KiB