diff options
Diffstat (limited to 'runtime')
67 files changed, 448 insertions, 327 deletions
diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt index 8d1dca2ff9..7b5913042e 100644 --- a/runtime/doc/autocmd.txt +++ b/runtime/doc/autocmd.txt @@ -661,7 +661,7 @@ DirChanged The working directory has changed in response to the |:cd| or |:lcd| commands, or as a result of the 'autochdir' option. The pattern can be: - "window" to trigger on `:lcd + "window" to trigger on `:lcd` "global" to trigger on `:cd` "auto" to trigger on 'autochdir'. "drop" to trigger on editing a file diff --git a/runtime/doc/change.txt b/runtime/doc/change.txt index 1ad2930d44..1670db634b 100644 --- a/runtime/doc/change.txt +++ b/runtime/doc/change.txt @@ -1447,7 +1447,7 @@ to the name of an external program for Vim to use for text formatting. The program. *format-formatexpr* -The 'formatexpr' option can be set to a Vim Script function that performs +The 'formatexpr' option can be set to a Vim script function that performs reformatting of the buffer. This should usually happen in an |ftplugin|, since formatting is highly dependent on the type of file. It makes sense to use an |autoload| script, so the corresponding script is only loaded @@ -1481,7 +1481,7 @@ text. Put it in your autoload directory, e.g. ~/.vim/autoload/format.vim: > You can then enable the formatting by executing: > setlocal formatexpr=format#Format() -> + Note: this function explicitly returns non-zero when called from insert mode (which basically means, text is inserted beyond the 'textwidth' limit). This causes Vim to fall back to reformat the text by using the internal formatter. diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt index 502fb49181..d56aea72ad 100644 --- a/runtime/doc/diff.txt +++ b/runtime/doc/diff.txt @@ -384,12 +384,16 @@ Example (this does almost the same as 'diffexpr' being empty): > endif silent execute "!diff -a --binary " . opt . v:fname_in . " " . v:fname_new . \ " > " . v:fname_out + redraw! endfunction The "-a" argument is used to force comparing the files as text, comparing as binaries isn't useful. The "--binary" argument makes the files read in binary mode, so that a CTRL-Z doesn't end the text on DOS. +The `redraw!` command may not be needed, depending on whether executing a +shell command shows something on the display or not. + *E810* *E97* Vim will do a test if the diff output looks alright. If it doesn't, you will get an error message. Possible causes: diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 2c9c114396..53ee2094e3 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -2111,7 +2111,7 @@ cursor({list}) Number move cursor to position in {list} debugbreak({pid}) Number interrupt process being debugged deepcopy({expr} [, {noref}]) any make a full copy of {expr} delete({fname} [, {flags}]) Number delete the file or directory {fname} -deletebufline({expr}, {first}[, {last}]) +deletebufline({expr}, {first} [, {last}]) Number delete lines from buffer {expr} did_filetype() Number |TRUE| if FileType autocmd event used diff_filler({lnum}) Number diff filler lines about {lnum} @@ -2477,7 +2477,7 @@ tolower({expr}) String the String {expr} switched to lowercase toupper({expr}) String the String {expr} switched to uppercase tr({src}, {fromstr}, {tostr}) String translate chars of {src} in {fromstr} to chars in {tostr} -trim({text}[, {mask}]) String trim characters in {mask} from {text} +trim({text} [, {mask}]) String trim characters in {mask} from {text} trunc({expr}) Float truncate Float {expr} type({name}) Number type of variable {name} undofile({name}) String undo file name for {name} @@ -3529,7 +3529,7 @@ delete({fname} [, {flags}]) *delete()* To delete a line from the buffer use |:delete| or |deletebufline()|. -deletebufline({expr}, {first}[, {last}]) *deletebufline()* +deletebufline({expr}, {first} [, {last}]) *deletebufline()* Delete lines {first} to {last} (inclusive) from buffer {expr}. If {last} is omitted then delete line {first} only. On success 0 is returned, on failure 1 is returned. @@ -4307,7 +4307,7 @@ getbufinfo([{dict}]) endfor < To get buffer-local options use: > - getbufvar({bufnr}, '&') + getbufvar({bufnr}, '&option_name') < *getbufline()* @@ -8591,9 +8591,8 @@ term_start({cmd}, {options}) *term_start()* |job-options|. However, not all options can be used. These are supported: all timeout options - "stoponexit" - "callback", "out_cb", "err_cb" - "exit_cb", "close_cb" + "stoponexit", "cwd", "env" + "callback", "out_cb", "err_cb", "exit_cb", "close_cb" "in_io", "in_top", "in_bot", "in_name", "in_buf" "out_io", "out_name", "out_buf", "out_modifiable", "out_msg" "err_io", "err_name", "err_buf", "err_modifiable", "err_msg" @@ -8837,7 +8836,7 @@ tr({src}, {fromstr}, {tostr}) *tr()* echo tr("<blob>", "<>", "{}") < returns "{blob}" -trim({text}[, {mask}]) *trim()* +trim({text} [, {mask}]) *trim()* Return {text} as a String where any character in {mask} is removed from the beginning and end of {text}. If {mask} is not given, {mask} is all characters up to 0x20, diff --git a/runtime/doc/ft_rust.txt b/runtime/doc/ft_rust.txt index b94e1f8f75..ff2e0ca56f 100644 --- a/runtime/doc/ft_rust.txt +++ b/runtime/doc/ft_rust.txt @@ -236,4 +236,4 @@ It also has a few other mappings: Note: This binding is only available in MacVim. ============================================================================== - vim:tw=78:sw=4:noet:ts=8:ft=help:norl: + vim:tw=78:sw=4:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/intro.txt b/runtime/doc/intro.txt index a000482e59..13542de23b 100644 --- a/runtime/doc/intro.txt +++ b/runtime/doc/intro.txt @@ -595,9 +595,9 @@ Virtual Replace mode Virtual Replace mode is similar to Replace mode, but If the 'showmode' option is on "-- VREPLACE --" is shown at the bottom of the window. -Insert Normal mode Entered when CTRL-O given in Insert mode. This is - like Normal mode, but after executing one command Vim - returns to Insert mode. +Insert Normal mode Entered when CTRL-O is typed in Insert mode (see + |i_CTRL-O|). This is like Normal mode, but after + executing one command Vim returns to Insert mode. If the 'showmode' option is on "-- (insert) --" is shown at the bottom of the window. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index eb455fc09b..2343d63425 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -4373,7 +4373,7 @@ A jump table for the options with a short description can be found at |Q_op|. methods. Use 'imdisable' to disable XIM then. You can set 'imactivatefunc' and 'imstatusfunc' to handle IME/XIM - via external command if vim is not compiled with the |+xim|, + via external command if Vim is not compiled with the |+xim|, |+multi_byte_ime| or |global-ime|. *'imsearch'* *'ims'* @@ -4480,6 +4480,7 @@ A jump table for the options with a short description can be found at |Q_op|. so far, matches. The matched string is highlighted. If the pattern is invalid or not found, nothing is shown. The screen will be updated often, this is only useful on fast terminals. + Also applies to the `:s`, `:g` and `:v` commands. Note that the match will be shown, but the cursor will return to its original position when no match is found and when pressing <Esc>. You still need to finish the search command with <Enter> to move the @@ -4493,9 +4494,9 @@ A jump table for the options with a short description can be found at |Q_op|. The highlighting can be set with the 'i' flag in 'highlight'. When 'hlsearch' is on, all matched strings are highlighted too while typing a search command. See also: 'hlsearch'. - If you don't want turn 'hlsearch' on, but want to highlight all matches - while searching, you can turn on and off 'hlsearch' with autocmd. - Example: > + If you don't want to turn 'hlsearch' on, but want to highlight all + matches while searching, you can turn on and off 'hlsearch' with + autocmd. Example: > augroup vimrc-incsearch-highlight autocmd! autocmd CmdlineEnter /,\? :set hlsearch @@ -6650,7 +6651,8 @@ A jump table for the options with a short description can be found at |Q_op|. tabpages all tab pages; without this only the current tab page is restored, so that you can make a session for each tab page separately - terminal include terminal windows where the command can be restored + terminal include terminal windows where the command can be + restored unix with Unix end-of-line format (single <NL>), even when on Windows or DOS winpos position of the whole Vim window @@ -6686,7 +6688,7 @@ A jump table for the options with a short description can be found at |Q_op|. Example with escaped space (Vim will do this when initializing the option from $SHELL): > :set shell=/bin/with\\\ space/sh -< The resulting value of 'shell' is "/bin/with\ space/sh", two +< The resulting value of 'shell' is "/bin/with\ space/sh", two backslashes are consumed by `:set`. Under MS-Windows, when the executable ends in ".com" it must be @@ -7512,7 +7514,7 @@ A jump table for the options with a short description can be found at |Q_op|. line is displayed. The current buffer and current window will be set temporarily to that of the window (and buffer) whose statusline is currently being drawn. The expression will evaluate in this context. - The variable "actual_curbuf" is set to the 'bufnr()' number of the + The variable "g:actual_curbuf" is set to the `bufnr()` number of the real current buffer. The 'statusline' option will be evaluated in the |sandbox| if set from diff --git a/runtime/doc/os_qnx.txt b/runtime/doc/os_qnx.txt index 4cbc7ead05..a252b34a2f 100644 --- a/runtime/doc/os_qnx.txt +++ b/runtime/doc/os_qnx.txt @@ -135,4 +135,4 @@ Todo: - Replace usage of fork() with spawn() when launching external programs. - vim:tw=78:sw=4:ts=8:noet:ts=8:ft=help:norl: + vim:tw=78:sw=4:ts=8:noet:ft=help:norl: diff --git a/runtime/doc/print.txt b/runtime/doc/print.txt index 07a95031e8..2f5a1a96c9 100644 --- a/runtime/doc/print.txt +++ b/runtime/doc/print.txt @@ -46,6 +46,8 @@ Note: If you have problems printing with |:hardcopy|, an alternative is to use 'printexpr' through |v:cmdarg|. Otherwise [arguments] is ignored. 'printoptions' can be used to specify paper size, duplex, etc. + Note: If you want PDF, there are tools such as + "ps2pdf" that can convert the PostScript to PDF. :[range]ha[rdcopy][!] >{filename} As above, but write the resulting PostScript in file diff --git a/runtime/doc/quickfix.txt b/runtime/doc/quickfix.txt index 95bcfa06d8..1399d8bed4 100644 --- a/runtime/doc/quickfix.txt +++ b/runtime/doc/quickfix.txt @@ -46,7 +46,7 @@ compiler (see |errorformat| below). *quickfix-ID* Each quickfix list has a unique identifier called the quickfix ID and this -number will not change within a Vim session. The getqflist() function can be +number will not change within a Vim session. The |getqflist()| function can be used to get the identifier assigned to a list. There is also a quickfix list number which may change whenever more than ten lists are added to a quickfix stack. @@ -68,7 +68,7 @@ the location list is destroyed. Every quickfix and location list has a read-only changedtick variable that tracks the total number of changes made to the list. Every time the quickfix list is modified, this count is incremented. This can be used to perform an -action only when the list has changed. The getqflist() and getloclist() +action only when the list has changed. The |getqflist()| and |getloclist()| functions can be used to query the current value of changedtick. You cannot change the changedtick variable. @@ -602,7 +602,7 @@ present). Examples: > echo getloclist(2, {'winid' : 1}).winid < *getqflist-examples* -The getqflist() and getloclist() functions can be used to get the various +The |getqflist()| and |getloclist()| functions can be used to get the various attributes of a quickfix and location list respectively. Some examples for using these functions are below: > @@ -659,7 +659,7 @@ using these functions are below: :echo getloclist(3, {'winid' : 0}).winid < *setqflist-examples* -The setqflist() and setloclist() functions can be used to set the various +The |setqflist()| and |setloclist()| functions can be used to set the various attributes of a quickfix and location list respectively. Some examples for using these functions are below: > diff --git a/runtime/doc/starting.txt b/runtime/doc/starting.txt index 3c2d868057..b060c4555c 100644 --- a/runtime/doc/starting.txt +++ b/runtime/doc/starting.txt @@ -487,7 +487,8 @@ a slash. Thus "-R" means recovery and "-/R" readonly. When {vimrc} is equal to "DEFAULTS" (all uppercase), this has the same effect as "NONE", but the |defaults.vim| script is - loaded, which will also set 'nocompatible'. + loaded, which will also set 'nocompatible'. Also see + |--clean|. Using the "-u" argument with another argument than DEFAULTS has the side effect that the 'compatible' option will be on by @@ -520,7 +521,7 @@ a slash. Thus "-R" means recovery and "-/R" readonly. 'nocompatible': use Vim defaults - no |gvimrc| script is loaded - no viminfo file is read or written - - the home directory is excluded from 'runtimepath' + *-x* -x Use encryption to read/write files. Will prompt for a key, which is then stored in the 'key' option. All writes will diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt index a80d7c3b43..1d3365c3cd 100644 --- a/runtime/doc/tabpage.txt +++ b/runtime/doc/tabpage.txt @@ -241,8 +241,10 @@ REORDERING TAB PAGES: :tabm[ove] [N] *:tabm* *:tabmove* :[N]tabm[ove] Move the current tab page to after tab page N. Use zero to - make the current tab page the first one. Without N the tab - page is made the last one. > + make the current tab page the first one. N is counted before + the move, thus if the second tab is the current one, + `:tabmove 1`` and `:tabmove 2` have no effect. + Without N the tab page is made the last one. > :.tabmove " do nothing :-tabmove " move the tab page to the left :+tabmove " move the tab page to the right diff --git a/runtime/doc/tags b/runtime/doc/tags index 135c3908eb..ed262d4b68 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -991,13 +991,17 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* 't_RF' term.txt /*'t_RF'* 't_RI' term.txt /*'t_RI'* 't_RS' term.txt /*'t_RS'* +'t_RT' term.txt /*'t_RT'* 't_RV' term.txt /*'t_RV'* +'t_Ri' term.txt /*'t_Ri'* 't_SC' term.txt /*'t_SC'* 't_SH' term.txt /*'t_SH'* 't_SI' term.txt /*'t_SI'* 't_SR' term.txt /*'t_SR'* +'t_ST' term.txt /*'t_ST'* 't_Sb' term.txt /*'t_Sb'* 't_Sf' term.txt /*'t_Sf'* +'t_Si' term.txt /*'t_Si'* 't_Te' term.txt /*'t_Te'* 't_Ts' term.txt /*'t_Ts'* 't_VS' term.txt /*'t_VS'* @@ -8744,13 +8748,17 @@ t_RC term.txt /*t_RC* t_RF term.txt /*t_RF* t_RI term.txt /*t_RI* t_RS term.txt /*t_RS* +t_RT term.txt /*t_RT* t_RV term.txt /*t_RV* +t_Ri term.txt /*t_Ri* t_SC term.txt /*t_SC* t_SH term.txt /*t_SH* t_SI term.txt /*t_SI* t_SR term.txt /*t_SR* +t_ST term.txt /*t_ST* t_Sb term.txt /*t_Sb* t_Sf term.txt /*t_Sf* +t_Si term.txt /*t_Si* t_Te term.txt /*t_Te* t_Ts term.txt /*t_Ts* t_VS term.txt /*t_VS* diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt index f9fc0ee5ee..7bdef48297 100644 --- a/runtime/doc/terminal.txt +++ b/runtime/doc/terminal.txt @@ -635,7 +635,7 @@ Starting ~ Load the plugin with this command: > packadd termdebug < *:Termdebug* -To start debugging use `:Termdebug` or `:TermdebugCommand`` followed by the +To start debugging use `:Termdebug` or `:TermdebugCommand` followed by the command name, for example: > :Termdebug vim diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index cf81ccb178..4b1739bdb4 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -34,12 +34,10 @@ entered there will not be repeated below, unless there is extra information. The #1234 numbers refer to an issue or pull request on github. To see it in a browser use: https://github.com/vim/vim/issues/1234 - +(replace 1234 with the issue/pull number) *known-bugs* -------------------- Known bugs and current work ----------------------- -Graduate FEAT_VREPLACE, it's not much code and a lot of #ifdefs - Prompt buffer: - Add a command line history. - delay next prompt until plugin gives OK? @@ -76,13 +74,40 @@ Terminal emulator window: - When 'encoding' is not utf-8, or the job is using another encoding, setup conversions. +Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871) + +Patch to parse ":line" in tags file and use it for search. (Daniel Hahler, +#2546) Fixes #1057. Missing a test. + +Problem with quickfix giving E42 when filtering the error list. +(Nobuhiro Takasaki, 2018 Aug 1, #3270) +Patch with test from Yegappan, Aug 2. + +Patch to add variable name after "scope add". (Eddie Lebow, 2018 Feb 7, #2620) +Maybe not needed? + +Patch in issue 3268, fix suggestion window appearing on wrong screen. +Also from Ken Takata, 2018 Aug 2. + +Patch for Lua support. (Kazunobu Kuriyama, 2018 May 26) + +Patch to use NGETTEXT() in many more places. (Sergey Alyoshin, 2018 May 25) +Updated patch May 27. + +Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4) + +Patch to fix profiling condition lines. (Ozaki Kiichi,, 2017 Dec 26, #2499) + +Issue #686: apply 'F' in 'shortmess' to more messages. Also #3221. +Patch on #3221 from Christian. Does it work now? + +Patch to include a cfilter plugin to filter quickfix/location lists. +(Yegappan Lakshmanan, 2018 May 12) + Does not build with MinGW out of the box: - _stat64 is not defined, need to use "struct stat" in vim.h - WINVER conflict, should use 0x0600 by default? -Patches for Python: #3162, #3263 (Ozaki Kiichi) - Needs update. - Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May 13, #2910) Can't reproduce? @@ -98,6 +123,12 @@ Include part of #3242? Inlcude Chinese-Taiwan translations. (bystar, #3261) +Completion mixes results from the current buffer with tags and other files. +Happens when typing CTRL-N while still search for results. E.g., type "b_" in +terminal.c and then CTRL-N twice. +Should do current file first and not split it up when more results are found. +(Also #1890) + Using mouse for inputlist() doesn't work after patch 8.0.1756. (Dominique Pelle, 2018 Jul 22, #3239) Also see 8.0.0722. Check both console and GUI. @@ -150,9 +181,18 @@ Memory leak in test_terminal: gethostbyname() is old, use getaddrinfo() if available. (#3227) +Delete the src/main.aap file? + matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul 19. +home_replace() uses $HOME instead of "homedir". (Cesar Martins, 2018 Aug 9) + +Adjust windows installer explanation of behavior. (scootergrisen, #3310) + +Set g:actual_curbuf when evaluating 'statusline', not just with an expression. +(Daniel Hahler, 2018 Aug 8, #3299) + Script generated by :mksession does not work well if there are windows with modified buffers change "silent only" into "silent only!" @@ -160,16 +200,6 @@ modified buffers skip "badd fname" if "fname" is already in the buffer list remove remark about unloading buffers from documentation -Patch to make :help work for tags with a ?. (Hirohito Higashi, 2018 May 28) - -Patch to have a stack trace in Ruby. (Masataka Pocke Kuwabara, 2018 Jul 30, -#3267) - -Patch to adjust to DPI setting for GTK. (Roel van de Kraats, 2017 Nov 20, -#2357) - -Patch to fix window size when using VTP. (Nobuhiro Takasaki, #3164) - Compiler warnings (geeknik, 2017 Oct 26): - signed integer overflow in do_sub() (#2249) - signed integer overflow in get_address() (#2248) @@ -179,8 +209,6 @@ Compiler warnings (geeknik, 2017 Oct 26): Win32 console: <F11> and <F12> typed in Insert mode don't result in normal characters. (#3246) -Patch for more quickfix refactoring. (Yegappan Lakshmanan, #2950) - Tests failing for "make testgui" with GTK: - Test_setbufvar_options() - Test_exit_callback_interval() @@ -190,17 +218,6 @@ 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 buffer? -Patch to stack and pop the window title and icon. (IWAMOTO Kouichi, 2018 Jun -22, #3059) -8 For xterm need to open a connection to the X server to get the window - title, which can be slow. Can also get the title with "<Esc>[21t", no - need to use X11 calls. This returns "<Esc>]l{title}<Esc>\". -Using title stack probably works better. - -When a function is defined in the sandbox (with :function or as a lambda) -always execute it in the sandbox. (#3182) -Remove "safe" argument from call_vim_function(), it's al |