diff options
-rw-r--r-- | runtime/autoload/paste.vim | 46 | ||||
-rw-r--r-- | runtime/bugreport.vim | 6 | ||||
-rw-r--r-- | runtime/defaults.vim | 51 | ||||
-rw-r--r-- | runtime/doc/eval.txt | 2 | ||||
-rw-r--r-- | runtime/doc/if_perl.txt | 4 | ||||
-rw-r--r-- | runtime/doc/if_ruby.txt | 4 | ||||
-rw-r--r-- | runtime/doc/indent.txt | 2 | ||||
-rw-r--r-- | runtime/doc/insert.txt | 5 | ||||
-rw-r--r-- | runtime/doc/options.txt | 12 | ||||
-rw-r--r-- | runtime/doc/os_vms.txt | 10 | ||||
-rw-r--r-- | runtime/doc/tags | 10 | ||||
-rw-r--r-- | runtime/doc/terminal.txt | 2 | ||||
-rw-r--r-- | runtime/doc/todo.txt | 89 | ||||
-rw-r--r-- | runtime/doc/usr_05.txt | 236 | ||||
-rw-r--r-- | runtime/doc/usr_11.txt | 5 | ||||
-rw-r--r-- | runtime/doc/usr_41.txt | 5 | ||||
-rw-r--r-- | runtime/evim.vim | 21 | ||||
-rw-r--r-- | runtime/filetype.vim | 3 | ||||
-rw-r--r-- | runtime/indent/sh.vim | 30 | ||||
-rw-r--r-- | runtime/indent/xml.vim | 13 | ||||
-rw-r--r-- | runtime/menu.vim | 22 | ||||
-rw-r--r-- | runtime/optwin.vim | 74 | ||||
-rw-r--r-- | runtime/pack/dist/opt/matchit/doc/matchit.txt | 22 | ||||
-rw-r--r-- | runtime/pack/dist/opt/matchit/plugin/matchit.vim | 812 | ||||
-rw-r--r-- | runtime/syntax/debchangelog.vim | 4 | ||||
-rw-r--r-- | runtime/vimrc_example.vim | 21 | ||||
-rw-r--r-- | src/po/de.po | 495 |
27 files changed, 731 insertions, 1275 deletions
diff --git a/runtime/autoload/paste.vim b/runtime/autoload/paste.vim index dd7b3ae54a..2d787e7a1d 100644 --- a/runtime/autoload/paste.vim +++ b/runtime/autoload/paste.vim @@ -1,35 +1,25 @@ " Vim support file to help with paste mappings and menus " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last Change: 2017 Aug 30 +" Last Change: 2019 Jan 27 " Define the string to use for items that are present both in Edit, Popup and " Toolbar menu. Also used in mswin.vim and macmap.vim. -" Pasting blockwise and linewise selections is not possible in Insert and -" Visual mode without the +virtualedit feature. They are pasted as if they -" were characterwise instead. Add to that some tricks to leave the cursor in -" the right position, also for "gi". -if has("virtualedit") - let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"} - let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n'] - let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP" +let paste#paste_cmd = {'n': ":call paste#Paste()<CR>"} +let paste#paste_cmd['v'] = '"-c<Esc>' . paste#paste_cmd['n'] +let paste#paste_cmd['i'] = "\<c-\>\<c-o>\"+gP" - func! paste#Paste() - let ove = &ve - set ve=all - normal! `^ - if @+ != '' - normal! "+gP - endif - let c = col(".") - normal! i - if col(".") < c " compensate for i<ESC> moving the cursor left - normal! l - endif - let &ve = ove - endfunc -else - let paste#paste_cmd = {'n': "\"=@+.'xy'<CR>gPFx\"_2x"} - let paste#paste_cmd['v'] = '"-c<Esc>gix<Esc>' . paste#paste_cmd['n'] . '"_x' - let paste#paste_cmd['i'] = 'x<Esc>' . paste#paste_cmd['n'] . '"_s' -endif +func! paste#Paste() + let ove = &ve + set ve=all + normal! `^ + if @+ != '' + normal! "+gP + endif + let c = col(".") + normal! i + if col(".") < c " compensate for i<ESC> moving the cursor left + normal! l + endif + let &ve = ove +endfunc diff --git a/runtime/bugreport.vim b/runtime/bugreport.vim index f0c045e6c3..f7886a9081 100644 --- a/runtime/bugreport.vim +++ b/runtime/bugreport.vim @@ -2,7 +2,7 @@ :" information about the environment of a possible bug in Vim. :" :" Maintainer: Bram Moolenaar <Bram@vim.org> -:" Last change: 2005 Jun 12 +:" Last change: 2019 Jan 27 :" :" To use inside Vim: :" :so $VIMRUNTIME/bugreport.vim @@ -54,9 +54,7 @@ :endif :set all :set termcap -:if has("autocmd") -: au -:endif +:au :if 1 : echo "--- Normal/Visual mode mappings ---" :endif diff --git a/runtime/defaults.vim b/runtime/defaults.vim index 0dcb922450..b848217cd9 100644 --- a/runtime/defaults.vim +++ b/runtime/defaults.vim @@ -1,7 +1,7 @@ " The default vimrc file. " " Maintainer: Bram Moolenaar <Bram@vim.org> -" Last change: 2017 Jun 13 +" Last change: 2019 Jan 26 " " This is loaded if no vimrc file was found. " Except when Vim is run with "-u NONE" or "-C". @@ -90,33 +90,28 @@ if &t_Co > 2 || has("gui_running") let c_comment_strings=1 endif -" Only do this part when compiled with support for autocommands. -if has("autocmd") - - " Enable file type detection. - " Use the default filetype settings, so that mail gets 'tw' set to 72, - " 'cindent' is on in C files, etc. - " Also load indent files, to automatically do language-dependent indenting. - " Revert with ":filetype off". - filetype plugin indent on - - " Put these in an autocmd group, so that you can revert them with: - " ":augroup vimStartup | au! | augroup END" - augroup vimStartup - au! - - " When editing a file, always jump to the last known cursor position. - " Don't do it when the position is invalid, when inside an event handler - " (happens when dropping a file on gvim) and for a commit message (it's - " likely a different one than last time). - autocmd BufReadPost * - \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit' - \ | exe "normal! g`\"" - \ | endif - - augroup END - -endif " has("autocmd") +" Enable file type detection. +" Use the default filetype settings, so that mail gets 'tw' set to 72, +" 'cindent' is on in C files, etc. +" Also load indent files, to automatically do language-dependent indenting. +" Revert with ":filetype off". +filetype plugin indent on + +" Put these in an autocmd group, so that you can revert them with: +" ":augroup vimStartup | au! | augroup END" +augroup vimStartup + au! + + " When editing a file, always jump to the last known cursor position. + " Don't do it when the position is invalid, when inside an event handler + " (happens when dropping a file on gvim) and for a commit message (it's + " likely a different one than last time). + autocmd BufReadPost * + \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit' + \ | exe "normal! g`\"" + \ | endif + +augroup END " Convenient command to see the difference between the current buffer and the " file it was loaded from, thus the changes you made. diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index cce17b9cf5..50ca3769b8 100644 --- a/runtime/doc/eval.txt +++ b/runtime/doc/eval.txt @@ -10193,7 +10193,7 @@ compatible Compiled to be very Vi compatible. conpty Platform where |ConPTY| can be used. cryptv Compiled with encryption support |encryption|. cscope Compiled with |cscope| support. -cursorbind Compiled with |cursorbind| (always true) +cursorbind Compiled with |'cursorbind'| (always true) debug Compiled with "DEBUG" defined. dialog_con Compiled with console dialog support. dialog_gui Compiled with GUI dialog support. diff --git a/runtime/doc/if_perl.txt b/runtime/doc/if_perl.txt index cce3cdf5d9..db0a92cc28 100644 --- a/runtime/doc/if_perl.txt +++ b/runtime/doc/if_perl.txt @@ -1,4 +1,4 @@ -*if_perl.txt* For Vim version 8.1. Last change: 2017 Nov 24 +*if_perl.txt* For Vim version 8.1. Last change: 2019 Jan 29 VIM REFERENCE MANUAL by Sven Verdoolaege @@ -192,7 +192,7 @@ VIM::Eval({expr}) Evaluates {expr} and returns (success, value) in list and inserting line breaks. *perl-Blob* -VIM::Blob({expr}) Return Blob literal string 0zXXXX from scalar value. +VIM::Blob({expr}) Return |Blob| literal string 0zXXXX from scalar value. *perl-SetHeight* Window->SetHeight({height}) diff --git a/runtime/doc/if_ruby.txt b/runtime/doc/if_ruby.txt index c9fc797eb1..a98b6209e6 100644 --- a/runtime/doc/if_ruby.txt +++ b/runtime/doc/if_ruby.txt @@ -1,4 +1,4 @@ -*if_ruby.txt* For Vim version 8.1. Last change: 2018 Mar 15 +*if_ruby.txt* For Vim version 8.1. Last change: 2019 Jan 29 VIM REFERENCE MANUAL by Shugo Maeda @@ -112,7 +112,7 @@ Vim::message({msg}) *ruby-blob* Vim::blob({arg}) - Return Blob literal string from {arg}. + Return |Blob| literal string from {arg}. *ruby-set_option* Vim::set_option({arg}) diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt index 299d1ac683..57b1be1fc3 100644 --- a/runtime/doc/indent.txt +++ b/runtime/doc/indent.txt @@ -1,4 +1,4 @@ -*indent.txt* For Vim version 8.1. Last change: 2018 Apr 04 +*indent.txt* For Vim version 8.1. Last change: 2019 Jan 31 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt index 0431043c28..bd4fad2c29 100644 --- a/runtime/doc/insert.txt +++ b/runtime/doc/insert.txt @@ -1,4 +1,4 @@ -*insert.txt* For Vim version 8.1. Last change: 2019 Jan 11 +*insert.txt* For Vim version 8.1. Last change: 2019 Jan 29 VIM REFERENCE MANUAL by Bram Moolenaar @@ -1078,7 +1078,8 @@ that contains the List. The Dict can have these items: leading text is changed. If you want to suppress the warning message for an empty result, return -v:none. This is useful to implement asynchronous completion with complete(). +|v:none|. This is useful to implement asynchronous completion with +|complete()|. Other items are ignored. diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt index e73a9dae80..c9e2b0b5bb 100644 --- a/runtime/doc/options.txt +++ b/runtime/doc/options.txt @@ -1,4 +1,4 @@ -*options.txt* For Vim version 8.1. Last change: 2019 Jan 16 +*options.txt* For Vim version 8.1. Last change: 2019 Feb 03 VIM REFERENCE MANUAL by Bram Moolenaar @@ -354,12 +354,12 @@ files. You use this command: > :setlocal makeprg=perlmake You can switch back to using the global value by making the local value empty: > :setlocal makeprg= -This only works for a string option. For a boolean option you need to use the -"<" flag, like this: > +This only works for a string option. For a number or boolean option you need +to use the "<" flag, like this: > :setlocal autoread< -Note that for non-boolean options using "<" copies the global value to the -local value, it doesn't switch back to using the global value (that matters -when the global value changes later). You can also use: > +Note that for non-boolean and non-number options using "<" copies the global +value to the local value, it doesn't switch back to using the global value +(that matters when the global value changes later). You can also use: > :set path< This will make the local value of 'path' empty, so that the global value is used. Thus it does the same as: > diff --git a/runtime/doc/os_vms.txt b/runtime/doc/os_vms.txt index 2e2f852845..36a82b2176 100644 --- a/runtime/doc/os_vms.txt +++ b/runtime/doc/os_vms.txt @@ -1,4 +1,4 @@ -*os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 19 +*os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 29 VIM REFERENCE MANUAL @@ -105,7 +105,7 @@ You may want to use GUI with GTK icons, then you have to download and install GTK for OpenVMS or at least runtime shareable images - LIBGTK from polarhome.com Post 7.2 Vim uses GTK2+ while the last GTK on OpenVMS is 1.2.10, therefore -the GTK build is no longer available. +the GTK build is no longer available. For more advanced questions, please send your problem to Vim on VMS mailing list <vim-vms@polarhome.com> @@ -772,9 +772,9 @@ Version 8.1 Version 8.0 - solve the 100% cpu usage issue while waiting for a keystroke - correct the VMS warnings and errors around handling the INFINITY (used in json.c) -- minor VMS port related changes -- correct the make_vms.mms file for 8.0 -- fix [.TESTDIR]make_vms.mms for 8.0 +- minor VMS port related changes +- correct the make_vms.mms file for 8.0 +- fix [.TESTDIR]make_vms.mms for 8.0 Version 7.4 - Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name" diff --git a/runtime/doc/tags b/runtime/doc/tags index 4cc2fa7b69..988d11b47b 100644 --- a/runtime/doc/tags +++ b/runtime/doc/tags @@ -1092,6 +1092,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* 'termbidi' options.txt /*'termbidi'* 'termencoding' options.txt /*'termencoding'* 'termguicolors' options.txt /*'termguicolors'* +'termmode' options.txt /*'termmode'* 'termwinkey' options.txt /*'termwinkey'* 'termwinscroll' options.txt /*'termwinscroll'* 'termwinsize' options.txt /*'termwinsize'* @@ -1112,6 +1113,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* 'titlestring' options.txt /*'titlestring'* 'tl' options.txt /*'tl'* 'tm' options.txt /*'tm'* +'tmod' options.txt /*'tmod'* 'to' options.txt /*'to'* 'toolbar' options.txt /*'toolbar'* 'toolbariconsize' options.txt /*'toolbariconsize'* @@ -1717,6 +1719,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX* 05.6 usr_05.txt /*05.6* 05.7 usr_05.txt /*05.7* 05.8 usr_05.txt /*05.8* +05.9 usr_05.txt /*05.9* 06.1 usr_06.txt /*06.1* 06.2 usr_06.txt /*06.2* 06.3 usr_06.txt /*06.3* @@ -3741,6 +3744,7 @@ ColorSchemePre autocmd.txt /*ColorSchemePre* Command-line cmdline.txt /*Command-line* Command-line-mode cmdline.txt /*Command-line-mode* CompleteDone autocmd.txt /*CompleteDone* +ConPTY terminal.txt /*ConPTY* Contents quickref.txt /*Contents* Cscope if_cscop.txt /*Cscope* CursorHold autocmd.txt /*CursorHold* @@ -5012,7 +5016,10 @@ ZZ editing.txt /*ZZ* [:cntrl:] pattern.txt /*[:cntrl:]* [:digit:] pattern.txt /*[:digit:]* [:escape:] pattern.txt /*[:escape:]* +[:fname:] pattern.txt /*[:fname:]* [:graph:] pattern.txt /*[:graph:]* +[:ident:] pattern.txt /*[:ident:]* +[:keyword:] pattern.txt /*[:keyword:]* [:lower:] pattern.txt /*[:lower:]* [:print:] pattern.txt /*[:print:]* [:punct:] pattern.txt /*[:punct:]* @@ -5847,6 +5854,7 @@ dec-mouse options.txt /*dec-mouse* decada_members ft_ada.txt /*decada_members* deepcopy() eval.txt /*deepcopy()* defaults.vim starting.txt /*defaults.vim* +defaults.vim-explained usr_05.txt /*defaults.vim-explained* definition-search tagsrch.txt /*definition-search* definitions intro.txt /*definitions* delete() eval.txt /*delete()* @@ -7313,7 +7321,7 @@ lambda eval.txt /*lambda* lang-variable eval.txt /*lang-variable* language-mapping map.txt /*language-mapping* last-pattern pattern.txt /*last-pattern* -last-position-jump eval.txt /*last-position-jump* +last-position-jump usr_05.txt /*last-position-jump* last_buffer_nr() eval.txt /*last_buffer_nr()* latex-syntax syntax.txt /*latex-syntax* lc_time-variable eval.txt /*lc_time-variable* diff --git a/runtime/doc/terminal.txt b/runtime/doc/terminal.txt index 3b78b550e2..de79ff00aa 100644 --- a/runtime/doc/terminal.txt +++ b/runtime/doc/terminal.txt @@ -1,4 +1,4 @@ -*terminal.txt* For Vim version 8.1. Last change: 2018 May 17 +*terminal.txt* For Vim version 8.1. Last change: 2019 Feb 03 VIM REFERENCE MANUAL by Bram Moolenaar diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt index 95fdfeb924..cb8733fe1b 100644 --- a/runtime/doc/todo.txt +++ b/runtime/doc/todo.txt @@ -1,4 +1,4 @@ -*todo.txt* For Vim version 8.1. Last change: 2019 Jan 26 +*todo.txt* For Vim version 8.1. Last change: 2019 Feb 02 VIM REFERENCE MANUAL by Bram Moolenaar @@ -38,6 +38,8 @@ browser use: https://github.com/vim/vim/issues/1234 *known-bugs* -------------------- Known bugs and current work ----------------------- +Timer test doesn't work on MS-Windows console, any way to make it work? + 'incsearch' with :s: (#3321) - Get E20 when using command history to get "'<,'>s/a/b" and no Visual area was set. (#3837) @@ -61,6 +63,7 @@ Terminal debugger: - Add option to not open the program window. It's not used when attaching to an already running program. (M. Kelly) - When only gdb window exists, on "quit" edit another buffer. +- Use a sign group - Termdebug does not work when Vim was build with mzscheme: gdb hangs just after "run". Everything else works, including communication channel. Not initializing mzscheme avoid the problem, thus it's not some #ifdef. @@ -107,48 +110,18 @@ Problem with Visual yank when 'linebreak' and 'showbreak' are set. Patch with tests, but it's not clear how it is supposed to work. (tommm, 2018 Nov 17) Asked about this, Dec 22. Christian will have a look. -Key mapping times out when using a timer in Gvim. (Michael Henry, 2018 Sep 9, -#3417) -Another report, with reproduction steps. (#3799) -Is this fixed by 8.1.0761? - 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? -js_decode() does not handle infinity properly. (Dominique Pelle, 2019 Jan 10, -#3788) - -Patch to avoid skipping buffers when loading a session. (Jason Franklin, 2019 -Jan 20) - -Patch to update example of how to restore the cursor. (Ken Takata, 2019 Jan -21) - -Patch to fix problems with timer in GUI. (Ozaki Kiichi, #3817) -Should also fix #3824. -Change the order in which GUI handles events? Make it work like os_unix.c, -check timer on lower level, check for pending messages higher up. - -Signs: -- screen not redrawn correctly. (Dominique Pelle, 2019 Jan 14, #3803) -- Use a sign group in the Termdebug plugin. -- Avoid that "sign unplace id" does a redraw right away, esp. when there is - a sequence of these commands. (Andy Stewart, 2018 Mar 16) - Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May 13, #2910) Can't reproduce? -Patch to recognize more systems with has(). (Ozaki Kiichi, #3855) - Merge checking for 'cursorline' and 'concealcursor', see neovim #9492. Errors found with random data: heap-buffer-overflow in alist_add (#2472) -Patch for xxd to make it work with 64 bit numbers. (Christer Jense, 2019 Jan -11, #3791) - Win32 key codes are messy. Mike Williams tried to fix that, but now old mappings no longer work. Create a new terminal for the better solution? @@ -177,12 +150,6 @@ similar to check_due_timer(). Also see #3809. C syntax: {} inside () causes following {} to be highlighted as error. (Michalis Giannakidis, 2006 Jun 1) -Patch on #3690 to fix that "wincmd p" does not always behave properly. -(Christian Brabandt, 2018 Dec 17) - -Patch: When using %v in 'errorformat', assume the number is the screen column -not bytes, also handle multi-byte charactes. (Yegappan Lakshmanan, #3700) - Support setting the character displayed below the last line? Neovim uses "eob:X" in 'fillchars'. @@ -197,37 +164,24 @@ balloonexpr() on MS-Windows GUI doesn't handle accented chars? (nivaemail, 2018 Sep 14) Another request: #3811. -Patch for MinGW build with static libraries. (Ken Takata, 2018 Dec 16) - -Patch to add new regexp classes :ident:, :keyword:, :fname:. -(ichizok, 2016 Jan 12, #1373) - -Patch to add "termsig" - signal that caused job to end. (Ozaki Kiichi, 2019 -Jan 10, #3786) - More warnings from static analysis: https://lgtm.com/projects/g/vim/vim/alerts/?mode=list -Patch for this: (Aron Widforss, 2018 Oct 13, #3539) - missing a test. -7 Make 'scrolloff' a global-local option, so that it can be different in the - quickfix window, for example. (Gary Holloway) - Also do 'sidescrolloff'. - -Patch for ConPTY support, new one: #3794 Does this work now? -(Nobuhiro Takasaki) - -Issue #3649: Retrying the X server connection once may be insufficient. -Since patch 8.1.0615 we try reconnecting five times. Does it work? - nvo-mode mapping works on Windows, not on Linux. (#3678) Patch to be able to separately map CTRL-H and BS on Windows. (Linwei, 2017 Jul 11, #1833) +Patch to improve readability of complicated if(). (ichizok, 2019 Jan 29, +#3879) + Pasting foo} causes Vim to behave weird. (John Little, 2018 Jun 17) Related to bracketed paste. I cannot reproduce it. +When 'confirm' is set a "silent q" doesn't show the prompt. It should in this +case. (Nate Peterson, 2019 Jan 31, #3892) +For "silent! q" it should not prompt and just fail. + Using CTRL-L to add a character to the search string doesn't work for the last character in the file. (Smylers, 2018 Nov 17, #3620) Suggested patch by Hirohito Higashi, 2018 Nov 18. @@ -250,13 +204,16 @@ When 'sidescrolloff' is set, using "zl" to go to the end of the line, suddenly scrolls back. Should allow for this scrolling, like 'scrolloff' does when using CTRL-E. (Yee Cheng Chin, #3721) -Patch to add ":vsbuffer" - vertical split + :sbuffer. (Rob Pilling, 2019 Jan -17, #3816) Do we really need this? - 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. (Sep 8) +Patch to add complete_mode(). Shougo - #3866. Alternate patch by Hirohito +Higashi, 2019 Jan 27, included now? + +Patch for ConPTY support, new one: #3794 Does this work now? It should. +(Nobuhiro Takasaki) + Add function to make use of internal diff, working on two lists and returning unified diff (list of lines). @@ -272,6 +229,8 @@ cursorline highlighting not removed after yanking in Visual mode. (Matéo Zanibelli, 2018 Oct 30, #3578) Patch by Christian, Oct 30. +Patch to clean up CI configs. (Ozaki Kiichi, 2019 Feb 1, #3890) + Memory leaks in test_channel? (or is it because of fork()) Using uninitialized value in test_crypt. Memory leak in test_terminal: @@ -293,6 +252,11 @@ Patch to add match count and current index "3/44" when using "n" command. matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul 19. +Should make 'listchars' global-local. Local to window or to buffer? +Probably window. +Add something like 'fillchars' local to window, but allow for specifying a +highlight name. Esp. for the statusline. + Sourceforge Vim pages still have content, redirect from empty page. Check for PHP errors. (Wayne Davison, 2018 Oct 26) @@ -335,6 +299,9 @@ Further xdiff changes: Difference between two regexp engines: #3373 +Patch to properly break CJK lines: #3875 +Requires more tests. dbcs_ functions are not implemented. + Patch to add ch_listen() (Yasuhiro Matsumoto, 2018 Nov 26, #3639) What is the practical use for this? @@ -424,8 +391,6 @@ behave strangely, as if there is a gap and a vertical window separator. Make {skip} argument of searchpair() consistent with other places where we pass an expression to evaluate. Allow passing zero for "never skip". -The 'scrolloff' option is global, make it global-local. #3195 - Add an option similar to 'lazyredraw' to skip redrawing while executing a script or function. diff --git a/runtime/doc/usr_05.txt b/runtime/doc/usr_05.txt index a77f90b076..9694efb004 100644 --- a/runtime/doc/usr_05.txt +++ b/runtime/doc/usr_05.txt @@ -1,4 +1,4 @@ -*usr_05.txt* For Vim version 8.1. Last change: 2018 Feb 20 +*usr_05.txt* For Vim version 8.1. Last change: 2019 Jan 26 VIM USER MANUAL - by Bram Moolenaar @@ -11,12 +11,13 @@ Vim's capabilities. Or define your own macros. |05.1| The vimrc file |05.2| The example vimrc file explained -|05.3| Simple mappings -|05.4| Adding a package -|05.5| Adding a plugin -|05.6| Adding a help file -|05.7| The option window -|05.8| Often used options +|05.3| The defaults.vim file explained +|05.4| Simple mappings +|05.5| Adding a package +|05.6| Adding a plugin +|05.7| Adding a help file +|05.8| The option window +|05.9| Often used options Next chapter: |usr_06.txt| Using syntax highlighting Previous chapter: |usr_04.txt| Making small changes @@ -82,50 +83,120 @@ will give you hints about how to set up your own preferences. Not everything will be explained though. Use the ":help" command to find out more. > - set nocompatible - -As mentioned in the first chapter, these manuals explain Vim working in an -improved way, thus not completely Vi compatible. Setting the 'compatible' -option off, thus 'nocompatible' takes care of this. - + " Get the defaults that most users want. + source $VIMRUNTIME/defaults.vim > - set backspace=indent,eol,start +This loads the "defaults.vim" file in the $VIMRUNTIME directory. This sets up +Vim for how most users like it. If you are one of the few that don't, then +comment out this line. The commands are explained below: +|defaults.vim-explained| -This specifies where in Insert mode the <BS> is allowed to delete the -character in front of the cursor. The three items, separated by commas, tell -Vim to delete the white space at the start of the line, a line break and the -character before where Insert mode started. > - - set autoindent - -This makes Vim use the indent of the previous line for a newly created line. -Thus there is the same amount of white space before the new line. For example -when pressing <Enter> in Insert mode, and when using the "o" command to open a -new line. -> - if has("vms") set nobackup else set backup + if has('persistent_undo') + set undofile + endif endif This tells Vim to keep a backup copy of a file when overwriting it. But not on the VMS system, since it keeps old versions of files already. The backup file will have the same name as the original file with "~" added. See |07.4| + +This also sets the 'undofile' option, if available. This will store the +multi-level undo information in a file. The result is that when you change a +file, exit Vim, and then edit the file again, you can undo the changes made +previously. It's a very powerful and useful feature, at the cost of storing a +file. For more information see |undo-persistence|. + +The "if" command is very useful to set options +only when some condition is met. More about that in |usr_41.txt|. + +> + if &t_Co > 2 || has("gui_running") + set hlsearch + endif + +This switches on the 'hlsearch' option, telling Vim to highlight matches with +the last used search pattern. + +> + augroup vimrcEx + au! + autocmd FileType text setlocal textwidth=78 + augroup END + +This makes Vim break text to avoid lines getting longer than 78 characters. +But only for files that have been detected to be plain text. There are +actually two parts here. "autocmd FileType text" is an autocommand. This +defines that when the file type is set to "text" the following command is +automatically executed. "setlocal textwidth=78" sets the 'textwidth' option +to 78, but only locally in one file. + +The wrapper with "augroup vimrcEx" and "augroup END" makes it possible to +delete the autocommand with the "au!" command. See |:augroup|. + +> + if has('syntax') && has('eval') + packadd! matchit + endif + +This loads the "matchit" plugin if the required features are available. +It makes the |%| command more powerful. This is explained at +|matchit-install|. + + +============================================================================== +*05.3* The defaults.vim file explained *defaults.vim-explained* + +The |defaults.vim| file is loaded when the user has no vimrc file. When you +create a new vimrc file, add this line near the top to keep using it: > + + source $VIMRUNTIME/defaults.vim + +Or use the vimrc_example.vim file, as explained above. + +The following explains what defaults.vim is doing. + +> + if exists('skip_defaults_vim') + finish + endif +> +Loading defaults.vim can be disabled with this command: > + let skip_defaults_vim = 1 +This has to be done in the system vimrc file. See |system-vimrc|. If you +have a user vimrc this is not needed, since defaults.vim will not be loaded +automatically. +> > + set nocompatible - set history=50 +As mentioned in the first chapter, these manuals explain Vim working in an +improved way, thus not completely Vi compatible. Setting the 'compatible' +option off, thus 'nocompatible' takes care of this. + +> + set backspace=indent,eol,start + +This specifies where in Insert mode the <BS> is allowed to delete the +character in front of the cursor. The three items, separated by commas, tell +Vim to delete the white space at the start of the line, a line break and the +character before where Insert mode started. See 'backspace'. + +> + set history=200 -Keep 50 commands and 50 search patterns in the history. Use another number if -you want to remember fewer or more lines. +Keep 200 commands and 200 search patterns in the history. Use another number +if you want to remember fewer or more lines. See 'history'. > set ruler Always display the current cursor position in the lower right corner of the -Vim window. +Vim window. See 'ruler'. > set showcmd @@ -144,10 +215,37 @@ the "2fw" command is executed and the displayed "2f" is removed. ^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^ 'showmode' 'showcmd' 'ruler' + +> + set wildmenu + +Display completion matches in a status line. That is when you type <Tab> and +there is more than one match. See 'wildmenu'. + +> + set ttimeout + set ttimeoutlen=100 + +This makes typing Esc take effect more quickly. Normally Vim waits a second +to see if the Esc is the start of an escape sequence. If you have a very slow +remote connection, increase the number. See 'ttimeout'. + +> + set display=truncate + +Show @@@ in the last line if it is truncated, instead of hiding the whole +like. See 'display'. + > set incsearch -Display the match for a search pattern when halfway typing it. +Display the match for a search pattern when halfway typing it. See +'incsearch'. + +> + set nrformats-=octal + +Do not recognize numbers starting with a zero as octal. See 'nrformats'. > map Q gq @@ -158,23 +256,30 @@ it worked before Vim 5.0. Otherwise the "Q" command starts Ex mode, but you will not need it. > + inoremap <C-U> <C-G>u<C-U> +> +CTRL-U in insert mode deletes all entered text in the current line. Use +CTRL-G u to first break undo, so that you can undo CTRL-U after inserting a +line break. Revert with ":iunmap <C-U>". + +> + if has('mouse') + set mouse=a + endif + +Enable using the mouse if available. See 'mouse'. + +> vnoremap _g y:exe "grep /" . escape(@", '\\/') . "/ *.c *.h"<CR> This mapping yanks the visually selected text and searches for it in C files. -This is a complicated mapping. You can see that mappings can be used to do -quite complicated things. Still, it is just a sequence of commands that are -executed like you typed them. +You can see that a mapping can be used to do quite complicated things. Still, +it is just a sequence of commands that are executed like you typed them. > - if &t_Co > 2 || has("gui_running") - syntax on - set hlsearch - endif + syntax on -This switches on syntax highlighting, but only if colors are available. And -the 'hlsearch' option tells Vim to highlight matches with the last used search -pattern. The "if" command is very useful to set options only when some -conditi |