diff options
author | Bram Moolenaar <Bram@vim.org> | 2017-11-02 22:58:42 +0100 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2017-11-02 22:58:42 +0100 |
commit | 01164a6546b4c635daf96a1f17d1cb2d07f32a66 (patch) | |
tree | 6e3ff8b26170448c1ee8c53e904738ddc10287e8 | |
parent | ea84df8041dbbff95acb1db8532281679c5fbe5a (diff) |
Long overdue runtime update.
51 files changed, 2075 insertions, 908 deletions
diff --git a/runtime/autoload/ada.vim b/runtime/autoload/ada.vim index ce3a19369a..d04feb9250 100644 --- a/runtime/autoload/ada.vim +++ b/runtime/autoload/ada.vim @@ -591,7 +591,7 @@ function ada#Map_Menu (Text, Keys, Command) \" :" . a:Command execute \ "inoremap <buffer>" . - \ " <Learder>a" . a:Keys . + \ " <Leader>a" . a:Keys . \" <C-O>:" . a:Command endif return diff --git a/runtime/autoload/sqlcomplete.vim b/runtime/autoload/sqlcomplete.vim index f7e86a9d0e..ef5ce2e6e2 100644 --- a/runtime/autoload/sqlcomplete.vim +++ b/runtime/autoload/sqlcomplete.vim @@ -2,7 +2,7 @@ " Language: SQL " Maintainer: David Fishburn <dfishburn dot vim at gmail dot com> " Version: 16.0 -" Last Change: 2015 Dec 29 +" Last Change: 2017 Oct 15 " Homepage: http://www.vim.org/scripts/script.php?script_id=1572 " Usage: For detailed help " ":help sql.txt" @@ -860,7 +860,7 @@ function! s:SQLCGetColumns(table_name, list_type) " Start characterwise visual mode " Advance right one character - " Search foward until one of the following: + " Search forward until one of the following: " 1. Another select/update/delete statement " 2. A ; at the end of a line (the delimiter) " 3. The end of the file (incase no delimiter) diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index da35c279c5..e1e96a770b 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -1,4 +1,4 @@ -*autocmd.txt* For Vim version 8.0. Last change: 2017 Jul 14 +*autocmd.txt* For Vim version 8.0. Last change: 2017 Oct 21 VIM REFERENCE MANUAL by Bram Moolenaar @@ -501,6 +501,10 @@ CmdlineEnter After moving the cursor to the command line, |cmdwin-char| *CmdlineLeave* CmdlineLeave Before leaving the command line. + Also when abandoning the command line, after + typing CTRL-C or <Esc>. + When the commands result in an error the + command line is still executed. <afile> is set to a single character, indicating the type of command-line. |cmdwin-char| diff --git a/runtime/doc/cmdline.txt b/runtime/doc/cmdline.txt index a0e37b53c1..d87d4fe957 100644 --- a/runtime/doc/cmdline.txt +++ b/runtime/doc/cmdline.txt @@ -1,4 +1,4 @@ -*cmdline.txt* For Vim version 8.0. Last change: 2017 Sep 17 +*cmdline.txt* For Vim version 8.0. Last change: 2017 Oct 19 VIM REFERENCE MANUAL by Bram Moolenaar @@ -839,7 +839,8 @@ Note: these are typed literally, they are not special keys! <cfile> is replaced with the path name under the cursor (like what |gf| uses) <afile> When executing autocommands, is replaced with the file name - for a file read or write. + of the buffer being manipulated, or the file for a read or + write. <abuf> When executing autocommands, is replaced with the currently effective buffer number (for ":r file" and ":so file" it is the current buffer, the file being read/sourced is not in a diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index 1a7ca73097..e6e225ac09 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -1,4 +1,4 @@ -*diff.txt* For Vim version 8.0. Last change: 2017 Sep 26 +*diff.txt* For Vim version 8.0. Last change: 2017 Oct 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -326,7 +326,7 @@ g:diff_translations to zero: > let g:diff_translations = 0 < -After setting this variable, Reload the syntax script: > +After setting this variable, reload the syntax script: > set syntax=diff < diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 9c2117ca2d..13396c69d0 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -1,4 +1,4 @@ -*eval.txt* For Vim version 8.0. Last change: 2017 Sep 17 +*eval.txt* For Vim version 8.0. Last change: 2017 Oct 28 VIM REFERENCE MANUAL by Bram Moolenaar @@ -120,9 +120,8 @@ To test for a non-empty string, use empty(): > Function arguments often behave slightly different from |TRUE|: If the argument is present and it evaluates to a non-zero Number, |v:true| or a non-empty String, then the value is considered to be TRUE. -Note that " " and "0" are also non-empty strings, thus cause the mode to be -cleared. A List, Dictionary or Float is not a Number or String, thus -evaluates to FALSE. +Note that " " and "0" are also non-empty strings, thus considered to be TRUE. +A List, Dictionary or Float is not a Number or String, thus evaluate to FALSE. *E745* *E728* *E703* *E729* *E730* *E731* *E908* *E910* *E913* List, Dictionary, Funcref, Job and Channel types are not automatically @@ -815,14 +814,15 @@ Examples: "abc" == "Abc" evaluates to 1 if 'ignorecase' is set, 0 otherwise *E691* *E692* -A |List| can only be compared with a |List| and only "equal", "not equal" and -"is" can be used. This compares the values of the list, recursively. -Ignoring case means case is ignored when comparing item values. +A |List| can only be compared with a |List| and only "equal", "not equal", +"is" and "isnot" can be used. This compares the values of the list, +recursively. Ignoring case means case is ignored when comparing item values. *E735* *E736* A |Dictionary| can only be compared with a |Dictionary| and only "equal", "not -equal" and "is" can be used. This compares the key/values of the |Dictionary| -recursively. Ignoring case means case is ignored when comparing item values. +equal", "is" and "isnot" can be used. This compares the key/values of the +|Dictionary| recursively. Ignoring case means case is ignored when comparing +item values. *E694* A |Funcref| can only be compared with a |Funcref| and only "equal", "not @@ -2321,7 +2321,7 @@ searchpos({pattern} [, {flags} [, {stopline} [, {timeout}]]]) server2client({clientid}, {string}) Number send reply string serverlist() String get a list of available servers -setbufline( {expr}, {lnum}, {line}) +setbufline({expr}, {lnum}, {line}) Number set line {lnum} to {line} in buffer {expr} setbufvar({expr}, {varname}, {val}) @@ -2950,6 +2950,9 @@ ch_evalraw({handle}, {string} [, {options}]) *ch_evalraw()* correct contents. Also does not add a newline for a channel in NL mode, the caller must do that. The NL in the response is removed. + Note that Vim does not know when the text received on a raw + channel is complete, it may only return the first part and you + need to use ch_readraw() to fetch the rest. See |channel-use|. {only available when compiled with the |+channel| feature} @@ -6463,6 +6466,12 @@ remote_expr({server}, {string} [, {idvar} [, {timeout}]]) {only available when compiled with the |+clientserver| feature} Note: Any errors will cause a local error message to be issued and the result will be the empty string. + + Variables will be evaluated in the global namespace, + independent of a function currently being activel. Except + when in debug mode, then local function variables and + arguments can be evaluated. + Examples: > :echo remote_expr("gvim", "2+2") :echo remote_expr("gvim1", "b:current_syntax") @@ -8154,6 +8163,11 @@ term_setsize({buf}, {expr}) *term_setsize()* term_start({cmd}, {options}) *term_start()* Open a terminal window and run {cmd} in it. + {cmd} can be a string or a List, like with |job_start()|. The + string "NONE" can be used to open a terminal window without + starting a job, the pty of the terminal can be used by a + command like gdb. + Returns the buffer number of the terminal window. If {cmd} cannot be executed the window does open and shows an error message. @@ -9055,13 +9069,16 @@ See |:verbose-cmd| for more information. *E124* *E125* *E853* *E884* :fu[nction][!] {name}([arguments]) [range] [abort] [dict] [closure] - Define a new function by the name {name}. The name - must be made of alphanumeric characters and '_', and - must start with a capital or "s:" (see above). Note - that using "b:" or "g:" is not allowed. (since patch - 7.4.260 E884 is given if the function name has a colon - in the name, e.g. for "foo:bar()". Before that patch - no error was given). + Define a new function by the name {name}. The body of + the function follows in the next lines, until the + matching |:endfunction|. + + The name must be made of alphanumeric characters and + '_', and must start with a capital or "s:" (see + above). Note that using "b:" or "g:" is not allowed. + (since patch 7.4.260 E884 is given if the function + name has a colon in the name, e.g. for "foo:bar()". + Before that patch no error was given). {name} can also be a |Dictionary| entry that is a |Funcref|: > @@ -9197,9 +9214,10 @@ 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. The body of the function follows in the next lines, -until the matching |:endfunction|. It is allowed to define another function -inside a function body. +still supply the () then. + +It is allowed to define another function inside a function +body. *local-variables* Inside a function local variables can be used. These will disappear when the diff --git a/runtime/doc/filetype.txt b/runtime/doc/filetype.txt index 795b2590ff..4b47a39a7b 100644 --- a/runtime/doc/filetype.txt +++ b/runtime/doc/filetype.txt @@ -1,4 +1,4 @@ -*filetype.txt* For Vim version 8.0. Last change: 2017 Mar 28 +*filetype.txt* For Vim version 8.0. Last change: 2017 Oct 10 VIM REFERENCE MANUAL by Bram Moolenaar @@ -43,7 +43,7 @@ Detail: The ":filetype on" command will load one of these files: BufNewFile and BufRead events. If the file type is not found by the name, the file $VIMRUNTIME/scripts.vim is used to detect it from the contents of the file. - When the GUI is running or will start soon, the menu.vim script is + When the GUI is running or will start soon, the |menu.vim| script is also sourced. See |'go-M'| about avoiding that. To add your own file types, see |new-filetype| below. To search for help on a @@ -607,6 +607,7 @@ Works on: - Linux - Mac OS - FreeBSD + - OpenBSD - Cygwin - Win 10 under Bash @@ -620,6 +621,10 @@ For bash,zsh,ksh or dash by adding to the config file (.bashrc,.zshrc, ...) export MANPAGER="env MAN_PN=1 vim -M +MANPAGER -" +On OpenBSD: + + export MANPAGER="env MAN_PN=1 vim -M +MANPAGER" + For (t)csh by adding to the config file setenv MANPAGER "env MAN_PN=1 vim -M +MANPAGER -" diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt index 71e3027ceb..750ba76afc 100644 --- a/runtime/doc/ft_rust.txt +++ b/runtime/doc/ft_rust.txt @@ -199,7 +199,7 @@ COMMANDS *rust-commands* |g:rust_playpen_url| is the base URL to the playpen, by default "https://play.rust-lang.org/". - |g:rust_shortener_url| is the base URL for the shorterner, by + |g:rust_shortener_url| is the base URL for the shortener, by default "https://is.gd/" :RustFmt *:RustFmt* diff --git a/runtime/doc/gui.txt b/runtime/doc/gui.txt index df02c5c80a..ab9d4b7dad 100644 --- a/runtime/doc/gui.txt +++ b/runtime/doc/gui.txt @@ -482,6 +482,7 @@ menus and menu items. They are most useful for things that you can't remember what the key sequence was. For creating menus in a different language, see |:menutrans|. +If you don't want to use menus at all, see |'go-M'|. *menu.vim* The default menus are read from the file "$VIMRUNTIME/menu.vim". See @@ -498,7 +499,11 @@ in the menu (which can take a bit of time to load). If you want to have all filetypes already present at startup, add: > :let do_syntax_sel_menu = 1 -< +Note that the menu.vim is sourced when `:syntax on` or `:filetype on` is +executed or after your .vimrc file is sourced. This means that the 'encoding' +option and the language of messages (`:language messages`) must be set before +that (if you want to change them). + *console-menus* Although this documentation is in the GUI section, you can actually use menus in console mode too. You will have to load |menu.vim| explicitly then, it is diff --git a/runtime/doc/gui_w32.txt b/runtime/doc/gui_w32.txt index ec69442053..d8052fe8df 100644 --- a/runtime/doc/gui_w32.txt +++ b/runtime/doc/gui_w32.txt @@ -1,4 +1,4 @@ -*gui_w32.txt* For Vim version 8.0. Last change: 2014 Dec 20 +*gui_w32.txt* For Vim version 8.0. Last change: 2017 Oct 27 VIM REFERENCE MANUAL by Bram Moolenaar @@ -382,38 +382,8 @@ Note that a menu that starts with ']' will not be displayed. ============================================================================== 7. Command line arguments *gui-w32-cmdargs* -Analysis of a command line into parameters is not standardised in MS Windows. -Gvim has to provide logic to analyse a command line. This logic is likely to -be different from the default logic provided by a compilation system used to -build vim. The differences relate to unusual double quote (") usage. -The arguments "C:\My Music\freude.txt" and "+/Sch\"iller" are handled in the -same way. The argument "+/Sch""iller" may be handled different by gvim and -vim, depending what it was compiled with. - -The rules are: - a) A parameter is a sequence of graphic characters. - b) Parameters are separated by white space. - c) A parameter can be enclosed in double quotes to include white space. - d) A sequence of zero or more backslashes (\) and a double quote (") - is special. The effective number of backslashes is halved, rounded - down. An even number of backslashes reverses the acceptability of - spaces and tabs, an odd number of backslashes produces a literal - double quote. - -So: - " is a special double quote - \" is a literal double quote - \\" is a literal backslash and a special double quote - \\\" is a literal backslash and a literal double quote - \\\\" is 2 literal backslashes and a special double quote - \\\\\" is 2 literal backslashes and a literal double quote - etc. - -Example: > - gvim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\" - -opens "C:\My Music\freude" and executes the line mode commands: > - set ignorecase; /"foo\ and /bar\" +Command line arguments behave the same way as with the console application, +see |win32-cmdargs|. ============================================================================== 8. Various *gui-w32-various* diff --git a/runtime/doc/help.txt b/runtime/doc/help.txt index 2be3ced374..527b8f7f5d 100644 --- a/runtime/doc/help.txt +++ b/runtime/doc/help.txt @@ -1,4 +1,4 @@ -*help.txt* For Vim version 8.0. Last change: 2016 Sep 12 +*help.txt* For Vim version 8.0. Last change: 2017 Oct 28 VIM - main help file k @@ -142,6 +142,7 @@ Special issues ~ |print.txt| printing |remote.txt| using Vim as a server or client |term.txt| using different terminals and mice +|terminal.txt| Terminal window support |digraph.txt| list of available digraphs |mbyte.txt| multi-byte text support |mlang.txt| non-English language support @@ -150,6 +151,7 @@ Special issues ~ |hebrew.txt| Hebrew language support and editing |russian.txt| Russian language support and editing |ft_ada.txt| Ada (the programming language) support +|ft_rust.txt| Filetype plugin for Rust |ft_sql.txt| about the SQL filetype plugin |hangulin.txt| Hangul (Korean) input mode |rileft.txt| right-to-left editing mode @@ -202,6 +204,7 @@ Standard plugins ~ |pi_logipat.txt| Logical operators on patterns |pi_netrw.txt| Reading and writing files over a network |pi_paren.txt| Highlight matching parens +|pi_spec.txt| Filetype plugin to work with rpm spec files |pi_tar.txt| Tar file explorer |pi_vimball.txt| Create a self-installing Vim script |pi_zip.txt| Zip archive explorer diff --git a/runtime/doc/message.txt b/runtime/doc/message.txt index dbc4280b70..ed7aea2cb4 100644 --- a/runtime/doc/message.txt +++ b/runtime/doc/message.txt @@ -1,4 +1,4 @@ -*message.txt* For Vim version 8.0. Last change: 2017 Mar 25 +*message.txt* For Vim version 8.0. Last change: 2017 Oct 14 VIM REFERENCE MANUAL by Bram Moolenaar @@ -639,6 +639,9 @@ starts. It can be fixed in one of these ways: - Just write the file again the next day. Or set your clock to the next day, write the file twice and set the clock back. +If you get W11 all the time, you may need to disable "Acronis Active +Protection" or register vim as a trusted service/application. + *W12* > Warning: File "{filename}" has changed and the buffer was changed in Vim as well diff --git a/runtime/doc/motion.txt b/runtime/doc/motion.txt index 85d0c4ace8..329b099cfd 100644 --- a/runtime/doc/motion.txt +++ b/runtime/doc/motion.txt @@ -1,4 +1,4 @@ -*motion.txt* For Vim version 8.0. Last change: 2017 Mar 12 +*motion.txt* For Vim version 8.0. Last change: 2017 Oct 15 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index c3b5ab8018..2027a4b2bc 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.0. Last change: 2017 Sep 24 +*options.txt* For Vim version 8.0. Last change: 2017 Nov 02 VIM REFERENCE MANUAL by Bram Moolenaar @@ -886,7 +886,7 @@ A jump table for the options with a short description can be found at |Q_op|. 'background' is not dark/light, 'background' will be set and the screen is redrawn. This may have side effects, make t_BG empty in your .vimrc if you suspect this problem. The response to |t_RB| can - be found in |v:termrgbresp|. + be found in |v:termrbgresp|. When starting the GUI, the default value for 'background' will be "light". When the value is not set in the .gvimrc, and Vim detects @@ -3895,7 +3895,7 @@ A jump table for the options with a short description can be found at |Q_op|. that this flag must be added in the .vimrc file, before switching on syntax or filetype recognition (when the |gvimrc| file is sourced the system menu has already been loaded; the - ":syntax on" and ":filetype on" commands load the menu too). + `:syntax on` and `:filetype on` commands load the menu too). *'go-g'* 'g' Grey menu items: Make menu items that are not active grey. If 'g' is not included inactive menu items are not shown at all. @@ -5127,7 +5127,7 @@ A jump table for the options with a short description can be found at |Q_op|. :au FileType c,cpp,java set mps+==:; < For a more advanced way of using "%", see the matchit.vim plugin in - the $VIMRUNTIME/macros directory. |add-local-help| + the $VIMRUNTIME/pack/dist/opt/matchit directory. |add-local-help| *'matchtime'* *'mat'* 'matchtime' 'mat' number (default 5) @@ -5487,6 +5487,8 @@ A jump table for the options with a short description can be found at |Q_op|. Specifies the name of the MzScheme shared library. The default is DYNAMIC_MZSCH_DLL which was specified at compile time. Environment variables are expanded |:set_env|. + The value must be set in the |vimrc| script or ealier. In the + startup, before the |load-plugins| step. This option cannot be set from a |modeline| or in the |sandbox|, for security reasons. diff --git a/runtime/doc/os_win32.txt b/runtime/doc/os_win32.txt index 9112dacde2..bb1dbdc46a 100644 --- a/runtime/doc/os_win32.txt +++ b/runtime/doc/os_win32.txt @@ -81,10 +81,45 @@ The directory of the Vim executable is appended to $PATH. This is mostly to make "!xxd" work, as it is in the Tools menu. And it also means that when executable() returns 1 the executable can actually be executed. -Quotes in file names *win32-quotes* +Command line arguments *win32-cmdargs* + +Analysis of a command line into parameters is not standardised in MS Windows. +Vim and gvim used to use different logic to parse it (before 7.4.432), and the +logic was also depended on what it was compiled with. Now Vim and gvim both +use the CommandLineToArgvW() Win32 API, so they behave in the same way. + +The basic rules are: *win32-backslashes* + a) A parameter is a sequence of graphic characters. + b) Parameters are separated by white space. + c) A parameter can be enclosed in double quotes to include white space. + d) A sequence of zero or more backslashes (\) and a double quote (") + is special. The effective number of backslashes is halved, rounded + down. An even number of backslashes reverses the acceptability of + spaces and tabs, an odd number of backslashes produces a literal + double quote. + +So: + " is a special double quote + \" is a literal double quote + \\" is a literal backslash and a special double quote + \\\" is a literal backslash and a literal double quote + \\\\" is 2 literal backslashes and a special double quote + \\\\\" is 2 literal backslashes and a literal double quote + etc. -Quotes inside a file name (or any other command line argument) can be escaped -with a backslash. E.g. > +Example: > + vim "C:\My Music\freude" +"set ignorecase" +/"\"foo\\" +\"bar\\\" + +opens "C:\My Music\freude" and executes the line mode commands: > + set ignorecase; /"foo\ and /bar\" + +These rules are also described in the reference of the CommandLineToArgvW API: + https://msdn.microsoft.com/en-us/library/windows/desktop/bb776391.aspx + + *win32-quotes* +There are additional rules for quotes (which are not well documented). +As described above, quotes inside a file name (or any other command line +argument) can be escaped with a backslash. E.g. > vim -c "echo 'foo\"bar'" Alternatively use three quotes to get one: > diff --git a/runtime/doc/quickref.txt b/runtime/doc/quickref.txt index c4d67907e3..c900ff5d04 100644 --- a/runtime/doc/quickref.txt +++ b/runtime/doc/quickref.txt @@ -1,4 +1,4 @@ -*quickref.txt* For Vim version 8.0. Last change: 2017 Sep 10 +*quickref.txt* For Vim version 8.0. Last change: 2017 Oct 19 VIM REFERENCE MANUAL by Bram Moolenaar @@ -780,6 +780,8 @@ 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 'magic' changes special characters in search patterns 'makeef' 'mef' name of the errorfile for ":make" diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt index 9b62fda341..aacfe53312 100644 --- a/runtime/doc/spell.txt +++ b/runtime/doc/spell.txt @@ -1,4 +1,4 @@ -*spell.txt* For Vim version 8.0. Last change: 2016 Jan 08 +*spell.txt* For Vim version 8.0. Last change: 2017 Oct 26 VIM REFERENCE MANUAL by Bram Moolenaar @@ -723,7 +723,7 @@ Additionally the following items are recognized: = Case must match exactly. ? Rare word. ! Bad (wrong) word. - digit A region in which the word is valid. If no regions are + 1 to 9 A region in which the word is valid. If no regions are specified the word is valid in all regions. Example: |