Patch 8.1.1280
Problem: Remarks about functionality not in Vi clutters the help.
Solution: Move all info about what is new in Vim or already existed in Vi to
vi_diff.txt. Remove {not in Vi} remarks. (closes #4268) Add
"noet" to the help files modeline. Also include many other help
file improvements.
Files: runtime/doc/vi_diff.txt, runtime/doc/arabic.txt,
runtime/doc/autocmd.txt, runtime/doc/change.txt,
runtime/doc/channel.txt, runtime/doc/cmdline.txt,
runtime/doc/debugger.txt, runtime/doc/debug.txt,
runtime/doc/develop.txt, runtime/doc/diff.txt,
runtime/doc/digraph.txt, runtime/doc/editing.txt,
runtime/doc/eval.txt, runtime/doc/farsi.txt,
runtime/doc/filetype.txt, runtime/doc/fold.txt,
runtime/doc/ft_ada.txt, runtime/doc/ft_rust.txt,
runtime/doc/ft_sql.txt, runtime/doc/gui.txt,
runtime/doc/gui_w32.txt, runtime/doc/gui_x11.txt,
runtime/doc/hangulin.txt, runtime/doc/hebrew.txt,
runtime/doc/helphelp.txt, runtime/doc/help.txt,
runtime/doc/howto.txt, runtime/doc/if_cscop.txt,
runtime/doc/if_lua.txt, runtime/doc/if_mzsch.txt,
runtime/doc/if_ole.txt, runtime/doc/if_perl.txt,
runtime/doc/if_pyth.txt, runtime/doc/if_ruby.txt,
runtime/doc/if_sniff.txt, runtime/doc/if_tcl.txt,
runtime/doc/indent.txt, runtime/doc/index.txt,
runtime/doc/insert.txt, runtime/doc/intro.txt,
runtime/doc/map.txt, runtime/doc/mbyte.txt,
runtime/doc/message.txt, runtime/doc/mlang.txt,
runtime/doc/motion.txt, runtime/doc/netbeans.txt,
runtime/doc/options.txt, runtime/doc/os_390.txt,
runtime/doc/os_amiga.txt, runtime/doc/os_beos.txt,
runtime/doc/os_dos.txt, runtime/doc/os_mac.txt,
runtime/doc/os_mint.txt, runtime/doc/os_msdos.txt,
runtime/doc/os_os2.txt, runtime/doc/os_qnx.txt,
runtime/doc/os_risc.txt, runtime/doc/os_unix.txt,
runtime/doc/os_vms.txt, runtime/doc/os_win32.txt,
runtime/doc/pattern.txt, runtime/doc/pi_getscript.txt,
runtime/doc/pi_gzip.txt, runtime/doc/pi_logipat.txt,
runtime/doc/pi_netrw.txt, runtime/doc/pi_paren.txt,
runtime/doc/pi_spec.txt, runtime/doc/pi_tar.txt,
runtime/doc/pi_vimball.txt, runtime/doc/pi_zip.txt,
runtime/doc/print.txt, runtime/doc/quickfix.txt,
runtime/doc/quickref.txt, runtime/doc/quotes.txt,
runtime/doc/recover.txt, runtime/doc/remote.txt,
runtime/doc/repeat.txt, runtime/doc/rileft.txt,
runtime/doc/russian.txt, runtime/doc/scroll.txt,
runtime/doc/sign.txt, runtime/doc/spell.txt,
runtime/doc/sponsor.txt, runtime/doc/starting.txt,
runtime/doc/syntax.txt, runtime/doc/tabpage.txt,
runtime/doc/tagsrch.txt, runtime/doc/terminal.txt,
runtime/doc/term.txt, runtime/doc/textprop.txt,
runtime/doc/tips.txt, runtime/doc/todo.txt,
runtime/doc/uganda.txt, runtime/doc/undo.txt,
runtime/doc/usr_01.txt, runtime/doc/usr_02.txt,
runtime/doc/usr_03.txt, runtime/doc/usr_04.txt,
runtime/doc/usr_05.txt, runtime/doc/usr_06.txt,
runtime/doc/usr_07.txt, runtime/doc/usr_08.txt,
runtime/doc/usr_09.txt, runtime/doc/usr_10.txt,
runtime/doc/usr_11.txt, runtime/doc/usr_12.txt,
runtime/doc/usr_20.txt, runtime/doc/usr_21.txt,
runtime/doc/usr_22.txt, runtime/doc/usr_23.txt,
runtime/doc/usr_24.txt, runtime/doc/usr_25.txt,
runtime/doc/usr_26.txt, runtime/doc/usr_27.txt,
runtime/doc/usr_28.txt, runtime/doc/usr_29.txt,
runtime/doc/usr_30.txt, runtime/doc/usr_31.txt,
runtime/doc/usr_32.txt, runtime/doc/usr_40.txt,
runtime/doc/usr_41.txt, runtime/doc/usr_43.txt,
runtime/doc/usr_44.txt, runtime/doc/usr_45.txt,
runtime/doc/usr_90.txt, runtime/doc/usr_toc.txt,
runtime/doc/various.txt, runtime/doc/version4.txt,
runtime/doc/version5.txt, runtime/doc/version6.txt,
runtime/doc/version7.txt, runtime/doc/version8.txt,
runtime/doc/visual.txt, runtime/doc/windows.txt, runtime/doc/tags
*** ../vim-8.1.1279/runtime/doc/vi_diff.txt 2019-04-28 16:00:05.363613444 +0200
--- runtime/doc/vi_diff.txt 2019-05-05 18:01:22.684074302 +0200
***************
*** 1,4 ****
! *vi_diff.txt* For Vim version 8.1. Last change: 2016 Aug 16
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *vi_diff.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 6,14 ****
Differences between Vim and Vi *vi-differences*
! Throughout the help files differences between Vim and Vi/Ex are given in
! curly braces, like "{not in Vi}". This file only lists what has not been
! mentioned in other files and gives an overview.
Vim is mostly POSIX 1003.2-1 compliant. The only command known to be missing
is ":open". There are probably a lot of small differences (either because Vim
--- 6,13 ----
Differences between Vim and Vi *vi-differences*
! This file lists the differences between Vim and Vi/Ex and gives an overview of
! what is in Vim that is not in Vi.
Vim is mostly POSIX 1003.2-1 compliant. The only command known to be missing
is ":open". There are probably a lot of small differences (either because Vim
***************
*** 180,185 ****
--- 179,188 ----
line with tab labels can be used to quickly switch between these pages.
|tab-page|
+ Terminal window. |:terminal|
+ Vim can create a window in which a terminal emulator runs. This can
+ be used to execute an arbitrary command, a shell or a debugger.
+
Syntax highlighting. |:syntax|
Vim can highlight keywords, patterns and other things. This is
defined by a number of |:syntax| commands, and can be made to
***************
*** 194,199 ****
--- 197,207 ----
|'hlsearch'|, matching parens |matchparen| and the cursor line and
column |'cursorline'| |'cursorcolumn'|.
+ Text properties |textprop.txt|
+ Vim supports highlighting text by a plugin. Property types can be
+ specificed with |prop_type_add()| and properties can be placed with
+ |prop_add()|.
+
Spell checking. |spell|
When the 'spell' option is set Vim will highlight spelling mistakes.
About 50 languages are currently supported, selected with the
***************
*** 262,267 ****
--- 270,277 ----
~ swap case
u make lowercase
U make uppercase
+ {Vi has no Visual mode, the name "visual" is used for Normal mode, to
+ distinguish it from Ex mode}
Block operators. |visual-block|
With Visual mode a rectangular block of text can be selected. Start
***************
*** 522,527 ****
--- 532,541 ----
The used tags are remembered. Commands that can be used with the tag stack
are CTRL-T, ":pop" and ":tag". ":tags" lists the tag stack.
+ Vi uses 'wrapscan' when searching for a tag. When jumping to a tag Vi starts
+ searching in line 2 of another file. It does not find a tag in line 1 of
+ another file when 'wrapscan' is not set.
+
The 'tags' option can be set to a list of tag file names. Thus multiple
tag files can be used. For file names that start with "./", the "./" is
replaced with the path of the current file. This makes it possible to use a
***************
*** 795,817 ****
effect is of resetting 'compatible' and removing flags from 'cpoptions' can be
found at the help for the specific command.
! Below is listed what features are present in Vi. Anything else has been added
! by Vim.
- The following Ex commands are supported by Vi: ~
! TODO
! `:set` but not `:set inv{option}`, `:set option&`, `:set all&`,
! `:set option+=value`,
! `:set option^=value`
! `:set option-=value`
! `:set option<`
The following Normal mode commands are supported by Vi: ~
! TODO
The following options are supported by Vi: ~
--- 809,1039 ----
effect is of resetting 'compatible' and removing flags from 'cpoptions' can be
found at the help for the specific command.
! The help files used to mark features that are in Vim but not in Vi with {not
! in Vi}. However, since these remarks cluttered the help files we now do it
! the other way around: Below is listed what Vi already supported. Anything
! else has been added by Vim.
! The following Ex commands are supported by Vi: ~
! `:abbreviate` enter abbreviation
! `:append` append text
! `:args` print the argument list
! `:cd` change directory; Vi: no "cd -"
! `:change` replace a line or series of lines
! `:chdir` change directory
! `:copy` copy lines
! `:delete` delete lines
! `:edit` edit a file
! `:exit` same as ":xit"
! `:file` show or set the current file name; Vi: without the column number
! `:global` execute commands for matching lines
! `:insert` insert text
! `:join` join lines; Vi: not :join!
! `:k` set a mark
! `:list` print lines
! `:map` show or enter a mapping
! `:mark` set a mark
! `:move` move lines
! `:Next` go to previous file in the argument list; no count or ++opt
! `:next` go to next file in the argument list; no count or ++opt
! `:number` print lines with line number
! `:open` start open mode (not implemented in Vim)
! `:pop` jump to older entry in tag stack (only in some versions)
! `:preserve` write all text to swap file
! `:print` print lines
! `:put` insert contents of register in the text
! `:quit` quit Vi
! `:read` read file into the text
! `:recover` recover a file from a swap file
! `:rewind` go to the first file in the argument list; no ++opt
! `:set` set option; but not `:set inv{option}`, `:set option&`,
! `:set all&`, `:set option+=value`, `:set option^=value`
! `:set option-=value` `:set option<`
! `:shell` escape to a shell
! `:source` read Vim or Ex commands from a file
! `:stop` suspend the editor or escape to a shell
! `:substitute` find and replace text; Vi: no '&', 'i', 's', 'r' or 'I' flag,
! confirm prompt only supports 'y' and 'n', no highlighting
! `:suspend` same as ":stop"
! `:t` same as ":copy"
! `:tag` jump to tag
! `:unabbreviate` remove abbreviation
! `:undo` undo last change {Vi: only one level}
! `:unmap` remove mapping
! `:vglobal` execute commands for not matching lines
! `:version` print version number and other info
! `:visual` same as ":edit", but turns off "Ex" mode
! `:wq` write to a file and quit Vi
! `:write` write to a file
! `:xit` write if buffer changed and quit Vi
! `:yank` yank lines into a register
! `:z` print some lines {not in all versions of Vi}
! `:!` filter lines or execute an external command
! `:"` comment
! `:#` same as ":number"
! `:*` execute contents of a register
! `:&` repeat last ":substitute"
! `:<` shift lines one 'shiftwidth' left
! `:=` print the cursor line number
! `:>` shift lines one 'shiftwidth' right
! `:@` execute contents of a register; but not `:@`; `:@@` only in
! some versions
The following Normal mode commands are supported by Vi: ~
! |CTRL-B| scroll N screens Backwards
! |CTRL-C| interrupt current (search) command
! |CTRL-D| scroll Down N lines (default: half a screen); Vim scrolls
! 'scroll' screen lines, Vi scrolls file lines; makes a
! difference when lines wrap
! |CTRL-E| scroll N lines upwards (N lines Extra)
! |CTRL-F| scroll N screens Forward
! |CTRL-G| display current file name and position
! |<BS>| same as "h"
! |CTRL-H| same as "h"
! |<NL>| same as "j"
! |CTRL-J| same as "j"
! |CTRL-L| redraw screen
! |<CR>| cursor to the first CHAR N lines lower
! |CTRL-M| same as <CR>
! |CTRL-N| same as "j"
! |CTRL-P| same as "k"
! |CTRL-R| in some Vi versions: same as CTRL-L
! |CTRL-T| jump to N older Tag in tag list
! |CTRL-U| N lines Upwards (default: half a screen)
! |CTRL-Y| scroll N lines downwards
! |CTRL-Z| suspend program (or start new shell)
! |CTRL-]| :ta to ident under cursor
! |CTRL-^| edit alternate file; Vi: no count
! |<Space>| same as "l"
! |!| filter Nmove text through the {filter} command
! |!!| filter N lines through the {filter} command
! " use register {a-zA-Z0-9.%#:-"} for next delete, yank or put
! (uppercase to append) ({.%#:} only work with put)
! |$| cursor to the end of Nth next line
! |%| find the next (curly/square) bracket on this line and go to
! its match, or go to matching comment bracket, or go to
! matching preprocessor directive (Vi: no count supported)
! |&| repeat last :s
! |'| jump to mark (Vi: only lowercase marks)
! |(| cursor N sentences backward
! |)| cursor N sentences forward
! |+| same as <CR>
! |,| repeat latest f, t, F or T in opposite direction N times
! |-| cursor to the first CHAR N lines higher
! |.| repeat last change with count replaced with N
! |/| search forward for the Nth occurrence of {pattern}
! |0| cursor to the first char of the line
! |:| start entering an Ex command
! |;| repeat latest f, t, F or T N times
! |<| shift Nmove lines one 'shiftwidth' leftwards
! |<<| shift N lines one 'shiftwidth' leftwards
! |=| filter Nmove lines through "indent"
! |==| filter N lines through "indent"
! |>| shift Nmove lines one 'shiftwidth' rightwards
! |>>| shift N lines one 'shiftwidth' rightwards
! |?| search backward for the Nth previous occurrence of {pattern}
! |@| execute the contents of register {a-z} N times
! |@@| repeat the previous @{a-z} N times
! |A| append text after the end of the line N times
! |B| cursor N WORDS backward
! |C| change from the cursor position to the end of the line
! |D| delete the characters under the cursor until the end of the
! line and N-1 more lines [into register x]; synonym for "d$"
! |E| cursor forward to the end of WORD N
! |F| cursor to the Nth occurrence of {char} to the left
! |G| cursor to line N, default last line
! |H| cursor to line N from top of screen
! |I| insert text before the first CHAR on the line N times
! |J| Join N lines; default is 2
! |L| cursor to line N from bottom of screen
! |M| cursor to middle line of screen
! |N| repeat the latest '/' or '?' N times in opposite direction
! |O| begin a new line above the cursor and insert text, repeat N
! times
! |P| put the text [from register x] before the cursor N times
! |Q| switch to "Ex" mode
! |R| enter replace mode: overtype existing characters, repeat the
! entered text N-1 times
! |S| delete N lines [into register x] and start insert; synonym for
! "cc".
! |T| cursor till after Nth occurrence of {char} to the left
! |U| undo all latest changes on one line
! |W| cursor N WORDS forward
! |X| delete N characters before the cursor [into register x]
! |Y| yank N lines [into register x]; synonym for "yy"
! |ZZ| store current file if modified, and exit
! |[[| cursor N sections backward
! |]]| cursor N sections forward
! |^| cursor to the first CHAR of the line
! |_| cursor to the first CHAR N - 1 lines lower
! |`| cursor to the mark {a-zA-Z0-9}
! |a| append text after the cursor N times
! |b| cursor N words backward
! |c| delete Nmove text [into register x] and start insert
! |cc| delete N lines [into register x] and start insert
! |d| delete Nmove text [into register x]
! |dd| delete N lines [into register x]
! |e| cursor forward to the end of word N
! |f| cursor to Nth occurrence of {char} to the right
! |h| cursor N chars to the left
! |i| insert text before the cursor N times
! |j| cursor N lines downward
! |k| cursor N lines upward
! |l| cursor N chars to the right
! |m| set mark {A-Za-z} at cursor position
! |n| repeat the latest '/' or '?' N times
! |o| begin a new line below the cursor and insert text
! |p| put the text [from register x] after the cursor N times
! |r| replace N chars with {char}
! |s| (substitute) delete N characters [into register x] and start
! insert
! |t| cursor till before Nth occurrence of {char} to the right
! |u| undo changes {Vi: only one level}
! |w| cursor N words forward
! |x| delete N characters under and after the cursor [into register
! x]
! |y| yank Nmove text [into register x]
! |yy| yank N lines [into register x]
! |z<CR>| current line to the top
! |z-| current line to the bottom
! |z+| cursor on line N
! |z^| cursor on line N
! |{| cursor N paragraphs backward
! | cursor to column N
! |}| cursor N paragraphs forward
! |~| switch case of N characters under the cursor; Vim: depends on
! 'tildeop'
! |<Del>| same as "x"
!
!
! The following commands are supported in Insert mode by Vi: ~
!
! CTRL-@ insert previously inserted text and stop insert
! CTRL-C quit insert mode, without checking for abbreviation, unless
! 'insertmode' set.
! CTRL-D delete one shiftwidth of indent in the current line
! <BS> delete character before the cursor
! CTRL-H same as <BS>
! <Tab> insert a <Tab> character
! CTRL-I same as <Tab>
! <NL> same as <CR>
! CTRL-J same as <CR>
! <CR> begin new line
! CTRL-M same as <CR>
! CTRL-T insert one shiftwidth of indent in current line
! CTRL-V {char} insert next non-digit literally
! CTRL-W delete word before the cursor
! CTRL-Z when 'insertmode' set: suspend Vim
! <Esc> end insert mode (unless 'insertmode' set)
! CTRL-[ same as <Esc>
! 0 CTRL-D delete all indent in the current line
! ^ CTRL-D delete all indent in the current line, restore it in the next
! line
! <Del> delete character under the cursor
The following options are supported by Vi: ~
***************
*** 849,859 ****
--- 1071,1084 ----
'term' name of the terminal
'terse' shorten some messages
'timeout' 'to' time out on mappings and key codes
+ 'timeoutlen' 'tm' time for 'timeout' {only in some Vi versions}
'ttytype' 'tty' alias for 'term'
'verbose' 'vbs' give informative messages {only in some Vi
versions as a boolean option}
'warn' warn for shell command when buffer was changed
'window' 'wi' nr of lines to scroll for CTRL-F and CTRL-B
+ {Vi also uses the option to specify the number of
+ displayed lines}
'wrapmargin' 'wm' chars from the right where wrapping starts
'wrapscan' 'ws' searches wrap around the end of the file
'writeany' 'wa' write to file with no need for "!" override
***************
*** 968,974 ****
-i Elvis: Start each window in Insert mode.
-i {viminfo} Vim: Use {viminfo} for viminfo file.
! -L Vim: Same as "-r" (also in some versions of Vi).
-l Nvi, Vi, Vim: Set 'lisp' and 'showmatch' options.
--- 1193,1200 ----
-i Elvis: Start each window in Insert mode.
-i {viminfo} Vim: Use {viminfo} for viminfo file.
! -L Vim: Same as "-r" {only in some versions of Vi: "List
! recoverable edit sessions"}.
-l Nvi, Vi, Vim: Set 'lisp' and 'showmatch' options.
*** ../vim-8.1.1279/runtime/doc/arabic.txt 2018-05-17 13:40:51.000000000 +0200
--- runtime/doc/arabic.txt 2019-05-05 17:35:42.792578962 +0200
***************
*** 1,4 ****
! *arabic.txt* For Vim version 8.1. Last change: 2010 Nov 13
VIM REFERENCE MANUAL by Nadim Shaikli
--- 1,4 ----
! *arabic.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Nadim Shaikli
***************
*** 6,12 ****
Arabic Language support (options & mappings) for Vim *Arabic*
- {Vi does not have any of these commands}
*E800*
In order to use right-to-left and Arabic mapping support, it is
--- 6,11 ----
***************
*** 319,322 ****
No other bugs are known to exist.
! vim:tw=78:ts=8:ft=help:norl:
--- 318,321 ----
No other bugs are known to exist.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/autocmd.txt 2019-04-27 20:36:52.526303597 +0200
--- runtime/doc/autocmd.txt 2019-05-05 17:35:49.508541837 +0200
***************
*** 1,10 ****
! *autocmd.txt* For Vim version 8.1. Last change: 2018 May 03
VIM REFERENCE MANUAL by Bram Moolenaar
! Automatic commands *autocommand*
For a basic explanation, see section |40.3| in the user manual.
--- 1,10 ----
! *autocmd.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
! Automatic commands *autocommand* *autocommands*
For a basic explanation, see section |40.3| in the user manual.
***************
*** 20,26 ****
10. Using autocommands |autocmd-use|
11. Disabling autocommands |autocmd-disable|
- {Vi does not have any of these commands}
==============================================================================
1. Introduction *autocmd-intro*
--- 20,25 ----
***************
*** 308,313 ****
--- 307,313 ----
|FileChangedShellPost| After handling a file changed since editing started
|FileChangedRO| before making the first change to a read-only file
+ |DiffUpdated| after diffs have been updated
|DirChanged| after the working directory has changed
|ShellCmdPost| after executing a shell command
***************
*** 317,322 ****
--- 317,323 ----
|FuncUndefined| a user function is used but it isn't defined
|SpellFileMissing| a spell file is used but it can't be found
|SourcePre| before sourcing a Vim script
+ |SourcePost| after sourcing a Vim script
|SourceCmd| before sourcing a Vim script |Cmd-event|
|VimResized| after the Vim window size changed
***************
*** 352,358 ****
when popup menu is not visible
|TextChangedP| after a change was made to the text in Insert mode
when popup menu visible
! |TextYankPost| after text is yanked or deleted
|ColorSchemePre| before loading a color scheme
|ColorScheme| after loading a color scheme
--- 353,359 ----
when popup menu is not visible
|TextChangedP| after a change was made to the text in Insert mode
when popup menu visible
! |TextYankPost| after text has been yanked or deleted
|ColorSchemePre| before loading a color scheme
|ColorScheme| after loading a color scheme
***************
*** 585,591 ****
recursively.
Sets these |v:event| keys:
! completed_item
height nr of items visible
width screen cells
row top screen row
--- 586,592 ----
recursively.
Sets these |v:event| keys:
! completed_item See |complete-items|.
height nr of items visible
width screen cells
row top screen row
***************
*** 642,647 ****
--- 643,650 ----
Not triggered when there is typeahead or when
an operator is pending.
For an example see |match-parens|.
+ Note: This can not be skipped with
+ `:noautocmd`.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
***************
*** 782,794 ****
Not triggered when 'shelltemp' is off.
*FilterWritePost*
FilterWritePost After writing a file for a filter command or
! making a diff.
Vim checks the pattern against the name of
the current buffer as with FilterWritePre.
Not triggered when 'shelltemp' is off.
*FilterWritePre*
FilterWritePre Before writing a file for a filter command or
! making a diff.
Vim checks the pattern against the name of
the current buffer, not the name of the
temporary file that is the output of the
--- 785,798 ----
Not triggered when 'shelltemp' is off.
*FilterWritePost*
FilterWritePost After writing a file for a filter command or
! making a diff with an external diff (see
! DiffUpdated for internal diff).
Vim checks the pattern against the name of
the current buffer as with FilterWritePre.
Not triggered when 'shelltemp' is off.
*FilterWritePre*
FilterWritePre Before writing a file for a filter command or
! making a diff with an external diff.
Vim checks the pattern against the name of
the current buffer, not the name of the
temporary file that is the output of the
***************
*** 889,894 ****
--- 893,900 ----
plugin. You can always use `:noa` to prevent
triggering this autocommand.
+ When using |:set| in the autocommand the event
+ is not triggered again.
*QuickFixCmdPre*
QuickFixCmdPre Before a quickfix command is run (|:make|,
|:lmake|, |:grep|, |:lgrep|, |:grepadd|,
***************
*** 1036,1045 ****
anything else that takes time is involved.
*TextChanged*
TextChanged After a change was made to the text in the
! current buffer in Normal mode. That is when
! |b:changedtick| has changed.
Not triggered when there is typeahead or when
an operator is pending.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
--- 1042,1055 ----
anything else that takes time is involved.
*TextChanged*
TextChanged After a change was made to the text in the
! current buffer in Normal mode. That is after
! |b:changedtick| has changed (also when that
! happened before the TextChanged autocommand
! was defined).
Not triggered when there is typeahead or when
an operator is pending.
+ Note: This can not be skipped with
+ `:noautocmd`.
Careful: This is triggered very often, don't
do anything that the user does not expect or
that is slow.
***************
*** 1438,1444 ****
In commands which expect a file name, you can use "<afile>" for the file name
that is being read |:<afile>| (you can also use "%" for the current file
name). "<abuf>" can be used for the buffer number of the currently effective
! buffer. This also works for buffers that doesn't have a name. But it doesn't
work for files without a buffer (e.g., with ":r file").
*gzip-example*
--- 1448,1454 ----
In commands which expect a file name, you can use "<afile>" for the file name
that is being read |:<afile>| (you can also use "%" for the current file
name). "<abuf>" can be used for the buffer number of the currently effective
! buffer. This also works for buffers that don't have a name. But it doesn't
work for files without a buffer (e.g., with ":r file").
*gzip-example*
***************
*** 1628,1632 ****
This will write the file without triggering the autocommands defined by the
gzip plugin.
! vim:tw=78:ts=8:ft=help:norl:
--- 1638,1645 ----
This will write the file without triggering the autocommands defined by the
gzip plugin.
+ Note that some autocommands are not triggered right away, but only later.
+ This specifically applies to |CursorMoved| and |TextChanged|.
!
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/change.txt 2019-01-11 22:15:00.519123428 +0100
--- runtime/doc/change.txt 2019-05-05 17:36:05.556453071 +0200
***************
*** 1,4 ****
! *change.txt* For Vim version 8.1. Last change: 2018 May 12
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *change.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 34,40 ****
deletes the last character of the count.
See |:fixdel| if the <Del> key does not do what you
want. See |'whichwrap'| for deleting a line break
! (join lines). {Vi does not support <Del>}
*X* *dh*
["x]X Delete [count] characters before the cursor [into
--- 34,40 ----
deletes the last character of the count.
See |:fixdel| if the <Del> key does not do what you
want. See |'whichwrap'| for deleting a line break
! (join lines).
*X* *dh*
["x]X Delete [count] characters before the cursor [into
***************
*** 59,65 ****
{Visual}["x]x or *v_x* *v_d* *v_<Del>*
{Visual}["x]d or
{Visual}["x]<Del> Delete the highlighted text [into register x] (for
! {Visual} see |Visual-mode|). {not in Vi}
{Visual}["x]CTRL-H or *v_CTRL-H* *v_<BS>*
{Visual}["x]<BS> When in Select mode: Delete the highlighted text [into
--- 59,65 ----
{Visual}["x]x or *v_x* *v_d* *v_<Del>*
{Visual}["x]d or
{Visual}["x]<Del> Delete the highlighted text [into register x] (for
! {Visual} see |Visual-mode|).
{Visual}["x]CTRL-H or *v_CTRL-H* *v_<BS>*
{Visual}["x]<BS> When in Select mode: Delete the highlighted text [into
***************
*** 69,75 ****
{Visual}["x]D Delete the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). In Visual block mode,
"D" deletes the highlighted text plus all text until
! the end of the line. {not in Vi}
*:d* *:de* *:del* *:delete* *:dl* *:dp*
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
--- 69,75 ----
{Visual}["x]D Delete the highlighted lines [into register x] (for
{Visual} see |Visual-mode|). In Visual block mode,
"D" deletes the highlighted text plus all text until
! the end of the line.
*:d* *:de* *:del* *:delete* *:dl* *:dp*
:[range]d[elete] [x] Delete [range] lines (default: current line) [into
***************
*** 116,131 ****
*v_J*
{Visual}J Join the highlighted lines, with a minimum of two
lines. Remove the indent and insert up to two spaces
! (see below). {not in Vi}
*gJ*
gJ Join [count] lines, with a minimum of two lines.
! Don't insert or remove any spaces. {not in Vi}
*v_gJ*
{Visual}gJ Join the highlighted lines, with a minimum of two
! lines. Don't insert or remove any spaces. {not in
! Vi}
*:j* *:join*
:[range]j[oin][!] [flags]
--- 116,130 ----
*v_J*
{Visual}J Join the highlighted lines, with a minimum of two
lines. Remove the indent and insert up to two spaces
! (see below).
*gJ*
gJ Join [count] lines, with a minimum of two lines.
! Don't insert or remove any spaces.
*v_gJ*
{Visual}gJ Join the highlighted lines, with a minimum of two
! lines. Don't insert or remove any spaces.
*:j* *:join*
:[range]j[oin][!] [flags]
***************
*** 134,140 ****
If a [range] has equal start and end values, this
command does nothing. The default behavior is to
join the current line with the line below it.
- {not in Vi: !}
See |ex-flags| for [flags].
:[range]j[oin][!] {count} [flags]
--- 133,138 ----
***************
*** 142,148 ****
current line |cmdline-ranges|). Same as "J", except
with [!] the join does not insert or delete any
spaces.
- {not in Vi: !}
See |ex-flags| for [flags].
These commands delete the <EOL> between lines. This has the effect of joining
--- 140,145 ----
***************
*** 209,216 ****
{Visual}["x]c or *v_c* *v_s*
{Visual}["x]s Delete the highlighted text [into register x] and
! start insert (for {Visual} see |Visual-mode|). {not
! in Vi}
*v_r*
{Visual}["x]r{char} Replace all selected characters by {char}.
--- 206,212 ----
{Visual}["x]c or *v_c* *v_s*
{Visual}["x]s Delete the highlighted text [into register x] and
! start insert (for {Visual} see |Visual-mode|).
*v_r*
{Visual}["x]r{char} Replace all selected characters by {char}.
***************
*** 218,231 ****
*v_C*
{Visual}["x]C Delete the highlighted lines [into register x] and
start insert. In Visual block mode it works
! differently |v_b_C|. {not in Vi}
*v_S*
{Visual}["x]S Delete the highlighted lines [into register x] and
! start insert (for {Visual} see |Visual-mode|). {not
! in Vi}
*v_R*
{Visual}["x]R Currently just like {Visual}["x]S. In a next version
! it might work differently. {not in Vi}
Notes:
- You can end Insert and Replace mode with <Esc>.
--- 214,226 ----
*v_C*
{Visual}["x]C Delete the highlighted lines [into register x] and
start insert. In Visual block mode it works
! differently |v_b_C|.
*v_S*
{Visual}["x]S Delete the highlighted lines [into register x] and
! start insert (for {Visual} see |Visual-mode|).
*v_R*
{Visual}["x]R Currently just like {Visual}["x]S. In a next version
! it might work differently.
Notes:
- You can end Insert and Replace mode with <Esc>.
***************
*** 322,342 ****
tilde cannot be used as an operator}
*g~*
! g~{motion} Switch case of {motion} text. {not in Vi}
g~g~ *g~g~* *g~~*
! g~~ Switch case of current line. {not in Vi}.
*v_~*
{Visual}~ Switch case of highlighted text (for {Visual} see
! |Visual-mode|). {not in Vi}
*v_U*
{Visual}U Make highlighted text uppercase (for {Visual} see
! |Visual-mode|). {not in Vi}
*gU* *uppercase*
! gU{motion} Make {motion} text uppercase. {not in Vi}
Example: >
:map! <C-F> <Esc>gUiw`]a
< This works in Insert mode: press CTRL-F to make the
--- 317,337 ----
tilde cannot be used as an operator}
*g~*
! g~{motion} Switch case of {motion} text.
g~g~ *g~g~* *g~~*
! g~~ Switch case of current line.
*v_~*
{Visual}~ Switch case of highlighted text (for {Visual} see
! |Visual-mode|).
*v_U*
{Visual}U Make highlighted text uppercase (for {Visual} see
! |Visual-mode|).
*gU* *uppercase*
! gU{motion} Make {motion} text uppercase.
Example: >
:map! <C-F> <Esc>gUiw`]a
< This works in Insert mode: press CTRL-F to make the
***************
*** 345,371 ****
gUgU *gUgU* *gUU*
! gUU Make current line uppercase. {not in Vi}.
*v_u*
{Visual}u Make highlighted text lowercase (for {Visual} see
! |Visual-mode|). {not in Vi}
*gu* *lowercase*
! gu{motion} Make {motion} text lowercase. {not in Vi}
gugu *gugu* *guu*
! guu Make current line lowercase. {not in Vi}.
*g?* *rot13*
! g?{motion} Rot13 encode {motion} text. {not in Vi}
*v_g?*
{Visual}g? Rot13 encode the highlighted text (for {Visual} see
! |Visual-mode|). {not in Vi}
g?g? *g?g?* *g??*
! g?? Rot13 encode current line. {not in Vi}.
To turn one line into title caps, make every first letter of a word
uppercase: >
--- 340,366 ----
gUgU *gUgU* *gUU*
! gUU Make current line uppercase.
*v_u*
{Visual}u Make highlighted text lowercase (for {Visual} see
! |Visual-mode|).
*gu* *lowercase*
! gu{motion} Make {motion} text lowercase.
gugu *gugu* *guu*
! guu Make current line lowercase.
*g?* *rot13*
! g?{motion} Rot13 encode {motion} text.
*v_g?*
{Visual}g? Rot13 encode the highlighted text (for {Visual} see
! |Visual-mode|).
g?g? *g?g?* *g??*
! g?? Rot13 encode current line.
To turn one line into title caps, make every first letter of a word
uppercase: >
***************
*** 375,392 ****
Adding and subtracting ~
*CTRL-A*
CTRL-A Add [count] to the number or alphabetic character at
! or after the cursor. {not in Vi}
*v_CTRL-A*
{Visual}CTRL-A Add [count] to the number or alphabetic character in
! the highlighted text. {not in Vi}
*v_g_CTRL-A*
{Visual}g CTRL-A Add [count] to the number or alphabetic character in
the highlighted text. If several lines are
highlighted, each one will be incremented by an
additional [count] (so effectively creating a
! [count] incrementing sequence). {not in Vi}
For Example, if you have this list of numbers:
1. ~
1. ~
--- 370,387 ----
Adding and subtracting ~
*CTRL-A*
CTRL-A Add [count] to the number or alphabetic character at
! or after the cursor.
*v_CTRL-A*
{Visual}CTRL-A Add [count] to the number or alphabetic character in
! the highlighted text.
*v_g_CTRL-A*
{Visual}g CTRL-A Add [count] to the number or alphabetic character in
the highlighted text. If several lines are
highlighted, each one will be incremented by an
additional [count] (so effectively creating a
! [count] incrementing sequence).
For Example, if you have this list of numbers:
1. ~
1. ~
***************
*** 401,411 ****
*CTRL-X*
CTRL-X Subtract [count] from the number or alphabetic
! character at or after the cursor. {not in Vi}
*v_CTRL-X*
{Visual}CTRL-X Subtract [count] from the number or alphabetic
! character in the highlighted text. {not in Vi}
On MS-Windows, this is mapped to cut Visual text
|dos-standard-mappings|. If you want to disable the
--- 396,406 ----
*CTRL-X*
CTRL-X Subtract [count] from the number or alphabetic
! character at or after the cursor.
*v_CTRL-X*
{Visual}CTRL-X Subtract [count] from the number or alphabetic
! character in the highlighted text.
On MS-Windows, this is mapped to cut Visual text
|dos-standard-mappings|. If you want to disable the
***************
*** 417,423 ****
character in the highlighted text. If several lines
are highlighted, each value will be decremented by an
additional [count] (so effectively creating a [count]
! decrementing sequence). {not in Vi}
The CTRL-A and CTRL-X commands can work for:
- signed and unsigned decimal numbers
--- 412,418 ----
character in the highlighted text. If several lines
are highlighted, each value will be decremented by an
additional [count] (so effectively creating a [count]
! decrementing sequence).
The CTRL-A and CTRL-X commands can work for:
- signed and unsigned decimal numbers
***************
*** 485,492 ****
*v_<*
{Visual}[count]< Shift the highlighted lines [count] 'shiftwidth'
! leftwards (for {Visual} see |Visual-mode|). {not in
! Vi}
*>*
>{motion} Shift {motion} lines one 'shiftwidth' rightwards.
--- 480,486 ----
*v_<*
{Visual}[count]< Shift the highlighted lines [count] 'shiftwidth'
! leftwards (for {Visual} see |Visual-mode|).
*>*
>{motion} Shift {motion} lines one 'shiftwidth' rightwards.
***************
*** 500,507 ****
*v_>*
{Visual}[count]> Shift the highlighted lines [count] 'shiftwidth'
! rightwards (for {Visual} see |Visual-mode|). {not in
! Vi}
*:<*
:[range]< Shift [range] lines one 'shiftwidth' left. Repeat '<'
--- 494,500 ----
*v_>*
{Visual}[count]> Shift the highlighted lines [count] 'shiftwidth'
! rightwards (for {Visual} see |Visual-mode|).
*:<*
:[range]< Shift [range] lines one 'shiftwidth' left. Repeat '<'
***************
*** 512,518 ****
Repeat '<' for shifting multiple 'shiftwidth's.
:[range]le[ft] [indent] left align lines in [range]. Sets the indent in the
! lines to [indent] (default 0). {not in Vi}
*:>*
:[range]> [flags] Shift {count} [range] lines one 'shiftwidth' right.
--- 505,511 ----
Repeat '<' for shifting multiple 'shiftwidth's.
:[range]le[ft] [indent] left align lines in [range]. Sets the indent in the
! lines to [indent] (default 0).
*:>*
:[range]> [flags] Shift {count} [range] lines one 'shiftwidth' right.
***************
*** 579,585 ****
*v_!*
{Visual}!{filter} Filter the highlighted lines through the external
program {filter} (for {Visual} see |Visual-mode|).
- {not in Vi}
:{range}![!]{filter} [!][arg] *:range!*
Filter {range} lines through the external program
--- 572,577 ----
***************
*** 613,619 ****
*v_=*
{Visual}= Filter the highlighted lines like with ={motion}.
- {not in Vi}
*tempfile* *setuid*
--- 605,610 ----
***************
*** 640,650 ****
For the {pattern} see |pattern|.
{string} can be a literal string, or something
special; see |sub-replace-special|.
- *E939*
When [range] and [count] are omitted, replace in the
current line only. When [count] is given, replace in
[count] lines, starting with the last line in [range].
When [range] is omitted start in the current line.
[count] must be a positive number. Also see
|cmdline-ranges|.
--- 631,641 ----
For the {pattern} see |pattern|.
{string} can be a literal string, or something
special; see |sub-replace-special|.
When [range] and [count] are omitted, replace in the
current line only. When [count] is given, replace in
[count] lines, starting with the last line in [range].
When [range] is omitted start in the current line.
+ *E939*
[count] must be a positive number. Also see
|cmdline-ranges|.
***************
*** 678,692 ****
For example, when you first do a substitution with
`:s/pattern/repl/flags` and then `/search` for
something else, `g&` will do `:%s/search/repl/flags`.
! Mnemonic: global substitute. {not in Vi}
*:snomagic* *:sno*
:[range]sno[magic] ... Same as `:substitute`, but always use 'nomagic'.
- {not in Vi}
*:smagic* *:sm*
:[range]sm[agic] ... Same as `:substitute`, but always use 'magic'.
- {not in Vi}
*:s_flags*
The flags that you can use for the substitute commands:
--- 669,681 ----
For example, when you first do a substitution with
`:s/pattern/repl/flags` and then `/search` for
something else, `g&` will do `:%s/search/repl/flags`.
! Mnemonic: global substitute.
*:snomagic* *:sno*
:[range]sno[magic] ... Same as `:substitute`, but always use 'nomagic'.
*:smagic* *:sm*
:[range]sm[agic] ... Same as `:substitute`, but always use 'magic'.
*:s_flags*
The flags that you can use for the substitute commands:
***************
*** 697,703 ****
:&&
:s/this/that/&
< Note that `:s` and `:&` don't keep the flags.
- {not in Vi}
[c] Confirm each substitution. Vim highlights the matching string (with
|hl-IncSearch|). You can type: *:s_c*
--- 686,691 ----
***************
*** 705,720 ****
'l' to substitute this match and then quit ("last")
'n' to skip this match
<Esc> to quit substituting
! 'a' to substitute this and all remaining matches {not in Vi}
! 'q' to quit substituting {not in Vi}
! CTRL-E to scroll the screen up {not in Vi, not available when
! compiled without the |+insert_expand| feature}
! CTRL-Y to scroll the screen down {not in Vi, not available when
! compiled without the |+insert_expand| feature}
If the 'edcompatible' option is on, Vim remembers the [c] flag and
toggles it each time you use it, but resets it when you give a new
search pattern.
- {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
--- 693,707 ----
'l' to substitute this match and then quit ("last")
'n' to skip this match
<Esc> to quit substituting
! 'a' to substitute this and all remaining matches
! 'q' to quit substituting
! CTRL-E to scroll the screen up {not available when compiled
! without the |+insert_expand| feature}
! CTRL-Y to scroll the screen down {not available when compiled
! without the |+insert_expand| feature}
If the 'edcompatible' option is on, Vim remembers the [c] flag and
toggles it each time you use it, but resets it when you give a new
search pattern.
*:s_e*
[e] When the search pattern fails, do not issue an error message and, in
***************
*** 726,732 ****
No previous substitute regular expression
Trailing characters
Interrupted
- {not in Vi}
*:s_g*
[g] Replace all occurrences in the line. Without this argument,
--- 713,718 ----
***************
*** 736,761 ****
pattern. If the 'gdefault' option is on, this flag is on by default
and the [g] argument switches it off.
[i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options
are not used.
- {not in Vi}
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
options are not used.
- {not in Vi}
[n] Report the number of matches, do not actually substitute. The [c]
flag is ignored. The matches are reported as if 'report' is zero.
Useful to |count-items|.
If \= |sub-replace-expression| is used, the expression will be
evaluated in the |sandbox| at every match.
! [p] Print the line containing the last substitute.
! [#] Like [p] and prepend the line number.
! [l] Like [p] but print the text like |:list|.
[r] Only useful in combination with `:&` or `:s` without arguments. `:&r`
works the same way as `:~`: When the search pattern is empty, use the
previously used search pattern instead of the search pattern from the
--- 722,749 ----
pattern. If the 'gdefault' option is on, this flag is on by default
and the [g] argument switches it off.
+ *:s_i*
[i] Ignore case for the pattern. The 'ignorecase' and 'smartcase' options
are not used.
+ *:s_I*
[I] Don't ignore case for the pattern. The 'ignorecase' and 'smartcase'
options are not used.
+ *:s_n*
[n] Report the number of matches, do not actually substitute. The [c]
flag is ignored. The matches are reported as if 'report' is zero.
Useful to |count-items|.
If \= |sub-replace-expression| is used, the expression will be
evaluated in the |sandbox| at every match.
! [p] Print the line containing the last substitute. *:s_p*
! [#] Like [p] and prepend the line number. *:s_#*
! [l] Like [p] but print the text like |:list|. *:s_l*
+ *:s_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
previously used search pattern instead of the search pattern from the
***************
*** 772,778 ****
/green
:&
< The last command will replace "blue" with "red".
- {not in Vi}
Note that there is no flag to change the "magicness" of the pattern. A
different command is used instead, or you can use |/\v| and friends. The
--- 760,765 ----
***************
*** 854,860 ****
- magic is always set without regard to 'magic'.
- A ~ inserts a tilde literally.
- <CR> and \r inserts a carriage-return (CTRL-M).
! - \<CR> does not have a special meaning. it's just one of \x.
Examples: >
:s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx"
--- 841,847 ----
- magic is always set without regard to 'magic'.
- A ~ inserts a tilde literally.
- <CR> and \r inserts a carriage-return (CTRL-M).
! - \<CR> does not have a special meaning. It's just one of \x.
Examples: >
:s/a\|b/xxx\0xxx/g modifies "a b" to "xxxaxxx xxxbxxx"
***************
*** 940,948 ****
breaks. Thus each item becomes a line, except that they can contain line
breaks themselves.
! The whole matched text can be accessed with "submatch(0)". The text matched
! with the first pair of () with "submatch(1)". Likewise for further
! sub-matches in ().
Be careful: The separation character must not appear in the expression!
Consider using a character like "@" or ":". There is no problem if the result
--- 927,935 ----
breaks. Thus each item becomes a line, except that they can contain line
breaks themselves.
! The |submatch()| function can be used to obtain matched text. The whole
! matched text can be accessed with "submatch(0)". The text matched with the
! first pair of () with "submatch(1)". Likewise for further sub-matches in ().
Be careful: The separation character must not appear in the expression!
Consider using a character like "@" or ":". There is no problem if the result
***************
*** 998,1004 ****
a single tabstop. Each value in the list represents
the width of one tabstop, except the final value which
applies to all following tabstops.
- {not in Vi}
*retab-example*
Example for using autocommands and ":retab" to edit a file which is stored
--- 985,990 ----
***************
*** 1022,1038 ****
:reg[isters] Display the contents of all numbered and named
registers. If a register is written to for |:redir|
it will not be listed.
- {not in Vi}
:reg[isters] {arg} Display the contents of the numbered and named
registers that are mentioned in {arg}. For example: >
:reg 1a
< to display registers '1' and 'a'. Spaces are allowed
! in {arg}. {not in Vi}
*:di* *:display*
! :di[splay] [arg] Same as :registers. {not in Vi}
*y* *yank*
["x]y{motion} Yank {motion} text [into register x]. When no
--- 1008,1023 ----
:reg[isters] Display the contents of all numbered and named
registers. If a register is written to for |:redir|
it will not be listed.
:reg[isters] {arg} Display the contents of the numbered and named
registers that are mentioned in {arg}. For example: >
:reg 1a
< to display registers '1' and 'a'. Spaces are allowed
! in {arg}.
*:di* *:display*
! :di[splay] [arg] Same as :registers.
*y* *yank*
["x]y{motion} Yank {motion} text [into register x]. When no
***************
*** 1051,1061 ****
*v_y*
{Visual}["x]y Yank the highlighted text [into register x] (for
! {Visual} see |Visual-mode|). {not in Vi}
*v_Y*
{Visual}["x]Y Yank the highlighted lines [into register x] (for
! {Visual} see |Visual-mode|). {not in Vi}
*:y* *:yank* *E850*
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
--- 1036,1046 ----
*v_y*
{Visual}["x]y Yank the highlighted text [into register x] (for
! {Visual} see |Visual-mode|).
*v_Y*
{Visual}["x]Y Yank the highlighted lines [into register x] (for
! {Visual} see |Visual-mode|).
*:y* *:yank* *E850*
:[range]y[ank] [x] Yank [range] lines [into register x]. Yanking to the
***************
*** 1082,1088 ****
Leaves the cursor at the end of the new text.
Using the mouse only works when 'mouse' contains 'n'
or 'a'.
- {not in Vi}
If you have a scrollwheel and often accidentally paste
text, you can use these mappings to disable the
pasting with the middle mouse button: >
--- 1067,1072 ----
***************
*** 1093,1103 ****
*gp*
["x]gp Just like "p", but leave the cursor just after the new
! text. {not in Vi}
*gP*
["x]gP Just like "P", but leave the cursor just after the new
! text. {not in Vi}
*:pu* *:put*
:[line]pu[t] [x] Put the text [from register x] after [line] (default
--- 1077,1087 ----
*gp*
["x]gp Just like "p", but leave the cursor just after the new
! text.
*gP*
["x]gP Just like "P", but leave the cursor just after the new
! text.
*:pu* *:put*
:[line]pu[t] [x] Put the text [from register x] after [line] (default
***************
*** 1125,1138 ****
["x]]p or *]p* *]<MiddleMouse>*
["x]]<MiddleMouse> Like "p", but adjust the indent to the current line.
Using the mouse only works when 'mouse' contains 'n'
! or 'a'. {not in Vi}
["x][P or *[P*
["x]]P or *]P*
["x][p or *[p* *[<MiddleMouse>*
["x][<MiddleMouse> Like "P", but adjust the indent to the current line.
Using the mouse only works when 'mouse' contains 'n'
! or 'a'. {not in Vi}
You can use these commands to copy text from one place to another. Do this
by first getting the text into a register with a yank, delete or change
--- 1109,1122 ----
["x]]p or *]p* *]<MiddleMouse>*
["x]]<MiddleMouse> Like "p", but adjust the indent to the current line.
Using the mouse only works when 'mouse' contains 'n'
! or 'a'.
["x][P or *[P*
["x]]P or *]P*
["x][p or *[p* *[<MiddleMouse>*
["x][<MiddleMouse> Like "P", but adjust the indent to the current line.
Using the mouse only works when 'mouse' contains 'n'
! or 'a'.
You can use these commands to copy text from one place to another. Do this
by first getting the text into a register with a yank, delete or change
***************
*** 1242,1248 ****
3. Small delete register "- *quote_-* *quote-*
This register contains text from commands that delete less than one line,
except when the command specifies a register with ["x].
- {not in Vi}
4. Named registers "a to "z or "A to "Z *quote_alpha* *quotea*
Vim fills these registers only when you say so. Specify them as lowercase
--- 1226,1231 ----
***************
*** 1252,1258 ****
5. Read-only registers ":, ". and "%
These are '%', '#', ':' and '.'. You can use them only with the "p", "P",
! and ":put" commands and with CTRL-R. {not in Vi}
*quote_.* *quote.* *E29*
". Contains the last inserted text (the same as what is inserted
with the insert mode commands CTRL-A and CTRL-@). Note: this
--- 1235,1241 ----
5. Read-only registers ":, ". and "%
These are '%', '#', ':' and '.'. You can use them only with the "p", "P",
! and ":put" commands and with CTRL-R.
*quote_.* *quote.* *E29*
". Contains the last inserted text (the same as what is inserted
with the insert mode commands CTRL-A and CTRL-@). Note: this
***************
*** 1306,1318 ****
If the "= register is used for the "p" command, the String is split up at <NL>
characters. If the String ends in a <NL>, it is regarded as a linewise
! register. {not in Vi}
8. Selection and drop registers "*, "+ and "~
Use these registers for storing and retrieving the selected text for the GUI.
See |quotestar| and |quoteplus|. When the clipboard is not available or not
working, the unnamed register is used instead. For Unix systems the clipboard
! is only available when the |+xterm_clipboard| feature is present. {not in Vi}
Note that there is only a distinction between "* and "+ for X11 systems. For
an explanation of the difference, see |x11-selection|. Under MS-Windows, use
--- 1289,1301 ----
If the "= register is used for the "p" command, the String is split up at <NL>
characters. If the String ends in a <NL>, it is regarded as a linewise
! register.
8. Selection and drop registers "*, "+ and "~
Use these registers for storing and retrieving the selected text for the GUI.
See |quotestar| and |quoteplus|. When the clipboard is not available or not
working, the unnamed register is used instead. For Unix systems the clipboard
! is only available when the |+xterm_clipboard| feature is present.
Note that there is only a distinction between "* and "+ for X11 systems. For
an explanation of the difference, see |x11-selection|. Under MS-Windows, use
***************
*** 1323,1329 ****
operation. When something has been dropped onto Vim, the "~ register is
filled in and the <Drop> pseudo key is sent for notification. You can remap
this key if you want; the default action (for all modes) is to insert the
! contents of the "~ register at the cursor position. {not in Vi}
{only available when compiled with the |+dnd| feature, currently only with the
GTK GUI}
--- 1306,1312 ----
operation. When something has been dropped onto Vim, the "~ register is
filled in and the <Drop> pseudo key is sent for notification. You can remap
this key if you want; the default action (for all modes) is to insert the
! contents of the "~ register at the cursor position.
{only available when compiled with the |+dnd| feature, currently only with the
GTK GUI}
***************
*** 1333,1339 ****
9. Black hole register "_ *quote_*
When writing to this register, nothing happens. This can be used to delete
text without affecting the normal registers. When reading from this register,
! nothing is returned. {not in Vi}
10. Last search pattern register "/ *quote_/* *quote/*
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
--- 1316,1322 ----
9. Black hole register "_ *quote_*
When writing to this register, nothing happens. This can be used to delete
text without affecting the normal registers. When reading from this register,
! nothing is returned.
10. Last search pattern register "/ *quote_/* *quote/*
Contains the most recent search-pattern. This is used for "n" and 'hlsearch'.
***************
*** 1342,1348 ****
register. The search direction is available in |v:searchforward|.
Note that the value is restored when returning from a function
|function-search-undo|.
- {not in Vi}
*@/*
You can write to a register with a `:let` command |:let-@|. Example: >
--- 1325,1330 ----
***************
*** 1373,1389 ****
:[range]ce[nter] [width] *:ce* *:center*
Center lines in [range] between [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
- {not in Vi}
:[range]ri[ght] [width] *:ri* *:right*
Right-align lines in [range] at [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
- {not in Vi}
*:le* *:left*
:[range]le[ft] [indent]
Left-align lines in [range]. Sets the indent in the
! lines to [indent] (default 0). {not in Vi}
*gq*
gq{motion} Format the lines that {motion} moves over.
--- 1355,1369 ----
:[range]ce[nter] [width] *:ce* *:center*
Center lines in [range] between [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
:[range]ri[ght] [width] *:ri* *:right*
Right-align lines in [range] at [width] columns
(default 'textwidth' or 80 when 'textwidth' is 0).
*:le* *:left*
:[range]le[ft] [indent]
Left-align lines in [range]. Sets the indent in the
! lines to [indent] (default 0).
*gq*
gq{motion} Format the lines that {motion} moves over.
***************
*** 1410,1433 ****
gqgq *gqgq* *gqq*
gqq Format the current line. With a count format that
! many lines. {not in Vi}
*v_gq*
{Visual}gq Format the highlighted text. (for {Visual} see
! |Visual-mode|). {not in Vi}
*gw*
gw{motion} Format the lines that {motion} moves over. Similar to
|gq| but puts the cursor back at the same position in
the text. However, 'formatprg' and 'formatexpr' are
! not used. {not in Vi}
gwgw *gwgw* *gww*
! gww Format the current line as with "gw". {not in Vi}
*v_gw*
{Visual}gw Format the highlighted text as with "gw". (for
! {Visual} see |Visual-mode|). {not in Vi}
Example: To format the current paragraph use: *gqap* >
gqap
--- 1390,1413 ----
gqgq *gqgq* *gqq*
gqq Format the current line. With a count format that
! many lines.
*v_gq*
{Visual}gq Format the highlighted text. (for {Visual} see
! |Visual-mode|).
*gw*
gw{motion} Format the lines that {motion} moves over. Similar to
|gq| but puts the cursor back at the same position in
the text. However, 'formatprg' and 'formatexpr' are
! not used.
gwgw *gwgw* *gww*
! gww Format the current line as with "gw".
*v_gw*
{Visual}gw Format the highlighted text as with "gw". (for
! {Visual} see |Visual-mode|).
Example: To format the current paragraph use: *gqap* >
gqap
***************
*** 1457,1463 ****
program.
*format-formatexpr*
! 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
--- 1437,1443 ----
program.
*format-formatexpr*
! 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
***************
*** 1491,1497 ****
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.
--- 1471,1477 ----
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.
***************
*** 1901,1904 ****
process you may end up with duplicated lines. This also depends on the system
library function used.
! vim:tw=78:ts=8:ft=help:norl:
--- 1881,1884 ----
process you may end up with duplicated lines. This also depends on the system
library function used.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/channel.txt 2018-09-06 16:27:20.664831945 +0200
--- runtime/doc/channel.txt 2019-05-05 17:36:27.876329529 +0200
***************
*** 1,4 ****
! *channel.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *channel.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 24,30 ****
11. Controlling a job |job-control|
12. Using a prompt buffer |prompt-buffer|
- {Vi does not have any of these features}
{only when compiled with the |+channel| feature for channel stuff}
You can check this with: `has('channel')`
{only when compiled with the |+job| feature for job stuff}
--- 24,29 ----
***************
*** 308,316 ****
Command "redraw" ~
! The other commands do not update the screen, so that you can send a sequence
! of commands without the cursor moving around. You must end with the "redraw"
! command to show any changed text and show the cursor where it belongs.
The argument is normally an empty string:
["redraw", ""] ~
--- 307,316 ----
Command "redraw" ~
! The other commands do not explicitly update the screen, so that you can send a
! sequence of commands without the cursor moving around. A redraw can happen as
! a side effect of some commands. You must end with the "redraw" command to
! show any changed text and show the cursor where it belongs.
The argument is normally an empty string:
["redraw", ""] ~
***************
*** 820,827 ****
The user can go to Normal mode and navigate through the buffer. This can be
useful see older output or copy text.
Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
! the cursor to the last line, after the prompt.
! vim:tw=78:ts=8:ft=help:norl:
--- 820,833 ----
The user can go to Normal mode and navigate through the buffer. This can be
useful see older output or copy text.
+ The CTRL-W key can be used to start a window command, such as CTRL-W w to
+ switch to the next window. This also works in Insert mode (use Shift-CTRL-W
+ to delete a word). When leaving the window Insert mode will be stopped. When
+ coming back to the prompt window Insert mode will be restored.
+
Any command that starts Insert mode, such as "a", "i", "A" and "I", will move
! the cursor to the last line. "A" will move to the end of the line, "I" to the
! start of the line.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/cmdline.txt 2018-09-10 21:04:09.860392752 +0200
--- runtime/doc/cmdline.txt 2019-05-05 17:32:09.689749856 +0200
***************
*** 1,4 ****
! *cmdline.txt* For Vim version 8.1. Last change: 2018 May 14
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *cmdline.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 66,72 ****
- All searches are put in the search history, including the ones that come
from commands like "*" and "#". But for a mapping, only the last search is
remembered (to avoid that long mappings trash the history).
- {Vi: no history}
{not available when compiled without the |+cmdline_hist| feature}
There is an automatic completion of names on the command-line; see
--- 66,71 ----
***************
*** 124,135 ****
:cnoremap <C-U> <C-E><C-U>
<
*c_<Insert>* *c_Insert*
! <Insert> Toggle between insert and overstrike. {not in Vi}
{char1} <BS> {char2} or *c_digraph*
CTRL-K {char1} {char2} *c_CTRL-K*
enter digraph (see |digraphs|). When {char1} is a special
! key, the code for that key is inserted in <> form. {not in Vi}
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
Insert the contents of a numbered or named register. Between
--- 123,134 ----
:cnoremap <C-U> <C-E><C-U>
<
*c_<Insert>* *c_Insert*
! <Insert> Toggle between insert and overstrike.
{char1} <BS> {char2} or *c_digraph*
CTRL-K {char1} {char2} *c_CTRL-K*
enter digraph (see |digraphs|). When {char1} is a special
! key, the code for that key is inserted in <> form.
CTRL-R {0-9a-z"%#:-=.} *c_CTRL-R* *c_<C-R>*
Insert the contents of a numbered or named register. Between
***************
*** 165,171 ****
too.
When the result is a Float it's automatically
converted to a String.
! See |registers| about registers. {not in Vi}
Implementation detail: When using the |expression| register
and invoking setcmdpos(), this sets the position before
inserting the resulting string. Use CTRL-R CTRL-R to set the
--- 164,170 ----
too.
When the result is a Float it's automatically
converted to a String.
! See |registers| about registers.
Implementation detail: When using the |expression| register
and invoking setcmdpos(), this sets the position before
inserting the resulting string. Use CTRL-R CTRL-R to set the
***************
*** 188,194 ****
currently displayed match is used. With CTRL-W the part of
the word that was already typed is not inserted again.
- {not in Vi}
CTRL-F and CTRL-P: {only when |+file_in_path| feature is
included}
--- 187,192 ----
***************
*** 313,323 ****
off, since you are expected to type a command. After
switching it on with CTRL-^, the new state is not used again
for the next command or Search pattern.
- {not in Vi}
*c_CTRL-]*
! CTRL-] Trigger abbreviation, without inserting a character. {not in
! Vi}
For Emacs-style editing on the command-line see |emacs-keys|.
--- 311,319 ----
off, since you are expected to type a command. After
switching it on with CTRL-^, the new state is not used again
for the next command or Search pattern.
*c_CTRL-]*
! CTRL-] Trigger abbreviation, without inserting a character.
For Emacs-style editing on the command-line see |emacs-keys|.
***************
*** 332,338 ****
*:his* *:history*
:his[tory] Print the history of last entered commands.
- {not in Vi}
{not available when compiled without the |+cmdline_hist|
feature}
--- 328,333 ----
***************
*** 344,350 ****
i[nput] or @ input line history
d[ebug] or > debug command history
a[ll] all of the above
- {not in Vi}
If the numbers {first} and/or {last} are given, the respective
range of entries from a history is listed. These numbers can
--- 339,344 ----
***************
*** 534,541 ****
to add comments. Example: >
:set ai "set 'autoindent' option
It is not possible to add a comment to a shell command ":!cmd" or to the
! ":map" command and a few others, because they see the '"' as part of their
! argument. This is mentioned where the command is explained.
*:bar* *:\bar*
'|' can be used to separate commands, so you can give multiple commands in one
--- 528,572 ----
to add comments. Example: >
:set ai "set 'autoindent' option
It is not possible to add a comment to a shell command ":!cmd" or to the
! ":map" command and a few others (mainly commands that expect expressions)
! that see the '"' as part of their argument:
!
! :argdo
! :autocmd
! :bufdo
! :cexpr (and the like)
! :cdo (and the like)
! :command
! :cscope (and the like)
! :debug
! :display
! :echo (and the like)
! :elseif
! :execute
! :folddoopen
! :folddoclosed
! :for
! :grep (and the like)
! :help (and the like)
! :if
! :let
! :make
! :map (and the like including :abbrev commands)
! :menu (and the like)
! :mkspell
! :normal
! :ownsyntax
! :popup
! :promptfind (and the like)
! :registers
! :return
! :sort
! :syntax
! :tabdo
! :tearoff
! :vimgrep (and the like)
! :while
! :windo
*:bar* *:\bar*
'|' can be used to separate commands, so you can give multiple commands in one
***************
*** 899,905 ****
directory.
:. Reduce file name to be relative to current directory, if
possible. File name is unmodified if it is not below the
! current directory.
For maximum shortness, use ":~:.".
:h Head of the file name (the last component and any separators
removed). Cannot be used with :e, :r or :t.
--- 930,937 ----
directory.
:. Reduce file name to be relative to current directory, if
possible. File name is unmodified if it is not below the
! current directory, but on MS-Windows the drive is removed if
! it is the current drive.
For maximum shortness, use ":~:.".
:h Head of the file name (the last component and any separators
removed). Cannot be used with :e, :r or :t.
***************
*** 1168,1171 ****
@ string for |input()|
- text for |:insert| or |:append|
! vim:tw=78:ts=8:ft=help:norl:
--- 1200,1203 ----
@ string for |input()|
- text for |:insert| or |:append|
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/debugger.txt 2018-05-17 13:40:51.000000000 +0200
--- runtime/doc/debugger.txt 2019-05-05 17:39:30.515314777 +0200
***************
*** 1,4 ****
! *debugger.txt* For Vim version 8.1. Last change: 2017 Nov 21
VIM REFERENCE MANUAL by Gordon Prieur
--- 1,4 ----
! *debugger.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Gordon Prieur
***************
*** 10,16 ****
2. Vim Compile Options |debugger-compilation|
3. Integrated Debuggers |debugger-integration|
- {Vi does not have any of these features}
==============================================================================
1. Debugger Features *debugger-features*
--- 10,15 ----
***************
*** 139,142 ****
For Sun NetBeans support see |netbeans|.
! vim:tw=78:sw=4:ts=8:ft=help:norl:
--- 138,141 ----
For Sun NetBeans support see |netbeans|.
! vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/debug.txt 2018-05-17 13:40:51.000000000 +0200
--- runtime/doc/debug.txt 2018-07-29 14:23:36.355157624 +0200
***************
*** 172,175 ****
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
=========================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 172,175 ----
http://msdn.microsoft.com/vstudio/express/visualC/default.aspx
=========================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/develop.txt 2018-05-17 13:40:51.000000000 +0200
--- runtime/doc/develop.txt 2019-02-17 17:26:56.181603202 +0100
***************
*** 1,4 ****
! *develop.txt* For Vim version 8.1. Last change: 2018 May 02
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *develop.txt* For Vim version 8.1. Last change: 2019 Feb 17
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 355,360 ****
--- 355,378 ----
cmd;
}
+ When a block has one line the braces can be left out. When an if/else has
+ braces on one block, it usually looks better when the other block also has
+ braces:
+ OK: if (cond)
+ cmd;
+ else
+ cmd;
+
+ OK: if (cond)
+ {
+ cmd;
+ }
+ else
+ {
+ cmd;
+ cmd;
+ }
+
Use ANSI (new style) function declarations with the return type on a separate
indented line.
***************
*** 367,376 ****
*/
int
function_name(
! int arg1, /* short comment about arg1 */
! int arg2) /* short comment about arg2 */
{
! int local; /* comment about local */
local = arg1 * arg2;
--- 385,394 ----
*/
int
function_name(
! int arg1, // short comment about arg1
! int arg2) // short comment about arg2
{
! int local; // comment about local
local = arg1 * arg2;
***************
*** 563,566 ****
Note that some compilers cannot handle long lines or strings. The C89
standard specifies a limit of 509 characters.
! vim:tw=78:ts=8:ft=help:norl:
--- 581,584 ----
Note that some compilers cannot handle long lines or strings. The C89
standard specifies a limit of 509 characters.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/diff.txt 2018-09-10 17:50:32.709306979 +0200
--- runtime/doc/diff.txt 2019-05-04 22:37:03.397001141 +0200
***************
*** 1,4 ****
! *diff.txt* For Vim version 8.1. Last change: 2017 Oct 03
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *diff.txt* For Vim version 8.1. Last change: 2019 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 16,23 ****
4. Copying diffs |copy-diffs|
5. Diff options |diff-options|
- {not in Vi}
-
==============================================================================
1. Starting diff mode *start-vimdiff*
--- 16,21 ----
***************
*** 179,186 ****
need another buffer. This command is useful: >
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
\ | diffthis | wincmd p | diffthis
! (this is in |vimrc_example.vim|). Use ":DiffOrig" to see the differences
! between the current buffer and the file it was loaded from.
A buffer that is unloaded cannot be used for the diff. But it does work for
hidden buffers. You can use ":hide" to close a window without unloading the
--- 177,184 ----
need another buffer. This command is useful: >
command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_
\ | diffthis | wincmd p | diffthis
! (this is in |defaults.vim|). Use ":DiffOrig" to see the differences between
! the current buffer and the file it was loaded from.
A buffer that is unloaded cannot be used for the diff. But it does work for
hidden buffers. You can use ":hide" to close a window without unloading the
*** ../vim-8.1.1279/runtime/doc/digraph.txt 2018-12-14 18:52:57.169528762 +0100
--- runtime/doc/digraph.txt 2019-05-05 17:39:34.763291093 +0200
***************
*** 1,4 ****
! *digraph.txt* For Vim version 8.1. Last change: 2016 Nov 04
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *digraph.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 18,24 ****
2. Using digraphs |digraphs-use|
3. Default digraphs |digraphs-default|
- {Vi does not have any of these commands}
==============================================================================
1. Defining digraphs *digraphs-define*
--- 18,23 ----
***************
*** 59,76 ****
"10". That's because NUL characters are internally represented with a NL
character. When you write the file it will become a NUL character.
! When Vim was compiled without the |+multi_byte| feature, you need to specify
! the character in the encoding given with 'encoding'. You might want to use
! something like this: >
!
! if has("multi_byte")
! digraph oe 339
! elseif &encoding == "iso-8859-15"
! digraph oe 189
! endif
!
! This defines the "oe" digraph for a character that is number 339 in Unicode
! and 189 in latin9 (iso-8859-15).
==============================================================================
2. Using digraphs *digraphs-use*
--- 58,66 ----
"10". That's because NUL characters are internally represented with a NL
character. When you write the file it will become a NUL character.
! Example: >
! digraph oe 339
! This defines the "oe" digraph for a character that is number 339 in Unicode.
==============================================================================
2. Using digraphs *digraphs-use*
***************
*** 113,123 ****
You may have problems using Vim with characters which have a value above 128.
For example: You insert ue (u-umlaut) and the editor echoes \334 in Insert
! mode. After leaving the Insert mode everything is fine. Note that fmt
! removes all characters with a value above 128 from the text being formatted.
! On some Unix systems this means you have to define the environment-variable
! LC_CTYPE. If you are using csh, then put the following line in your .cshrc: >
! setenv LC_CTYPE iso_8859_1
==============================================================================
3. Default digraphs *digraphs-default*
--- 103,116 ----
You may have problems using Vim with characters which have a value above 128.
For example: You insert ue (u-umlaut) and the editor echoes \334 in Insert
! mode. After leaving the Insert mode everything is fine. On some Unix systems
! this means you have to define the environment-variable LC_CTYPE. If you are
! using csh, then put the following line in your .cshrc: >
! setenv LC_CTYPE en_US.utf8
! (or similar for a different language or country). The value must be a valid
! locale on your system, i.e. on Unix-like systems it must be present in the
! output of >
! locale -a
==============================================================================
3. Default digraphs *digraphs-default*
***************
*** 161,168 ****
Example: a: is ä and o: is ö
These are the RFC1345 digraphs for the one-byte characters. See the output of
! ":digraphs" for the others. The characters above 255 are only available when
! Vim was compiled with the |+multi_byte| feature.
EURO
--- 154,160 ----
Example: a: is ä and o: is ö
These are the RFC1345 digraphs for the one-byte characters. See the output of
! ":digraphs" for the others.
EURO
***************
*** 1490,1493 ****
ſt ft FB05 64261 LATIN SMALL LIGATURE LONG S T
st st FB06 64262 LATIN SMALL LIGATURE ST
! vim:tw=78:ts=8:ft=help:norl:
--- 1482,1485 ----
ſt ft FB05 64261 LATIN SMALL LIGATURE LONG S T
st st FB06 64262 LATIN SMALL LIGATURE ST
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/editing.txt 2019-04-27 20:36:52.526303597 +0200
--- runtime/doc/editing.txt 2019-05-05 17:40:01.711140762 +0200
***************
*** 1,4 ****
! *editing.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *editing.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 44,50 ****
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
name. Note that commands invoked indirectly (e.g.,
with a function) may still set the alternate file
! name. {not in Vi}
All file names are remembered in the buffer list. When you enter a file name,
for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
--- 44,50 ----
:keepalt {cmd} Execute {cmd} while keeping the current alternate file
name. Note that commands invoked indirectly (e.g.,
with a function) may still set the alternate file
! name.
All file names are remembered in the buffer list. When you enter a file name,
for editing (e.g., with ":e filename") or writing (e.g., with ":w filename"),
***************
*** 60,73 ****
option is set), and the file status (readonly,
modified, read errors, new file). See the 'shortmess'
option about how to make this message shorter.
- {Vi does not include column number}
:f[ile]! like |:file|, but don't truncate the name even when
'shortmess' indicates this.
{count}CTRL-G Like CTRL-G, but prints the current file name with
full path. If the count is higher than 1 the current
! buffer number is also given. {not in Vi}
*g_CTRL-G* *word-count* *byte-count*
g CTRL-G Prints the current position of the cursor in five
--- 60,72 ----
option is set), and the file status (readonly,
modified, read errors, new file). See the 'shortmess'
option about how to make this message shorter.
:f[ile]! like |:file|, but don't truncate the name even when
'shortmess' indicates this.
{count}CTRL-G Like CTRL-G, but prints the current file name with
full path. If the count is higher than 1 the current
! buffer number is also given.
*g_CTRL-G* *word-count* *byte-count*
g CTRL-G Prints the current position of the cursor in five
***************
*** 80,86 ****
column are shown, separated with a dash.
Also see the 'ruler' option and the |wordcount()|
function.
- {not in Vi}
*v_g_CTRL-G*
{Visual}g CTRL-G Similar to "g CTRL-G", but Word, Character, Line, and
--- 79,84 ----
***************
*** 88,94 ****
displayed.
In Blockwise mode, Column count is also shown. (For
{Visual} see |Visual-mode|.)
- {not in VI}
*:file_f*
:f[ile][!] {name} Sets the current file name to {name}. The optional !
--- 86,91 ----
***************
*** 98,111 ****
to hold the old name.
*:0file*
:0f[ile][!] Remove the name of the current buffer. The optional !
! avoids truncating the message, as with |:file|. {not
! in Vi}
:buffers
:files
:ls List all the currently known file names. See
! 'windows.txt' |:files| |:buffers| |:ls|. {not in
! Vi}
Vim will remember the full path name of a file name that you enter. In most
cases when the file name is displayed only the name you typed is shown, but
--- 95,106 ----
to hold the old name.
*:0file*
:0f[ile][!] Remove the name of the current buffer. The optional !
! avoids truncating the message, as with |:file|.
:buffers
:files
:ls List all the currently known file names. See
! 'windows.txt' |:files| |:buffers| |:ls|.
Vim will remember the full path name of a file name that you enter. In most
cases when the file name is displayed only the name you typed is shown, but
***************
*** 244,262 ****
If 'fileformats' is not empty, the first format given
will be used for the new buffer. If 'fileformats' is
empty, the 'fileformat' of the current buffer is used.
- {not in Vi}
*:ene!* *:enew!*
:ene[w]! Edit a new, unnamed buffer. Discard any changes to
the current buffer.
Set 'fileformat' like |:enew|.
- {not in Vi}
*:fin* *:find*
:fin[d][!] [++opt] [+cmd] {file}
Find {file} in 'path' and then |:edit| it.
! {not in Vi} {not available when the |+file_in_path|
! feature was disabled at compile time}
:{count}fin[d][!] [++opt] [+cmd] {file}
Just like ":find", but use the {count} match in
--- 239,255 ----
If 'fileformats' is not empty, the first format given
will be used for the new buffer. If 'fileformats' is
empty, the 'fileformat' of the current buffer is used.
*:ene!* *:enew!*
:ene[w]! Edit a new, unnamed buffer. Discard any changes to
the current buffer.
Set 'fileformat' like |:enew|.
*:fin* *:find*
:fin[d][!] [++opt] [+cmd] {file}
Find {file} in 'path' and then |:edit| it.
! {not available when the |+file_in_path| feature was
! disabled at compile time}
:{count}fin[d][!] [++opt] [+cmd] {file}
Just like ":find", but use the {count} match in
***************
*** 278,284 ****
:vie[w][!] [++opt] [+cmd] file
When used in Ex mode: Leave |Ex-mode|, go back to
Normal mode. Otherwise same as |:edit|, but set
! 'readonly' option for this buffer. {not in Vi}
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file. Mostly the alternate file is
--- 271,277 ----
:vie[w][!] [++opt] [+cmd] file
When used in Ex mode: Leave |Ex-mode|, go back to
Normal mode. Otherwise same as |:edit|, but set
! 'readonly' option for this buffer.
*CTRL-^* *CTRL-6*
CTRL-^ Edit the alternate file. Mostly the alternate file is
***************
*** 297,303 ****
":e #[count]"). This is a quick way to switch between
files.
See |CTRL-^| above for further details.
- {not in Vi}
[count]]f *]f* *[f*
[count][f Same as "gf". Deprecated.
--- 290,295 ----
***************
*** 331,337 ****
For Unix the '~' character is expanded, like in
"~user/file". Environment variables are expanded too
|expand-env|.
- {not in Vi}
{not available when the |+file_in_path| feature was
disabled at compile time}
--- 323,328 ----
***************
*** 341,347 ****
Leading blanks are skipped, otherwise all blanks and
special characters are included in the file name.
(For {Visual} see |Visual-mode|.)
- {not in VI}
*gF*
[count]gF Same as "gf", except if a number follows the file
--- 332,337 ----
***************
*** 637,643 ****
still be added to the argument list, but won't be
edited. No check for duplicates is done.
Also see |++opt| and |+cmd|.
- {not in Vi}
:[count]arga[dd] {name} .. *:arga* *:argadd* *E479*
:[count]arga[dd]
--- 627,632 ----
***************
*** 659,665 ****
There is no check for duplicates, it is possible to
add a file to the argument list twice.
The currently edited file is not changed.
- {not in Vi}
Note: you can also use this method: >
:args ## x
< This will add the "x" item and sort the new list.
--- 648,653 ----
***************
*** 673,679 ****
when it's deleted from the argument list.
Example: >
:argdel *.obj
- < {not in Vi}
:[range]argd[elete] Delete the {range} files from the argument list.
Example: >
--- 661,666 ----
***************
*** 688,694 ****
< Removes all the files from the arglist.
When the last number in the range is too high, up to
the last argument is deleted.
- {not in Vi}
*:argu* *:argument*
:[count]argu[ment] [count] [++opt] [+cmd]
--- 675,680 ----
***************
*** 697,710 ****
when changes have been made and Vim does not want to
|abandon| the current buffer.
Also see |++opt| and |+cmd|.
- {not in Vi}
:[count]argu[ment]! [count] [++opt] [+cmd]
Edit file [count] in the argument list, discard any
changes to the current buffer. When [count] is
omitted the current entry is used.
Also see |++opt| and |+cmd|.
- {not in Vi}
:[count]n[ext] [++opt] [+cmd] *:n* *:ne* *:next* *E165* *E163*
Edit [count] next file. This fails when changes have
--- 683,694 ----
***************
*** 727,733 ****
Edit [count] previous file in argument list. This
fails when changes have been made and Vim does not
want to |abandon| the current buffer.
! Also see |++opt| and |+cmd|. {Vi: no count or ++opt}.
:[count]N[ext]! [count] [++opt] [+cmd]
Edit [count] previous file in argument list. Discard
--- 711,717 ----
Edit [count] previous file in argument list. This
fails when changes have been made and Vim does not
want to |abandon| the current buffer.
! Also see |++opt| and |+cmd|.
:[count]N[ext]! [count] [++opt] [+cmd]
Edit [count] previous file in argument list. Discard
***************
*** 748,791 ****
:rew[ind]! [++opt] [+cmd]
Start editing the first file in the argument list.
Discard any changes to the buffer. Also see |++opt|
! and |+cmd|. {Vi: no ++opt}
*:fir* *:first*
:fir[st][!] [++opt] [+cmd]
! Other name for ":rewind". {not in Vi}
*:la* *:last*
:la[st] [++opt] [+cmd]
Start editing the last file in the argument list.
This fails when changes have been made and Vim does
not want to |abandon| the current buffer.
! Also see |++opt| and |+cmd|. {not in Vi}
:la[st]! [++opt] [+cmd]
Start editing the last file in the argument list.
Discard any changes to the buffer. Also see |++opt|
! and |+cmd|. {not in Vi}
*:wn* *:wnext*
:[count]wn[ext] [++opt]
Write current file and start editing the [count]
! next file. Also see |++opt| and |+cmd|. {not in Vi}
:[count]wn[ext] [++opt] {file}
Write current file to {file} and start editing the
[count] next file, unless {file} already exists and
the 'writeany' option is off. Also see |++opt| and
! |+cmd|. {not in Vi}
:[count]wn[ext]! [++opt] {file}
Write current file to {file} and start editing the
! [count] next file. Also see |++opt| and |+cmd|. {not
! in Vi}
:[count]wN[ext][!] [++opt] [file] *:wN* *:wNext*
:[count]wp[revious][!] [++opt] [file] *:wp* *:wprevious*
Same as :wnext, but go to previous file instead of
! next. {not in Vi}
The [count] in the commands above defaults to one. For some commands it is
possible to use two counts. The last one (rightmost one) is used.
--- 732,774 ----
:rew[ind]! [++opt] [+cmd]
Start editing the first file in the argument list.
Discard any changes to the buffer. Also see |++opt|
! and |+cmd|.
*:fir* *:first*
:fir[st][!] [++opt] [+cmd]
! Other name for ":rewind".
*:la* *:last*
:la[st] [++opt] [+cmd]
Start editing the last file in the argument list.
This fails when changes have been made and Vim does
not want to |abandon| the current buffer.
! Also see |++opt| and |+cmd|.
:la[st]! [++opt] [+cmd]
Start editing the last file in the argument list.
Discard any changes to the buffer. Also see |++opt|
! and |+cmd|.
*:wn* *:wnext*
:[count]wn[ext] [++opt]
Write current file and start editing the [count]
! next file. Also see |++opt| and |+cmd|.
:[count]wn[ext] [++opt] {file}
Write current file to {file} and start editing the
[count] next file, unless {file} already exists and
the 'writeany' option is off. Also see |++opt| and
! |+cmd|.
:[count]wn[ext]! [++opt] {file}
Write current file to {file} and start editing the
! [count] next file. Also see |++opt| and |+cmd|.
:[count]wN[ext][!] [++opt] [file] *:wN* *:wNext*
:[count]wp[revious][!] [++opt] [file] *:wp* *:wprevious*
Same as :wnext, but go to previous file instead of
! next.
The [count] in the commands above defaults to one. For some commands it is
possible to use two counts. The last one (rightmost one) is used.
***************
*** 826,833 ****
LOCAL ARGUMENT LIST
- {not in Vi}
-
*:arglocal*
:argl[ocal] Make a local copy of the global argument list.
Doesn't start editing another file.
--- 809,814 ----
***************
*** 878,884 ****
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each file.
- {not in Vi}
Also see |:windo|, |:tabdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
--- 859,864 ----
***************
*** 901,908 ****
Note: When the 'write' option is off, you are not able to write any file.
*:w* *:write*
! *E502* *E503* *E504* *E505*
! *E512* *E514* *E667* *E796* *E949*
:w[rite] [++opt] Write the whole buffer to the current file. This is
the normal way to save changes to a file. It fails
when the 'readonly' option is set or when there is
--- 881,888 ----
Note: When the 'write' option is off, you are not able to write any file.
*:w* *:write*
! *E502* *E503* *E504* *E505*
! *E512* *E514* *E667* *E796* *E949*
:w[rite] [++opt] Write the whole buffer to the current file. This is
the normal way to save changes to a file. It fails
when the 'readonly' option is set or when there is
***************
*** 970,981 ****
When 'filetype' is empty filetype detection is done
with the new name, before the file is written.
When the write was successful 'readonly' is reset.
- {not in Vi}
*:up* *:update*
:[range]up[date][!] [++opt] [>>] [file]
Like ":write", but only write when the buffer has been
! modified. {not in Vi}
WRITING WITH MULTIPLE BUFFERS *buffer-write*
--- 950,960 ----
When 'filetype' is empty filetype detection is done
with the new name, before the file is written.
When the write was successful 'readonly' is reset.
*:up* *:update*
:[range]up[date][!] [++opt] [>>] [file]
Like ":write", but only write when the buffer has been
! modified.
WRITING WITH MULTIPLE BUFFERS *buffer-write*
***************
*** 983,993 ****
*:wa* *:wall*
:wa[ll] Write all changed buffers. Buffers without a file
name cause an error message. Buffers which are
! readonly are not written. {not in Vi}
:wa[ll]! Write all changed buffers, even the ones that are
readonly. Buffers without a file name are not
! written and cause an error message. {not in Vi}
Vim will warn you if you try to overwrite a file that has been changed
--- 962,972 ----
*:wa* *:wall*
:wa[ll] Write all changed buffers. Buffers without a file
name cause an error message. Buffers which are
! readonly are not written.
:wa[ll]! Write all changed buffers, even the ones that are
readonly. Buffers without a file name are not
! written and cause an error message.
Vim will warn you if you try to overwrite a file that has been changed
***************
*** 1118,1124 ****
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
! edited. See |:confirm| and 'confirm'. {not in Vi}
:q[uit]! Quit without writing, also when the current buffer has
changes. The buffer is unloaded, also when it has
--- 1097,1103 ----
:conf[irm] q[uit] Quit, but give prompt when changes have been made, or
the last file in the argument list has not been
! edited. See |:confirm| and 'confirm'.
:q[uit]! Quit without writing, also when the current buffer has
changes. The buffer is unloaded, also when it has
***************
*** 1131,1137 ****
:cq[uit] Quit always, without writing, and return an error
code. See |:cq|. Used for Manx's QuickFix mode (see
! |quickfix|). {not in Vi}
*:wq*
:wq [++opt] Write the current file and quit. Writing fails when
--- 1110,1116 ----
:cq[uit] Quit always, without writing, and return an error
code. See |:cq|. Used for Manx's QuickFix mode (see
! |quickfix|).
*:wq*
:wq [++opt] Write the current file and quit. Writing fails when
***************
*** 1169,1175 ****
*ZQ*
ZQ Quit without checking for changes (same as ":q!").
! {not in Vi}
MULTIPLE WINDOWS AND BUFFERS *window-exit*
--- 1148,1154 ----
*ZQ*
ZQ Quit without checking for changes (same as ":q!").
!
MULTIPLE WINDOWS AND BUFFERS *window-exit*
***************
*** 1177,1212 ****
:qa[ll] Exit Vim, unless there are some buffers which have been
changed. (Use ":bmod" to go to the next modified buffer).
When 'autowriteall' is set all changed buffers will be
! written, like |:wqall|. {not in Vi}
:conf[irm] qa[ll]
Exit Vim. Bring up a prompt when some buffers have been
! changed. See |:confirm|. {not in Vi}
! :qa[ll]! Exit Vim. Any changes to buffers are lost. {not in Vi}
Also see |:cquit|, it does the same but exits with a non-zero
value.
*:quita* *:quitall*
! :quita[ll][!] Same as ":qall". {not in Vi}
:wqa[ll] [++opt] *:wqa* *:wqall* *:xa* *:xall*
:xa[ll] Write all changed buffers and exit Vim. If there are buffers
without a file name, which are readonly or which cannot be
! written for another reason, Vim will not quit. {not in Vi}
:conf[irm] wqa[ll] [++opt]
:conf[irm] xa[ll]
Write all changed buffers and exit Vim. Bring up a prompt
when some buffers are readonly or cannot be written for
! another reason. See |:confirm|. {not in Vi}
:wqa[ll]! [++opt]
:xa[ll]! Write all changed buffers, even the ones that are readonly,
and exit Vim. If there are buffers without a file name or
which cannot be written for another reason, or there is a
terminal with a running job, Vim will not quit.
- {not in Vi}
==============================================================================
6. Dialogs *edit-dialogs*
--- 1156,1190 ----
:qa[ll] Exit Vim, unless there are some buffers which have been
changed. (Use ":bmod" to go to the next modified buffer).
When 'autowriteall' is set all changed buffers will be
! written, like |:wqall|.
:conf[irm] qa[ll]
Exit Vim. Bring up a prompt when some buffers have been
! changed. See |:confirm|.
! :qa[ll]! Exit Vim. Any changes to buffers are lost.
Also see |:cquit|, it does the same but exits with a non-zero
value.
*:quita* *:quitall*
! :quita[ll][!] Same as ":qall".
:wqa[ll] [++opt] *:wqa* *:wqall* *:xa* *:xall*
:xa[ll] Write all changed buffers and exit Vim. If there are buffers
without a file name, which are readonly or which cannot be
! written for another reason, Vim will not quit.
:conf[irm] wqa[ll] [++opt]
:conf[irm] xa[ll]
Write all changed buffers and exit Vim. Bring up a prompt
when some buffers are readonly or cannot be written for
! another reason. See |:confirm|.
:wqa[ll]! [++opt]
:xa[ll]! Write all changed buffers, even the ones that are readonly,
and exit Vim. If there are buffers without a file name or
which cannot be written for another reason, or there is a
terminal with a running job, Vim will not quit.
==============================================================================
6. Dialogs *edit-dialogs*
***************
*** 1317,1326 ****
--- 1295,1306 ----
name. On Unix systems: Change the current directory
to the home directory. Use |:pwd| to print the
current directory on all systems.
+ On Unix systems: clear any window-local directory.
:cd[!] {path} Change the current directory to {path}.
If {path} is relative, it is searched for in the
directories listed in |'cdpath'|.
+ Clear any window-local directory.
Does not change the meaning of an already opened file,
because its full path name is remembered. Files from
the |arglist| may change though!
***************
*** 1330,1336 ****
<
*:cd-* *E186*
:cd[!] - Change to the previous current directory (before the
! previous ":cd {path}" command). {not in Vi}
*:chd* *:chdir*
:chd[ir][!] [path] Same as |:cd|.
--- 1310,1316 ----
<
*:cd-* *E186*
:cd[!] - Change to the previous current directory (before the
! previous ":cd {path}" command).
*:chd* *:chdir*
:chd[ir][!] [path] Same as |:cd|.
***************
*** 1341,1360 ****
The current directory is not changed for windows in
other tabs and for windows in the current tab that
have their own window-local directory.
- {not in Vi}
*:tch* *:tchdir*
! :tch[dir][!] Same as |:tcd|. {not in Vi}
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
directory for other windows is not changed, switching
to another window will stop using {path}.
- {not in Vi}
*:lch* *:lchdir*
! :lch[dir][!] Same as |:lcd|. {not in Vi}
*:pw* *:pwd* *E187*
:pw[d] Print the current directory name. {Vi: no pwd}
--- 1321,1338 ----
The current directory is not changed for windows in
other tabs and for windows in the current tab that
have their own window-local directory.
*:tch* *:tchdir*
! :tch[dir][!] Same as |:tcd|.
*:lc* *:lcd*
:lc[d][!] {path} Like |:cd|, but only set the current directory when
the cursor is in the current window. The current
directory for other windows is not changed, switching
to another window will stop using {path}.
*:lch* *:lchdir*
! :lch[dir][!] Same as |:lcd|.
*:pw* *:pwd* *E187*
:pw[d] Print the current directory name. {Vi: no pwd}
***************
*** 1416,1423 ****
file. Otherwise both <CR> <NL> and <NL> are considered to end a line
and when the file is written the <NL> will be replaced with <CR> <NL>.
- <Nul> characters are shown on the screen as ^@. You can enter them with
! "CTRL-V CTRL-@" or "CTRL-V 000" {Vi cannot handle <Nul> characters in the
! file}
- To insert a <NL> character in the file split a line. When writing the
buffer to a file a <NL> will be written for the <EOL>.
- Vim normally appends an <EOL> at the end of the file if there is none.
--- 1394,1400 ----
file. Otherwise both <CR> <NL> and <NL> are considered to end a line
and when the file is written the <NL> will be replaced with <CR> <NL>.
- <Nul> characters are shown on the screen as ^@. You can enter them with
! "CTRL-V CTRL-@" or "CTRL-V 000"
- To insert a <NL> character in the file split a line. When writing the
buffer to a file a <NL> will be written for the <EOL>.
- Vim normally appends an <EOL> at the end of the file if there is none.
***************
*** 1436,1442 ****
The text in the swap file and the undo file is also encrypted. *E843*
However, this is done block-by-block and may reduce the time needed to crack a
password. You can disable the swap file, but then a crash will cause you to
! lose your work. The undo file can be disabled without much disadvantage. >
:set noundofile
:noswapfile edit secrets
--- 1413,1419 ----
The text in the swap file and the undo file is also encrypted. *E843*
However, this is done block-by-block and may reduce the time needed to crack a
password. You can disable the swap file, but then a crash will cause you to
! lose your work. The undo file can be disabled without too much disadvantage. >
:set noundofile
:noswapfile edit secrets
***************
*** 1768,1771 ****
currently work with 'path' items that contain a URL or use the double star
with depth limiter (/usr/**2) or upward search (;) notations.
! vim:tw=78:ts=8:ft=help:norl:
--- 1745,1748 ----
currently work with 'path' items that contain a URL or use the double star
with depth limiter (/usr/**2) or upward search (;) notations.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/eval.txt 2019-05-05 15:47:37.821923550 +0200
--- runtime/doc/eval.txt 2019-05-05 17:40:12.571080122 +0200
***************
*** 1,4 ****
! *eval.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *eval.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 27,38 ****
7. Commands |expression-commands|
8. Exception handling |exception-handling|
9. Examples |eval-examples|
! 10. No +eval feature |no-eval-feature|
! 11. The sandbox |eval-sandbox|
! 12. Textlock |textlock|
! 13. Testing |testing|
!
! {Vi does not have any of these commands}
==============================================================================
1. Variables *variables*
--- 27,37 ----
7. Commands |expression-commands|
8. Exception handling |exception-handling|
9. Examples |eval-examples|
! 10. Vim script version |vimscript-version|
! 11. No +eval feature |no-eval-feature|
! 12. The sandbox |eval-sandbox|
! 13. Textlock |textlock|
! 14. Testing |testing|
==============================================================================
1. Variables *variables*
***************
*** 107,113 ****
To avoid a leading zero to cause octal conversion, or for using a different
base, use |str2nr()|.
! *TRUE* *FALSE*
For boolean operators Numbers are used. Zero is FALSE, non-zero is TRUE.
You can also use |v:false| and |v:true|. When TRUE is returned from a
function it is the Number one, FALSE is the number zero.
--- 106,112 ----
To avoid a leading zero to cause octal conversion, or for using a different
base, use |str2nr()|.
! *TRUE* *FALSE* *Boolean*
For boolean operators Numbers are used. Zero is FALSE, non-zero is TRUE.
You can also use |v:false| and |v:true|. When TRUE is returned from a
function it is the Number one, FALSE is the number zero.
***************
*** 187,196 ****
arguments will be passed to the function. Example: >
let Cb = function('Callback', ['foo'], myDict)
! call Cb()
This will invoke the function as if using: >
! call myDict.Callback('foo')
This is very useful when passing a function around, e.g. in the arguments of
|ch_open()|.
--- 186,195 ----
arguments will be passed to the function. Example: >
let Cb = function('Callback', ['foo'], myDict)
! call Cb('bar')
This will invoke the function as if using: >
! call myDict.Callback('foo', 'bar')
This is very useful when passing a function around, e.g. in the arguments of
|ch_open()|.
***************
*** 461,467 ****
1.4 Dictionaries ~
! *dict* *Dictionaries* *Dictionary*
A Dictionary is an associative array: Each entry has a key and a value. The
entry can be located with the key. The entries are stored without a specific
ordering.
--- 460,466 ----
1.4 Dictionaries ~
! *dict* *Dict* *Dictionaries* *Dictionary*
A Dictionary is an associative array: Each entry has a key and a value. The
entry can be located with the key. The entries are stored without a specific
ordering.
***************
*** 525,531 ****
:endfor
If you want both the key and the value use the |items()| function. It returns
! a List in which each item is a List with two items, the key and the value: >
:for [key, value] in items(mydict)
: echo key . ': ' . value
:endfor
--- 524,530 ----
:endfor
If you want both the key and the value use the |items()| function. It returns
! a List in which each item is a List with two items, the key and the value: >
:for [key, value] in items(mydict)
: echo key . ': ' . value
:endfor
***************
*** 625,632 ****
1.5 Blobs ~
*blob* *Blob* *Blobs* *E978*
! A Blob mostly behaves like a |List| of numbers, where the numbers have an
! 8-bit value, from 0 to 255.
Blob creation ~
--- 624,634 ----
1.5 Blobs ~
*blob* *Blob* *Blobs* *E978*
! A Blob is a binary object. It can be used to read an image from a file and
! send it over a channel, for example.
!
! A Blob mostly behaves like a |List| of numbers, where each number has the
! value of an 8-bit byte, from 0 to 255.
Blob creation ~
***************
*** 662,667 ****
--- 664,679 ----
:echo get(myblob, idx, 999)
+ Blob iteration ~
+
+ The |:for| loop executes commands for each byte of a Blob. The loop variable is
+ set to each byte in the Blob. Example: >
+ :for byte in 0z112233
+ : call Doit(byte)
+ :endfor
+ This calls Doit() with 0x11, 0x22 and 0x33.
+
+
Blob concatenation ~
Two blobs can be concatenated with the "+" operator: >
***************
*** 686,692 ****
:let otherblob = myblob[:] " make a copy of the Blob
If the first index is beyond the last byte of the Blob or the second index is
! before the first byte, the result is an empty list. There is no error
message.
If the second index is equal to or greater than the length of the list the
--- 698,704 ----
:let otherblob = myblob[:] " make a copy of the Blob
If the first index is beyond the last byte of the Blob or the second index is
! before the first index, the result is an empty Blob. There is no error
message.
If the second index is equal to or greater than the length of the list the
***************
*** 964,975 ****
if get(Part1, 'name') == get(Part2, 'name')
" Part1 and Part2 refer to the same function
! When using "is" or "isnot" with a |List| or a |Dictionary| this checks if the
! expressions are referring to the same |List| or |Dictionary| instance. A copy
! of a |List| is different from the original |List|. When using "is" without
! a |List| or a |Dictionary| it is equivalent to using "equal", using "isnot"
! equivalent to using "not equal". Except that a different type means the
! values are different: >
echo 4 == '4'
1
echo 4 is '4'
--- 976,987 ----
if get(Part1, 'name') == get(Part2, 'name')
" Part1 and Part2 refer to the same function
! Using "is" or "isnot" with a |List|, |Dictionary| or |Blob| checks whether
! the expressions are referring to the same |List|, |Dictionary| or |Blob|
! instance. A copy of a |List| is different from the original |List|. When
! using "is" without a |List|, |Dictionary| or |Blob|, it is equivalent to
! using "equal", using "isnot" equivalent to using "not equal". Except that
! a different type means the values are different: >
echo 4 == '4'
1
echo 4 is '4'
***************
*** 1030,1036 ****
expr7 / expr7 Number division *expr-/*
expr7 % expr7 Number modulo *expr-%*
! For all, except ".", Strings are converted to Numbers.
For bitwise operators see |and()|, |or()| and |xor()|.
Note the difference between "+" and ".":
--- 1042,1048 ----
expr7 / expr7 Number division *expr-/*
expr7 % expr7 Number modulo *expr-%*
! For all, except "." and "..", Strings are converted to Numbers.
For bitwise operators see |and()|, |or()| and |xor()|.
Note the difference between "+" and ".":
***************
*** 1154,1160 ****
indexes expr1a and expr1b, inclusive. Examples: >
:let b = 0zDEADBEEF
:let bs = b[1:2] " 0zADBE
! :let bs = b[] " copy ov 0zDEADBEEF
Using expr8[expr1] or expr8[expr1a : expr1b] on a |Funcref| results in an
error.
--- 1166,1172 ----
indexes expr1a and expr1b, inclusive. Examples: >
:let b = 0zDEADBEEF
:let bs = b[1:2] " 0zADBE
! :let bs = b[:] " copy of 0zDEADBEEF
Using expr8[expr1] or expr8[expr1a : expr1b] on a |Funcref| results in an
error.
***************
*** 1227,1237 ****
3. empty {M}
1e40 missing .{M}
- *float-pi* *float-e*
- A few useful values to copy&paste: >
- :let pi = 3.
14159265359
- :let e = 2.71828182846
-
Rationale:
Before floating point was introduced, the text "123.456" was interpreted as
the two numbers "123" and "456", both converted to a string and concatenated,
--- 1239,1244 ----
***************
*** 1240,1245 ****
--- 1247,1261 ----
incompatibility was accepted in favor of being able to use the normal notation
for floating point numbers.
+ *float-pi* *float-e*
+ A few useful values to copy&paste: >
+ :let pi = 3.
14159265359
+ :let e = 2.71828182846
+ Or, if you don't want to write them in as floating-point literals, you can
+ also use functions, like the following: >
+ :let pi = acos(-1.0)
+ :let e = exp(1.0)
+ <
*floating-point-precision*
The precision and range of floating points numbers depends on what "double"
means in the library Vim was compiled with. There is no way to change this at
***************
*** 1585,1591 ****
variables for each buffer. Use local buffer variables instead |b:var|.
! Predefined Vim variables: *vim-variable* *v:var* *v:*
*v:beval_col* *beval_col-variable*
v:beval_col The number of the column, over which the mouse pointer is.
--- 1601,1609 ----
variables for each buffer. Use local buffer variables instead |b:var|.
! PREDEFINED VIM VARIABLES *vim-variable* *v:var* *v:*
! *E963*
! Some variables can be set by the user, but the type cannot be changed.
*v:beval_col* *beval_col-variable*
v:beval_col The number of the column, over which the mouse pointer is.
***************
*** 1878,1884 ****
This is the screen column number, like with |virtcol()|. The
value is zero when there was no mouse button click.
! *v:none* *none-variable*
v:none An empty String. Used to put an empty item in JSON. See
|json_encode()|.
When used as a number this evaluates to zero.
--- 1896,1902 ----
This is the screen column number, like with |virtcol()|. The
value is zero when there was no mouse button click.
! *v:none* *none-variable* *None*
v:none An empty String. Used to put an empty item in JSON. See
|json_encode()|.
When used as a number this evaluates to zero.
***************
*** 2036,2062 ****
For ":edit +cmd file" the value is ":cmd\r".
*v:t_TYPE* *v:t_bool* *t_bool-variable*
! v:t_bool Value of Boolean type. Read-only. See: |type()|
*v:t_channel* *t_channel-variable*
! v:t_channel Value of Channel type. Read-only. See: |type()|
*v:t_dict* *t_dict-variable*
! v:t_dict Value of Dictionary type. Read-only. See: |type()|
*v:t_float* *t_float-variable*
! v:t_float Value of Float type. Read-only. See: |type()|
*v:t_func* *t_func-variable*
! v:t_func Value of Funcref type. Read-only. See: |type()|
*v:t_job* *t_job-variable*
! v:t_job Value of Job type. Read-only. See: |type()|
*v:t_list* *t_list-variable*
! v:t_list Value of List type. Read-only. See: |type()|
*v:t_none* *t_none-variable*
! v:t_none Value of None type. Read-only. See: |type()|
*v:t_number* *t_number-variable*
! v:t_number Value of Number type. Read-only. See: |type()|
*v:t_string* *t_string-variable*
! v:t_string Value of String type. Read-only. See: |type()|
*v:t_blob* *t_blob-variable*
! v:t_blob Value of Blob type. Read-only. See: |type()|
*v:termresponse* *termresponse-variable*
v:termresponse The escape sequence returned by the terminal for the |t_RV|
--- 2054,2080 ----
For ":edit +cmd file" the value is ":cmd\r".
*v:t_TYPE* *v:t_bool* *t_bool-variable*
! v:t_bool Value of |Boolean| type. Read-only. See: |type()|
*v:t_channel* *t_channel-variable*
! v:t_channel Value of |Channel| type. Read-only. See: |type()|
*v:t_dict* *t_dict-variable*
! v:t_dict Value of |Dictionary| type. Read-only. See: |type()|
*v:t_float* *t_float-variable*
! v:t_float Value of |Float| type. Read-only. See: |type()|
*v:t_func* *t_func-variable*
! v:t_func Value of |Funcref| type. Read-only. See: |type()|
*v:t_job* *t_job-variable*
! v:t_job Value of |Job| type. Read-only. See: |type()|
*v:t_list* *t_list-variable*
! v:t_list Value of |List| type. Read-only. See: |type()|
*v:t_none* *t_none-variable*
! v:t_none Value of |None| type. Read-only. See: |type()|
*v:t_number* *t_number-variable*
! v:t_number Value of |Number| type. Read-only. See: |type()|
*v:t_string* *t_string-variable*
! v:t_string Value of |String| type. Read-only. See: |type()|
*v:t_blob* *t_blob-variable*
! v:t_blob Value of |Blob| type. Read-only. See: |type()|
*v:termresponse* *termresponse-variable*
v:termresponse The escape sequence returned by the terminal for the |t_RV|
***************
*** 2191,2197 ****
Number assert file contents is equal
assert_exception({error} [, {msg}])
Number assert {error} is in v:exception
! assert_fails({cmd} [, {error}]) Number assert {cmd} fails
assert_false({actual} [, {msg}])
Number assert {actual} is false
assert_inrange({lower}, {upper}, {actual} [, {msg}])
--- 2209,2216 ----
Number assert file contents is equal
assert_exception({error} [, {msg}])
Number assert {error} is in v:exception
! assert_fails({cmd} [, {error} [, {msg}]])
! Number assert {cmd} fails
assert_false({actual} [, {msg}])
Number assert {actual} is false
assert_inrange({lower}, {upper}, {actual} [, {msg}])
***************
*** 2276,2282 ****
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}])
Number delete lines from buffer {expr}
did_filetype() Number |TRUE| if FileType autocmd event used
diff_filler({lnum}) Number diff filler lines about {lnum}
--- 2295,2301 ----
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}])
Number delete lines from buffer {expr}
did_filetype() Number |TRUE| if FileType autocmd event used
diff_filler({lnum}) Number diff filler lines about {lnum}
***************
*** 2475,2481 ****
none remove all text properties
prop_find({props} [, {direction}])
Dict search for a text property
! prop_list({lnum} [, {props}) List text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
Number remove a text property
prop_type_add({name}, {props}) none define a new property type
--- 2494,2500 ----
none remove all text properties
prop_find({props} [, {direction}])
Dict search for a text property
! prop_list({lnum} [, {props}) List text properties in {lnum}
prop_remove({props} [, {lnum} [, {lnum-end}]])
Number remove a text property
prop_type_add({name}, {props}) none define a new property type
***************
*** 2492,2500 ****
pyxeval({expr}) any evaluate |python_x| expression
range({expr} [, {max} [, {stride}]])
List items from {expr} to {max}
! readdir({directory} [, {expr}])
! List file names on {dir} with evalating
! {expr}
readfile({fname} [, {type} [, {max}]])
List get list of lines from file {fname}
reg_executing() String get the executing register name
--- 2511,2517 ----
pyxeval({expr}) any evaluate |python_x| expression
range({expr} [, {max} [, {stride}]])
List items from {expr} to {max}
! readdir({dir} [, {expr}]) List file names in {dir} selected by {expr}
readfile({fname} [, {type} [, {max}]])
List get list of lines from file {fname}
reg_executing() String get the executing register name
***************
*** 2542,2549 ****
server2client({clientid}, {string})
Number send reply string
serverlist() String get a list of available servers
! setbufline({expr}, {lnum}, {line})
! Number set line {lnum} to {line} in buffer
{expr}
setbufvar({expr}, {varname}, {val})
none set {varname} in buffer {expr} to {val}
--- 2559,2566 ----
server2client({clientid}, {string})
Number send reply string
serverlist() String get a list of available servers
! setbufline({expr}, {lnum}, {text})
! Number set line {lnum} to {text} in buffer
{expr}
setbufvar({expr}, {varname}, {val})
none set {varname} in buffer {expr} to {val}
***************
*** 2661,2667 ****
term_setrestore({buf}, {command}) none set command to restore terminal
term_setsize({buf}, {rows}, {cols})
none set the size of a terminal
! term_start({cmd}, {options}) Number open a terminal window and run a job
term_wait({buf} [, {time}]) Number wait for screen to be updated
test_alloc_fail({id}, {countdown}, {repeat})
none make memory allocation fail
--- 2678,2684 ----
term_setrestore({buf}, {command}) none set command to restore terminal
term_setsize({buf}, {rows}, {cols})
none set the size of a terminal
! term_start({cmd} [, {options}]) Number open a terminal window and run a job
term_wait({buf} [, {time}]) Number wait for screen to be updated
test_alloc_fail({id}, {countdown}, {repeat})
none make memory allocation fail
***************
*** 2693,2699 ****
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}
trunc({expr}) Float truncate Float {expr}
type({name}) Number type of variable {name}
undofile({name}) String undo file name for {name}
--- 2710,2716 ----
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}
trunc({expr}) Float truncate Float {expr}
type({name}) Number type of variable {name}
undofile({name}) String undo file name for {name}
***************
*** 2772,2781 ****
:let flag = and(bits, 0x80)
! append({lnum}, {expr}) *append()*
! When {expr} is a |List|: Append each item of the |List| as a
text line below line {lnum} in the current buffer.
! Otherwise append {expr} as one text line below line {lnum} in
the current buffer.
{lnum} can be zero to insert a line before the first one.
Returns 1 for failure ({lnum} out of range or out of memory),
--- 2789,2798 ----
:let flag = and(bits, 0x80)
! append({lnum}, {text}) *append()*
! When {text} is a |List|: Append each item of the |List| as a
text line below line {lnum} in the current buffer.
! Otherwise append {text} as one text line below line {lnum} in
the current buffer.
{lnum} can be zero to insert a line before the first one.
Returns 1 for failure ({lnum} out of range or out of memory),
***************
*** 2884,2890 ****
call assert_exception('E492:')
endtry
! assert_fails({cmd} [, {error}]) *assert_fails()*
Run {cmd} and add an error message to |v:errors| if it does
NOT produce an error. Also see |assert-return|.
When {error} is given it must match in |v:errmsg|.
--- 2901,2907 ----
call assert_exception('E492:')
endtry
! assert_fails({cmd} [, {error} [, {msg}]]) *assert_fails()*
Run {cmd} and add an error message to |v:errors| if it does
NOT produce an error. Also see |assert-return|.
When {error} is given it must match in |v:errmsg|.
***************
*** 2893,2899 ****
assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
! |v:errors|, like with |assert_equal()|.
Also see |assert-return|.
A value is false when it is zero. When {actual} is not a
number the assert fails.
--- 2910,2916 ----
assert_false({actual} [, {msg}]) *assert_false()*
When {actual} is not false an error message is added to
! |v:errors|, like with |assert_equal()|.
Also see |assert-return|.
A value is false when it is zero. When {actual} is not a
number the assert fails.
***************
*** 2901,2909 ****
"Expected False but got {actual}" is produced.
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
! This asserts number values. When {actual} is lower than
! {lower} or higher than {upper} an error message is added to
! |v:errors|. Also see |assert-return|.
When {msg} is omitted an error in the form
"Expected range {lower} - {upper}, but got {actual}" is
produced.
--- 2918,2926 ----
"Expected False but got {actual}" is produced.
assert_inrange({lower}, {upper}, {actual} [, {msg}]) *assert_inrange()*
! This asserts number and |Float| values. When {actual} is lower
! than {lower} or higher than {upper} an error message is added
! to |v:errors|. Also see |assert-return|.
When {msg} is omitted an error in the form
"Expected range {lower} - {upper}, but got {actual}" is
produced.
***************
*** 3014,3028 ****
When showing a balloon is not possible nothing happens, no
error message.
! {only available when compiled with the +balloon_eval or
! +balloon_eval_term feature}
balloon_split({msg}) *balloon_split()*
Split {msg} into lines to be displayed in a balloon. The
splits are made for the current window size and optimize to
show debugger output.
Returns a |List| with the split lines.
! {only available when compiled with the +balloon_eval_term
feature}
*browse()*
--- 3031,3045 ----
When showing a balloon is not possible nothing happens, no
error message.
! {only available when compiled with the |+balloon_eval| or
! |+balloon_eval_term| feature}
balloon_split({msg}) *balloon_split()*
Split {msg} into lines to be displayed in a balloon. The
splits are made for the current window size and optimize to
show debugger output.
Returns a |List| with the split lines.
! {only available when compiled with the |+balloon_eval_term|
feature}
*browse()*
***************
*** 3274,3280 ****
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}
--- 3291,3297 ----
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}
***************
*** 3337,3344 ****
When {mode} is omitted or "a" append to the file.
When {mode} is "w" start with an empty file.
! The file is flushed after every message, on Unix you can use
! "tail -f" to see what is going on in real time.
This function is not available in the |sandbox|.
NOTE: the channel communication is stored in the file, be
--- 3354,3362 ----
When {mode} is omitted or "a" append to the file.
When {mode} is "w" start with an empty file.
! Use |ch_log()| to write log messages. The file is flushed
! after every message, on Unix you can use "tail -f" to see what
! is going on in real time.
This function is not available in the |sandbox|.
NOTE: the channel communication is stored in the file, be
***************
*** 3367,3373 ****
{only available when compiled with the |+channel| feature}
ch_readblob({handle} [, {options}]) *ch_readblob()*
! Like ch_read() but reads binary data and returns a Blob.
See |channel-more|.
{only available when compiled with the |+channel| feature}
--- 3385,3391 ----
{only available when compiled with the |+channel| feature}
ch_readblob({handle} [, {options}]) *ch_readblob()*
! Like ch_read() but reads binary data and returns a |Blob|.
See |channel-more|.
{only available when compiled with the |+channel| feature}
***************
*** 3388,3394 ****
{only available when compiled with the |+channel| feature}
ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
! Send string or Blob {expr} over {handle}.
Works like |ch_sendexpr()|, but does not encode the request or
decode the response. The caller is responsible for the
correct contents. Also does not add a newline for a channel
--- 3406,3412 ----
{only available when compiled with the |+channel| feature}
ch_sendraw({handle}, {expr} [, {options}]) *ch_sendraw()*
! Send |String| or |Blob| {expr} over {handle}.
Works like |ch_sendexpr()|, but does not encode the request or
decode the response. The caller is responsible for the
correct contents. Also does not add a newline for a channel
***************
*** 3446,3451 ****
--- 3464,3473 ----
< With {utf8} set to 1, always treat as utf-8 characters.
A combining character is a separate character.
|nr2char()| does the opposite.
+ To turn a string into a list of character numbers: >
+ let str = "ABC"
+ let list = map(split(str, '\zs'), {_, val -> char2nr(val)})
+ < Result: [65, 66, 67]
cindent({lnum}) *cindent()*
Get the amount of indent for line {lnum} according the C
***************
*** 3551,3557 ****
completion. See |ins-completion|.
The items are:
mode Current completion mode name string.
! See |completion_info_mode| for the values.
pum_visible |TRUE| if popup menu is visible.
See |pumvisible()|.
items List of completion matches. Each item is a
--- 3573,3579 ----
completion. See |ins-completion|.
The items are:
mode Current completion mode name string.
! See |complete_info_mode| for the values.
pum_visible |TRUE| if popup menu is visible.
See |pumvisible()|.
items List of completion matches. Each item is a
***************
*** 3812,3825 ****
To delete a line from the buffer use |:delete| or
|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.
For the use of {expr}, see |bufname()| above.
! {first} and {last} are used like with |setline()|. Note that
when using |line()| this refers to the current buffer. Use "$"
to refer to the last line in buffer {expr}.
--- 3834,3847 ----
To delete a line from the buffer use |:delete| or
|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.
For the use of {expr}, see |bufname()| above.
! {first} and {last} are used like with |getline()|. Note that
when using |line()| this refers to the current buffer. Use "$"
to refer to the last line in buffer {expr}.
***************
*** 3864,3870 ****
- |v:false|, |v:none| and |v:null| are empty, |v:true| is not.
- A |Job| is empty when it failed to start.
- A |Channel| is empty when it is closed.
! - A Blob is empty when its length is zero.
For a long |List| this is much faster than comparing the
length with zero.
--- 3886,3892 ----
- |v:false|, |v:none| and |v:null| are empty, |v:true| is not.
- A |Job| is empty when it failed to start.
- A |Channel| is empty when it is closed.
! - A |Blob| is empty when its length is zero.
For a long |List| this is much faster than comparing the
length with zero.
***************
*** 3880,3887 ****
*eval()*
eval({string}) Evaluate {string} and return the result. Especially useful to
turn the result of |string()| back into the original value.
! This works for Numbers, Floats, Strings and composites of
! them. Also works for |Funcref|s that refer to existing
functions.
eventhandler() *eventhandler()*
--- 3902,3909 ----
*eval()*
eval({string}) Evaluate {string} and return the result. Especially useful to
turn the result of |string()| back into the original value.
! This works for Numbers, Floats, Strings, Blobs and composites
! of them. Also works for |Funcref|s that refer to existing
functions.
eventhandler() *eventhandler()*
***************
*** 3913,3918 ****
--- 3935,3941 ----
1 exists
0 does not exist
-1 not implemented on this system
+ |exepath()| can be used to get the full path of an executable.
execute({command} [, {silent}]) *execute()*
Execute an Ex command or commands and return the output as a
***************
*** 4118,4124 ****
all "README" files in the current directory and below: >
:echo expand("**/README")
<
! Expand() can also be used to expand variables and environment
variables that are only known in a shell. But this can be
slow, because a shell may be used to do the expansion. See
|expr-env-expand|.
--- 4141,4147 ----
all "README" files in the current directory and below: >
:echo expand("**/README")
<
! expand() can also be used to expand variables and environment
variables that are only known in a shell. But this can be
slow, because a shell may be used to do the expansion. See
|expr-env-expand|.
***************
*** 4204,4209 ****
--- 4227,4235 ----
will behave as if <Esc> is typed, to avoid getting
stuck, waiting for a character to be typed before the
script continues.
+ Note that if you manage to call feedkeys() while
+ executing commands, thus calling it recursively, then
+ all typehead will be consumed by the last call.
'!' When used with 'x' will not end Insert mode. Can be
used in a test when a timer is set to exit Insert mode
a little later. Useful for testing CursorHoldI.
***************
*** 4604,4610 ****
endfor
<
To get buffer-local options use: >
! getbufvar({bufnr}, '&')
<
*getbufline()*
--- 4630,4636 ----
endfor
<
To get buffer-local options use: >
! getbufvar({bufnr}, '&option_name')
<
*getbufline()*
***************
*** 4785,4790 ****
--- 4811,4818 ----
Example: >
:cmap <F7> <C-\>eescape(getcmdline(), ' \')<CR>
< Also see |getcmdtype()|, |getcmdpos()| and |setcmdpos()|.
+ Returns an empty string when entering a password or using
+ |inputsecret()|.
getcmdpos() *getcmdpos()*
Return the position of the cursor in the command line as a
***************
*** 5234,5240 ****
tabnr tab page number.
variables a reference to the dictionary with
tabpage-local variables
! windows List of |window-ID|s in the tag page.
gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()*
Get the value of a tab-local variable {varname} in tab page
--- 5262,5268 ----
tabnr tab page number.
variables a reference to the dictionary with
tabpage-local variables
! windows List of |window-ID|s in the tab page.
gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()*
Get the value of a tab-local variable {varname} in tab page
***************
*** 5334,5345 ****
winrow topmost screen column of the window,
row from |win_screenpos()|
- To obtain all window-local variables use: >
- gettabwinvar({tabnr}, {winnr}, '&')
-
getwinpos([{timeout}]) *getwinpos()*
The result is a list with two numbers, the result of
! getwinposx() and getwinposy() combined:
[x-pos, y-pos]
{timeout} can be used to specify how long to wait in msec for
a response from the terminal. When omitted 100 msec is used.
--- 5362,5370 ----
winrow topmost screen column of the window,
row from |win_screenpos()|
getwinpos([{timeout}]) *getwinpos()*
The result is a list with two numbers, the result of
! getwinposx() and getwinposy() combined:
[x-pos, y-pos]
{timeout} can be used to specify how long to wait in msec for
a response from the terminal. When omitted 100 msec is used.
***************
*** 5347,5353 ****
When using a value less than 10 and no response is received
within that time, a previously reported position is returned,
if available. This can be used to poll for the position and
! do some work in the mean time: >
while 1
let res = getwinpos(1)
if res[0] >= 0
--- 5372,5378 ----
When using a value less than 10 and no response is received
within that time, a previously reported position is returned,
if available. This can be used to poll for the position and
! do some work in the meantime: >
while 1
let res = getwinpos(1)
if res[0] >= 0
***************
*** 5394,5399 ****
--- 5419,5427 ----
If the expansion fails, the result is an empty String or List.
+ You can also use |readdir()| if you need to do complicated
+ things, such as limiting the number of matches.
+
A name for a non-existing file is not included. A symbolic
link is only included if it points to an existing file.
However, when the {alllinks} argument is present and it is
***************
*** 5649,5655 ****
< Note that Vim uses UTF-8 for all Unicode encodings, conversion
from/to UCS-2 is automatically changed to use UTF-8. You
cannot use UCS-2 in a string anyway, because of the NUL bytes.
- {only available when compiled with the |+multi_byte| feature}
*indent()*
indent({lnum}) The result is a Number, which is indent of line {lnum} in the
--- 5677,5682 ----
***************
*** 5833,5839 ****
isnan({expr}) *isnan()*
Return |TRUE| if {expr} is a float with value NaN. >
echo isnan(0.0 / 0.0)
! < 1 ~
{only available when compiled with the |+float| feature}
--- 5860,5866 ----
isnan({expr}) *isnan()*
Return |TRUE| if {expr} is a float with value NaN. >
echo isnan(0.0 / 0.0)
! < 1
{only available when compiled with the |+float| feature}
***************
*** 5841,5847 ****
Return a |List| with all the key-value pairs of {dict}. Each
|List| item is a list with two items: the key of a {dict}
entry and the value of this entry. The |List| is in arbitrary
! order.
job_getchannel({job}) *job_getchannel()*
Get the channel handle that {job} is using.
--- 5868,5878 ----
Return a |List| with all the key-value pairs of {dict}. Each
|List| item is a list with two items: the key of a {dict}
entry and the value of this entry. The |List| is in arbitrary
! order. Also see |keys()| and |values()|.
! Example: >
! for [key, value] in items(mydict)
! echo key . ': ' . value
! endfor
job_getchannel({job}) *job_getchannel()*
Get the channel handle that {job} is using.
***************
*** 5884,5889 ****
--- 5915,5924 ----
|:!cmd| this does not wait for the job to finish.
To start a job in a terminal window see |term_start()|.
+ If the job fails to start then |job_status()| on the returned
+ Job object results in "fail" and none of the callbacks will be
+ invoked.
+
{command} can be a String. This works best on MS-Windows. On
Unix it is split up in white-separated parts to be passed to
execvp(). Arguments in double quotes can contain white space.
***************
*** 6035,6040 ****
--- 6070,6077 ----
The decoding is permissive:
- A trailing comma in an array and object is ignored, e.g.
"[1, 2, ]" is the same as "[1, 2]".
+ - Integer keys are accepted in objects, e.g. {1:2} is the
+ same as {"1":2}.
- More floating point numbers are recognized, e.g. "1." for
"1.0", or "001.2" for "1.2". Special floating point values
"Infinity", "-Infinity" and "NaN" (capitalization ignored)
***************
*** 6046,6051 ****
--- 6083,6090 ----
- Control characters U+0000 through U+001F which are not
escaped in strings are accepted, e.g. " " (tab
character in string) for "\t".
+ - An empty JSON expression or made of only spaces is accepted
+ and results in v:none.
- Backslash in an invalid 2-character sequence escape is
ignored, e.g. "\a" is decoded as "a".
- A correct surrogate pair in JSON strings should normally be
***************
*** 6063,6080 ****
The encoding is specified in:
https://tools.ietf.org/html/rfc7159.html
Vim values are converted as follows:
! Number decimal number
! Float floating point number
Float nan "NaN"
Float inf "Infinity"
Float -inf "-Infinity"
! String in double quotes (possibly null)
! Funcref not possible, error
! List as an array (possibly null); when
used recursively: []
! Dict as an object (possibly null); when
used recursively: {}
! Blob as an array of the individual bytes
v:false "false"
v:true "true"
v:none "null"
--- 6102,6119 ----
The encoding is specified in:
https://tools.ietf.org/html/rfc7159.html
Vim values are converted as follows:
! |Number| decimal number
! |Float| floating point number
Float nan "NaN"
Float inf "Infinity"
Float -inf "-Infinity"
! |String| in double quotes (possibly null)
! |Funcref| not possible, error
! |List| as an array (possibly null); when
used recursively: []
! |Dict| as an object (possibly null); when
used recursively: {}
! |Blob| as an array of the individual bytes
v:false "false"
v:true "true"
v:none "null"
***************
*** 6085,6091 ****
keys({dict}) *keys()*
Return a |List| with all the keys of {dict}. The |List| is in
! arbitrary order.
*len()* *E701*
len({expr}) The result is a Number, which is the length of the argument.
--- 6124,6130 ----
keys({dict}) *keys()*
Return a |List| with all the keys of {dict}. The |List| is in
! arbitrary order. Also see |items()| and |values()|.
*len()* *E701*
len({expr}) The result is a Number, which is the length of the argument.
***************
*** 6093,6098 ****
--- 6132,6138 ----
used, as with |strlen()|.
When {expr} is a |List| the number of items in the |List| is
returned.
+ When {expr} is a |Blob| the number of bytes is returned.
When {expr} is a |Dictionary| the number of entries in the
|Dictionary| is returned.
Otherwise an error is given.
***************
*** 6177,6189 ****
line(".") line number of the cursor
line("'t") line number of mark t
line("'" . marker) line number of mark marker
! < *last-position-jump*
! This autocommand jumps to the last known position in a file
! just after opening it, if the '" mark is set: >
! :au BufReadPost *
! \ if line("'\"") > 1 && line("'\"") <= line("$") && &ft !~# 'commit'
! \ | exe "normal! g`\""
! \ | endif
line2byte({lnum}) *line2byte()*
Return the byte count from the start of the buffer for line
--- 6217,6225 ----
line(".") line number of the cursor
line("'t") line number of mark t
line("'" . marker) line number of mark marker
! <
! To jump to the last known position when opening a file see
! |last-position-jump|.
line2byte({lnum}) *line2byte()*
Return the byte count from the start of the buffer for line
***************
*** 6641,6648 ****
--- 6677,6686 ----
*mkdir()* *E739*
mkdir({name} [, {path} [, {prot}]])
Create directory {name}.
+
If {path} is "p" then intermediate directories are created as
necessary. Otherwise it must be "".
+
If {prot} is given it is used to set the protection bits of
the new directory. The default is 0755 (rwxr-xr-x: r/w for
the user readable for others). Use 0700 to make it unreadable
***************
*** 6651,6659 ****
with 0755.
Example: >
:call mkdir($HOME . "/tmp/foo/bar", "p", 0700)
< This function is not available in the |sandbox|.
There is no error if the directory already exists and the "p"
! flag is passed (since patch 8.0.1708).
Not available on all systems. To check use: >
:if exists("*mkdir")
<
--- 6689,6705 ----
with 0755.
Example: >
:call mkdir($HOME . "/tmp/foo/bar", "p", 0700)
+
< This function is not available in the |sandbox|.
+
There is no error if the directory already exists and the "p"
! flag is passed (since patch 8.0.1708). However, without the
! "p" option the call will fail.
!
! The function result is a Number, which is 1 if the call was
! successful or 0 if the directory creation failed or partly
! failed.
!
Not available on all systems. To check use: >
:if exists("*mkdir")
<
***************
*** 6668,6674 ****
nov Operator-pending (forced characterwise |o_v|)
noV Operator-pending (forced linewise |o_V|)
noCTRL-V Operator-pending (forced blockwise |o_CTRL-V|);
! CTRL-V is one character
niI Normal using |i_CTRL-O| in |Insert-mode|
niR Normal using |i_CTRL-O| in |Replace-mode|
niV Normal using |i_CTRL-O| in |Virtual-Replace-mode|
--- 6714,6720 ----
nov Operator-pending (forced characterwise |o_v|)
noV Operator-pending (forced linewise |o_V|)
noCTRL-V Operator-pending (forced blockwise |o_CTRL-V|);
! CTRL-V is one character
niI Normal using |i_CTRL-O| in |Insert-mode|
niR Normal using |i_CTRL-O| in |Replace-mode|
niV Normal using |i_CTRL-O| in |Virtual-Replace-mode|
***************
*** 6739,6744 ****
--- 6785,6794 ----
nr2char(10), because NULs are represented with newline
characters. nr2char(0) is a real NUL and terminates the
string, thus results in an empty string.
+ To turn a list of character numbers into a string: >
+ let list = [65, 66, 67]
+ let str = join(map(list, {_, val -> nr2char(val)}), '')
+ < Result: "ABC"
or({expr}, {expr}) *or()*
Bitwise OR on the two arguments. The arguments are converted
***************
*** 6934,6941 ****
*printf-S*
S The text of the String argument is used. If a
precision is specified, no more display cells than the
! number specified are used. Without the |+multi_byte|
! feature works just like 's'.
*printf-f* *E807*
f F The Float argument is converted into a string of the
--- 6984,6990 ----
*printf-S*
S The text of the String argument is used. If a
precision is specified, no more display cells than the
! number specified are used.
*printf-f* *E807*
f F The Float argument is converted into a string of the
***************
*** 7040,7050 ****
for a property that does not continue in
another line; can be zero
end_lnum line number for the end of text
! end_col column just after the text; not used when "length"
! is present; when {col} and "end_col" are equal
! this is a zero-width text property
bufnr buffer to add the property to; when omitted
! the current buffer is used
id user defined ID for the property; when omitted
zero is used
type name of the text property type
--- 7089,7100 ----
for a property that does not continue in
another line; can be zero
end_lnum line number for the end of text
! end_col column just after the text; not used when
! "length" is present; when {col} and "end_col"
! are equal, and "end_lnum" is omitted or equal
! to {lnum}, this is a zero-width text property
bufnr buffer to add the property to; when omitted
! the current buffer is used
id user defined ID for the property; when omitted
zero is used
type name of the text property type
***************
*** 7089,7095 ****
start position with "lnum" and "col"
must be given; when omitted the
current buffer is used
! lnum" start in this line (when omitted start
at the cursor)
col start at this column (when omitted
and "lnum" is given: use column 1,
--- 7139,7145 ----
start position with "lnum" and "col"
must be given; when omitted the
current buffer is used
! lnum start in this line (when omitted start
at the cursor)
col start at this column (when omitted
and "lnum" is given: use column 1,
***************
*** 7107,7113 ****
See |text-properties| for information about text properties.
! prop_list({lnum} [, {props}]) *prop_list()*
Return a List with all text properties in line {lnum}.
When {props} contains a "bufnr" item, use this buffer instead
--- 7157,7163 ----
See |text-properties| for information about text properties.
! prop_list({lnum} [, {props}]) *prop_list()*
Return a List with all text properties in line {lnum}.
When {props} contains a "bufnr" item, use this buffer instead
***************
*** 7279,7284 ****
--- 7329,7336 ----
*readdir()*
readdir({directory} [, {expr}])
Return a list with file and directory names in {directory}.
+ You can also use |glob()| if you don't need to do complicated
+ things, such as limiting the number of matches.
When {expr} is omitted all entries are included.
When {expr} is given, it is evaluated to check what to do:
***************
*** 7344,7350 ****
reg_recording() *reg_recording()*
Returns the single letter name of the register being recorded.
! Returns an empty string string when not recording. See |q|.
reltime([{start} [, {end}]]) *reltime()*
Return an item that represents a time value. The format of
--- 7396,7402 ----
reg_recording() *reg_recording()*
Returns the single letter name of the register being recorded.
! Returns an empty string when not recording. See |q|.
reltime([{start} [, {end}]]) *reltime()*
Return an item that represents a time value. The format of
***************
*** 7491,7496 ****
--- 7543,7551 ----
Example: >
:echo "last item: " . remove(mylist, -1)
:call remove(mylist, 0, 9)
+ <
+ Use |delete()| to remove a file.
+
remove({blob}, {idx} [, {end}])
Without {end}: Remove the byte at {idx} from |Blob| {blob} and
return the byte.
***************
*** 7501,7513 ****
Example: >
:echo "last byte: " . remove(myblob, -1)
:call remove(mylist, 0, 9)
remove({dict}, {key})
Remove the entry from {dict} with key {key}. Example: >
:echo "removed " . remove(dict, "one")
< If there is no {key} in {dict} this is an error.
- Use |delete()| to remove a file.
-
rename({from}, {to}) *rename()*
Rename the file by the name {from} to the name {to}. This
should also work to move files across file systems. The
--- 7556,7567 ----
Example: >
:echo "last byte: " . remove(myblob, -1)
:call remove(mylist, 0, 9)
+
remove({dict}, {key})
Remove the entry from {dict} with key {key}. Example: >
:echo "removed " . remove(dict, "one")
< If there is no {key} in {dict} this is an error.
rename({from}, {to}) *rename()*
Rename the file by the name {from} to the name {to}. This
should also work to move files across file systems. The
***************
*** 7771,7776 ****
--- 7825,7831 ----
When evaluating {skip} causes an error the search is aborted
and -1 returned.
{skip} can be a string, a lambda, a funcref or a partial.
+ Anything else makes the function fail.
For {stopline} and {timeout} see |search()|.
***************
*** 7867,7873 ****
<
setbufline({expr}, {lnum}, {text}) *setbufline()*
Set line {lnum} to {text} in buffer {expr}. To insert
! lines use |append()|.
For the use of {expr}, see |bufname()| above.
--- 7922,7929 ----
<
setbufline({expr}, {lnum}, {text}) *setbufline()*
Set line {lnum} to {text} in buffer {expr}. To insert
! lines use |append()|. Any text properties in {lnum} are
! cleared.
For the use of {expr}, see |bufname()| above.
***************
*** 7947,7953 ****
setline({lnum}, {text}) *setline()*
Set line {lnum} of the current buffer to {text}. To insert
lines use |append()|. To set lines in another buffer use
! |setbufline()|.
{lnum} is used like with |getline()|.
When {lnum} is just below the last line the {text} will be
--- 8003,8009 ----
setline({lnum}, {text}) *setline()*
Set line {lnum} of the current buffer to {text}. To insert
lines use |append()|. To set lines in another buffer use
! |setbufline()|. Any text properties in {lnum} are cleared.
{lnum} is used like with |getline()|.
When {lnum} is just below the last line the {text} will be
***************
*** 8437,8443 ****
the sign group name. To use the global sign group, use an
empty string. {group} functions as a namespace for {id}, thus
two groups can use the same IDs. Refer to |sign-identifier|
! for more information.
{name} refers to a defined sign.
{expr} refers to a buffer name or number. For the accepted
--- 8493,8499 ----
the sign group name. To use the global sign group, use an
empty string. {group} functions as a namespace for {id}, thus
two groups can use the same IDs. Refer to |sign-identifier|
! and |sign-group| for more information.
{name} refers to a defined sign.
{expr} refers to a buffer name or number. For the accepted
***************
*** 8725,8731 ****
as when using a floating point number in an expression, see
|floating-point-format|. But it's a bit more permissive.
E.g., "1e40" is accepted, while in an expression you need to
! write "1.0e40".
Text after the number is silently ignored.
The decimal point is always '.', no matter what the locale is
set to. A comma ends the number: "12,345.67" is converted to
--- 8781,8788 ----
as when using a floating point number in an expression, see
|floating-point-format|. But it's a bit more permissive.
E.g., "1e40" is accepted, while in an expression you need to
! write "1.0e40". The hexadecimal form "0x123" is also
! accepted, but not others, like binary or octal.
Text after the number is silently ignored.
The decimal point is always '.', no matter what the locale is
set to. A comma ends the number: "12,345.67" is converted to
***************
*** 8794,8803 ****
strdisplaywidth({expr} [, {col}]) *strdisplaywidth()*
The result is a Number, which is the number of display cells
! String {expr} occupies on the screen when it starts at {col}.
! When {col} is omitted zero is used. Otherwise it is the
! screen column where to start. This matters for Tab
! characters.
The option settings of the current window are used. This
matters for anything that's displayed differently, such as
'tabstop' and 'display'.
--- 8851,8860 ----
strdisplaywidth({expr} [, {col}]) *strdisplaywidth()*
The result is a Number, which is the number of display cells
! String {expr} occupies on the screen when it starts at {col}
! (first column is zero). When {col} is omitted zero is used.
! Otherwise it is the screen column where to start. This
! matters for Tab characters.
The option settings of the current window are used. This
matters for anything that's displayed differently, such as
'tabstop' and 'display'.
***************
*** 8999,9009 ****
swapinfo({fname}) *swapinfo()*
The result is a dictionary, which holds information about the
swapfile {fname}. The available fields are:
! version VIM version
user user name
host host name
fname original file name
! pid PID of the VIM process that created the swap
file
mtime last modification time in seconds
inode Optional: INODE number of the file
--- 9056,9066 ----
swapinfo({fname}) *swapinfo()*
The result is a dictionary, which holds information about the
swapfile {fname}. The available fields are:
! version Vim version
user user name
host host name
fname original file name
! pid PID of the Vim process that created the swap
file
mtime last modification time in seconds
inode Optional: INODE number of the file
***************
*** 9103,9109 ****
concealable region if there are two consecutive regions
with the same replacement character. For an example, if
the text is "123456" and both "23" and "45" are concealed
! and replace by the character "X", then:
call returns ~
synconcealed(lnum, 1) [0, '', 0]
synconcealed(lnum, 2) [1, 'X', 1]
--- 9160,9166 ----
concealable region if there are two consecutive regions
with the same replacement character. For an example, if
the text is "123456" and both "23" and "45" are concealed
! and replaced by the character "X", then:
call returns ~
synconcealed(lnum, 1) [0, '', 0]
synconcealed(lnum, 2) [1, 'X', 1]
***************
*** 9331,9337 ****
The top part of the buffer contains the contents of the first
file, the bottom part of the buffer contains the contents of
the second file. The middle part shows the differences.
! The parts are separated by a line of dashes.
If the {options} argument is present, it must be a Dict with
these possible members:
--- 9388,9394 ----
The top part of the buffer contains the contents of the first
file, the bottom part of the buffer contains the contents of
the second file. The middle part shows the differences.
! The parts are separated by a line of equals.
If the {options} argument is present, it must be a Dict with
these possible members:
***************
*** 9376,9382 ****
Dump the contents of the terminal screen of {buf} in the file
{filename}. This uses a format that can be used with
|term_dumpload()| and |term_dumpdiff()|.
! If {filename} already exists an error is given. *E953*
Also see |terminal-diff|.
{options} is a dictionary with these optional entries:
--- 9433,9441 ----
Dump the contents of the terminal screen of {buf} in the file
{filename}. This uses a format that can be used with
|term_dumpload()| and |term_dumpdiff()|.
! If the job in the terminal already finished an error is given:
! *E958*
! If {filename} already exists an error is given: *E953*
Also see |terminal-diff|.
{options} is a dictionary with these optional entries:
***************
*** 9422,9431 ****
"dict" can have these members:
"visible" one when the cursor is visible, zero when it
is hidden.
! "blink" one when the cursor is visible, zero when it
! is hidden.
"shape" 1 for a block cursor, 2 for underline and 3
for a vertical bar.
{buf} must be the buffer number of a terminal window. If the
buffer does not exist or is not a terminal window, an empty
--- 9481,9491 ----
"dict" can have these members:
"visible" one when the cursor is visible, zero when it
is hidden.
! "blink" one when the cursor is blinking, zero when it
! is not blinking.
"shape" 1 for a block cursor, 2 for underline and 3
for a vertical bar.
+ "color" color of the cursor, e.g. "green"
{buf} must be the buffer number of a terminal window. If the
buffer does not exist or is not a terminal window, an empty
***************
*** 9455,9461 ****
used for |term_getline()| and |getline()|, so that: >
term_getline(buf, N)
< is equal to: >
! `getline(N + term_getscrolled(buf))
< (if that line exists).
{buf} is used as with |term_getsize()|.
--- 9515,9521 ----
used for |term_getline()| and |getline()|, so that: >
term_getline(buf, N)
< is equal to: >
! getline(N + term_getscrolled(buf))
< (if that line exists).
{buf} is used as with |term_getsize()|.
***************
*** 9596,9602 ****
exist or is not a terminal window, an error is given.
{only available when compiled with the |+terminal| feature}
! 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
--- 9656,9662 ----
exist or is not a terminal window, an error is given.
{only available when compiled with the |+terminal| feature}
! 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
***************
*** 9613,9621 ****
|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"
"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"
--- 9673,9680 ----
|job-options|. However, not all options can be used. These
are supported:
all timeout options
! "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"
***************
*** 9735,9741 ****
Only to be used for testing!
test_override({name}, {val}) *test_override()*
! Overrides certain parts of Vims internal processing to be able
to run tests. Only to be used for testing Vim!
The override is enabled when {val} is non-zero and removed
when {val} is zero.
--- 9794,9800 ----
Only to be used for testing!
test_override({name}, {val}) *test_override()*
! Overrides certain parts of Vim's internal processing to be able
to run tests. Only to be used for testing Vim!
The override is enabled when {val} is non-zero and removed
when {val} is zero.
***************
*** 9906,9912 ****
echo tr("<blob>", "<>", "{}")
< returns "{blob}"
! 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,
--- 9965,9971 ----
echo tr("<blob>", "<>", "{}")
< returns "{blob}"
! 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,
***************
*** 9946,9955 ****
Dictionary: 4 |v:t_dict|
Float: 5 |v:t_float|
Boolean: 6 |v:t_bool| (v:false and v:true)
! None 7 |v:t_none| (v:null and v:none)
! Job 8 |v:t_job|
! Channel 9 |v:t_channel|
! Blob 10 |v:t_blob|
For backward compatibility, this method can be used: >
:if type(myvar) == type(0)
:if type(myvar) == type("")
--- 10005,10014 ----
Dictionary: 4 |v:t_dict|
Float: 5 |v:t_float|
Boolean: 6 |v:t_bool| (v:false and v:true)
! None: 7 |v:t_none| (v:null and v:none)
! Job: 8 |v:t_job|
! Channel: 9 |v:t_channel|
! Blob: 10 |v:t_blob|
For backward compatibility, this method can be used: >
:if type(myvar) == type(0)
:if type(myvar) == type("")
***************
*** 9972,9978 ****
If {name} is empty undofile() returns an empty string, since a
buffer without a file name will not write an undo file.
Useful in combination with |:wundo| and |:rundo|.
! When compiled without the +persistent_undo option this always
returns an empty string.
undotree() *undotree()*
--- 10031,10037 ----
If {name} is empty undofile() returns an empty string, since a
buffer without a file name will not write an undo file.
Useful in combination with |:wundo| and |:rundo|.
! When compiled without the |+persistent_undo| option this always
returns an empty string.
undotree() *undotree()*
***************
*** 10028,10034 ****
values({dict}) *values()*
Return a |List| with all the values of {dict}. The |List| is
! in arbitrary order.
virtcol({expr}) *virtcol()*
--- 10087,10093 ----
values({dict}) *values()*
Return a |List| with all the values of {dict}. The |List| is
! in arbitrary order. Also see |items()| and |keys()|.
virtcol({expr}) *virtcol()*
***************
*** 10107,10113 ****
Get the |window-ID| for the specified window.
When {win} is missing use the current window.
With {win} this is the window number. The top window has
! number 1. Use `win_getid(winnr())` for the current window.
Without {tab} use the current tab, otherwise the tab with
number {tab}. The first tab has number one.
Return zero if the window cannot be found.
--- 10166,10172 ----
Get the |window-ID| for the specified window.
When {win} is missing use the current window.
With {win} this is the window number. The top window has
! number 1.
Without {tab} use the current tab, otherwise the tab with
number {tab}. The first tab has number one.
Return zero if the window cannot be found.
***************
*** 10385,10391 ****
amiga Amiga version of Vim.
arabic Compiled with Arabic support |Arabic|.
arp Compiled with ARP support (Amiga).
! autocmd Compiled with autocommand support. |autocommand|
autoservername Automatically enable |clientserver|
balloon_eval Compiled with |balloon-eval| support.
balloon_multiline GUI supports multiline balloons.
--- 10444,10451 ----
amiga Amiga version of Vim.
arabic Compiled with Arabic support |Arabic|.
arp Compiled with ARP support (Amiga).
! autocmd Compiled with autocommand support. (always true)
! autochdir Compiled with support for 'autochdir'
autoservername Automatically enable |clientserver|
balloon_eval Compiled with |balloon-eval| support.
balloon_multiline GUI supports multiline balloons.
***************
*** 10407,10413 ****
conpty Platform where |ConPTY| can be used.
cryptv Compiled with encryption support |encryption|.
cscope Compiled with |cscope| support.
! 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.
--- 10467,10473 ----
conpty Platform where |ConPTY| can be used.
cryptv Compiled with encryption support |encryption|.
cscope Compiled with |cscope| support.
! 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.
***************
*** 10419,10425 ****
emacs_tags Compiled with support for Emacs tags.
eval Compiled with expression evaluation support. Always
true, of course!
! ex_extra |+ex_extra|, always true now
extra_search Compiled with support for |'incsearch'| and
|'hlsearch'|
farsi Compiled with Farsi support |farsi|.
--- 10479,10485 ----
emacs_tags Compiled with support for Emacs tags.
eval Compiled with expression evaluation support. Always
true, of course!
! ex_extra |+ex_extra| (always true)
extra_search Compiled with support for |'incsearch'| and
|'hlsearch'|
farsi Compiled with Farsi support |farsi|.
***************
*** 10481,10487 ****
mouse_urxvt Compiled with support for urxvt mouse.
mouse_xterm Compiled with support for xterm mouse.
mouseshape Compiled with support for 'mouseshape'.
! multi_byte Compiled with support for 'encoding'
multi_byte_encoding 'encoding' is set to a multi-byte encoding.
multi_byte_ime Compiled with support for IME input method.
multi_lang Compiled with support for multiple languages.
--- 10541,10547 ----
mouse_urxvt Compiled with support for urxvt mouse.
mouse_xterm Compiled with support for xterm mouse.
mouseshape Compiled with support for 'mouseshape'.
! multi_byte Compiled with support for 'encoding' (always true)
multi_byte_encoding 'encoding' is set to a multi-byte encoding.
multi_byte_ime Compiled with support for IME input method.
multi_lang Compiled with support for multiple languages.
***************
*** 10511,10517 ****
reltime Compiled with |reltime()| support.
rightleft Compiled with 'rightleft' support.
ruby Compiled with Ruby interface |ruby|.
! scrollbind Compiled with 'scrollbind' support.
showcmd Compiled with 'showcmd' support.
signs Compiled with |:sign| support.
smartindent Compiled with 'smartindent' support.
--- 10571,10577 ----
reltime Compiled with |reltime()| support.
rightleft Compiled with 'rightleft' support.
ruby Compiled with Ruby interface |ruby|.
! scrollbind Compiled with 'scrollbind' support. (always true)
showcmd Compiled with 'showcmd' support.
signs Compiled with |:sign| support.
smartindent Compiled with 'smartindent' support.
***************
*** 10527,10536 ****
system Compiled to use system() instead of fork()/exec().
tag_binary Compiled with binary searching in tags files
|tag-binary-search|.
! tag_old_static Compiled with support for old static tags
|tag-old-static|.
- tag_any_white Compiled with support for any white characters in tags
- files |tag-any-white|.
tcl Compiled with Tcl interface.
termguicolors Compiled with true color in terminal support.
terminal Compiled with |terminal| support.
--- 10587,10594 ----
system Compiled to use system() instead of fork()/exec().
tag_binary Compiled with binary searching in tags files
|tag-binary-search|.
! tag_old_static Support for old static tags was removed, see
|tag-old-static|.
tcl Compiled with Tcl interface.
termguicolors Compiled with true color in terminal support.
terminal Compiled with |terminal| support.
***************
*** 11315,11342 ****
NOTE: The ":append" and ":insert" commands don't work
properly inside a ":while" and ":for" loop.
! :for {var} in {list} *:for* *E690* *E732*
:endfo[r] *:endfo* *:endfor*
Repeat the commands between ":for" and ":endfor" for
! each item in {list}. Variable {var} is set to the
! value of each item.
! When an error is detected for a command inside the
! loop, execution continues after the "endfor".
! Changing {list} inside the loop affects what items are
! used. Make a copy if this is unwanted: >
:for item in copy(mylist)
! < When not making a copy, Vim stores a reference to the
! next item in the list, before executing the commands
! with the current item. Thus the current item can be
! removed without effect. Removing any later item means
! it will not be found. Thus the following example
! works (an inefficient way to make a list empty): >
for item in mylist
call remove(mylist, 0)
endfor
! < Note that reordering the list (e.g., with sort() or
reverse()) may have unexpected effects.
:for [{var1}, {var2}, ...] in {listlist}
:endfo[r]
Like ":for" above, but each item in {listlist} must be
--- 11373,11406 ----
NOTE: The ":append" and ":insert" commands don't work
properly inside a ":while" and ":for" loop.
! :for {var} in {object} *:for* *E690* *E732*
:endfo[r] *:endfo* *:endfor*
Repeat the commands between ":for" and ":endfor" for
! each item in {object}. {object} can be a |List| or
! a |Blob|. Variable {var} is set to the value of each
! item. When an error is detected for a command inside
! the loop, execution continues after the "endfor".
! Changing {object} inside the loop affects what items
! are used. Make a copy if this is unwanted: >
:for item in copy(mylist)
! <
! When {object} is a |List| and not making a copy, Vim
! stores a reference to the next item in the |List|
! before executing the commands with the current item.
! Thus the current item can be removed without effect.
! Removing any later item means it will not be found.
! Thus the following example works (an inefficient way
! to make a |List| empty): >
for item in mylist
call remove(mylist, 0)
endfor
! < Note that reordering the |List| (e.g., with sort() or
reverse()) may have unexpected effects.
+ When {object} is a |Blob|, Vim always makes a copy to
+ iterate over. Unlike with |List|, modifying the
+ |Blob| does not affect the iteration.
+
:for [{var1}, {var2}, ...] in {listlist}
:endfo[r]
Like ":for" above, but each item in {listlist} must be
***************
*** 11412,11425 ****
commands are skipped.
When {pattern} is omitted all errors are caught.
Examples: >
! :catch /^Vim:Interrupt$/ " catch interrupts (CTRL-C)
! :catch /^Vim\%((\a\+)\)\=:E/ " catch all Vim errors
! :catch /^Vim\%((\a\+)\)\=:/ " catch errors and interrupts
! :catch /^Vim(write):/ " catch all errors in :write
! :catch /^Vim\%((\a\+)\)\=:E123/ " catch error E123
! :catch /my-exception/ " catch user exception
! :catch /.*/ " catch everything
! :catch " same as /.*/
<
Another character can be used instead of / around the
{pattern}, so long as it does not have a special
--- 11476,11489 ----
commands are skipped.
When {pattern} is omitted all errors are caught.
Examples: >
! :catch /^Vim:Interrupt$/ " catch interrupts (CTRL-C)
! :catch /^Vim\%((\a\+)\)\=:E/ " catch all Vim errors
! :catch /^Vim\%((\a\+)\)\=:/ " catch errors and interrupts
! :catch /^Vim(write):/ " catch all errors in :write
! :catch /^Vim\%((\a\+)\)\=:E123:/ " catch error E123
! :catch /my-exception/ " catch user exception
! :catch /.*/ " catch everything
! :catch " same as /.*/
<
Another character can be used instead of / around the
{pattern}, so long as it does not have a special
***************
*** 12689,12695 ****
==============================================================================
10. Vim script versions *vimscript-version* *vimscript-versions*
!
Over time many features have been added to Vim script. This includes Ex
commands, functions, variable types, etc. Each individual feature can be
checked with the |has()| and |exists()| functions.
--- 12753,12759 ----
==============================================================================
10. Vim script versions *vimscript-version* *vimscript-versions*
! *scriptversion*
Over time many features have been added to Vim script. This includes Ex
commands, functions, variable types, etc. Each individual feature can be
checked with the |has()| and |exists()| functions.
***************
*** 12710,12718 ****
< String concatenation with "." is not supported, use ".." instead.
This avoids the ambiguity using "." for Dict member access and
floating point numbers. Now ".5" means the number 0.5.
! Test for support with: >
! has('vimscript-2')
==============================================================================
11. No +eval feature *no-eval-feature*
--- 12774,12787 ----
< String concatenation with "." is not supported, use ".." instead.
This avoids the ambiguity using "." for Dict member access and
floating point numbers. Now ".5" means the number 0.5.
! >
! :scriptversion 3
! < All |vim-variable|s must be prefixed by "v:". E.g. "version" doesn't
! work as |v:version| anymore, it can be used as a normal variable.
! Same for some obvious names as "count" and others.
+ Test for support with: >
+ has('vimscript-3')
==============================================================================
11. No +eval feature *no-eval-feature*
***************
*** 12822,12825 ****
Find more information in the file src/testdir/README.txt.
! vim:tw=78:ts=8:ft=help:norl:
--- 12891,12894 ----
Find more information in the file src/testdir/README.txt.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/farsi.txt 2019-02-16 15:09:21.225946157 +0100
--- runtime/doc/farsi.txt 2019-05-05 17:40:23.067021524 +0200
***************
*** 1,4 ****
! *farsi.txt* For Vim version 8.1. Last change: 2019 Feb 16
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
--- 1,4 ----
! *farsi.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Mortaza Ghassab Shiran
***************
*** 6,12 ****
Right to Left and Farsi Mapping for Vim *farsi* *Farsi*
- {Vi does not have any of these commands}
*E27*
Farsi support has been removed in patch 8.1.0932. At that time it was
--- 6,11 ----
*** ../vim-8.1.1279/runtime/doc/filetype.txt 2018-05-17 13:40:51.000000000 +0200
--- runtime/doc/filetype.txt 2019-05-05 17:40:44.726900525 +0200
***************
*** 1,4 ****
! *filetype.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *filetype.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 12,18 ****
Also see |autocmd.txt|.
- {Vi does not have any of these commands}
==============================================================================
1. Filetypes *filetypes* *file-types*
--- 12,17 ----
***************
*** 320,327 ****
Note that the last one is the value of $VIMRUNTIME which has been expanded.
Note that when using a plugin manager or |packages| many directories will be
! added to 'runtimepath'. These plugins earch require their own directory,
! don't put them directly in ~/.vim/plugin.
What if it looks like your plugin is not being loaded? You can find out what
happens when Vim starts up by using the |-V| argument: >
--- 319,326 ----
Note that the last one is the value of $VIMRUNTIME which has been expanded.
Note that when using a plugin manager or |packages| many directories will be
! added to 'runtimepath'. These plugins each require their own directory, don't
! put them directly in ~/.vim/plugin.
What if it looks like your plugin is not being loaded? You can find out what
happens when Vim starts up by using the |-V| argument: >
***************
*** 638,648 ****
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
! To disable this behaviour, set the following variable in your vimrc: >
let g:python_recommended_style = 0
RPM SPEC *ft-spec-plugin*
Since the text for this plugin is rather long it has been put in a separate
--- 637,676 ----
setlocal expandtab shiftwidth=4 softtabstop=4 tabstop=8
! To disable this behavior, set the following variable in your vimrc: >
let g:python_recommended_style = 0
+ R MARKDOWN *ft-rmd-plugin*
+
+ By default ftplugin/html.vim is not sourced. If you want it sourced, add to
+ your |vimrc|: >
+ let rmd_include_html = 1
+
+ The 'formatexpr' option is set dynamically with different values for R code
+ and for Markdown code. If you prefer that 'formatexpr' is not set, add to your
+ |vimrc|: >
+ let rmd_dynamic_comments = 0
+
+
+ R RESTRUCTURED TEXT *ft-rrst-plugin*
+
+ The 'formatexpr' option is set dynamically with different values for R code
+ and for ReStructured text. If you prefer that 'formatexpr' is not set, add to
+ your |vimrc|: >
+ let rrst_dynamic_comments = 0
+
+
+ RESTRUCTUREDTEXT *ft-rst-plugin*
+
+ The following formatting setting are optionally available: >
+ setlocal expandtab shiftwidth=3 softtabstop=3 tabstop=8
+
+ To enable this behavior, set the following variable in your vimrc: >
+ let g:rst_style = 1
+
+
RPM SPEC *ft-spec-plugin*
Since the text for this plugin is rather long it has been put in a separate
***************
*** 695,698 ****
<
! vim:tw=78:ts=8:ft=help:norl:
--- 723,726 ----
<
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/fold.txt 2018-05-17 13:40:51.000000000 +0200
--- runtime/doc/fold.txt 2019-05-05 17:32:54.065507338 +0200
***************
*** 1,4 ****
! *fold.txt* For Vim version 8.1. Last change: 2017 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *fold.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 14,20 ****
3. Fold options |fold-options|
4. Behavior of folds |fold-behavior|
- {Vi has no Folding}
{not available when compiled without the |+folding| feature}
==============================================================================
--- 14,19 ----
***************
*** 601,604 ****
are used.
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 600,603 ----
are used.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/ft_ada.txt 2018-05-17 13:40:51.000000000 +0200
--- runtime/doc/ft_ada.txt 2018-06-17 22:23:13.773656146 +0200
***************
*** 249,255 ****
External command used for |g:decada.Make()| (|'makeprg'|).
*g:decada.Error_Format*
! g:decada.Error_Format| string
Error format (|'errorformat'|).
==============================================================================
--- 249,255 ----
External command used for |g:decada.Make()| (|'makeprg'|).
*g:decada.Error_Format*
! g:decada.Error_Format string
Error format (|'errorformat'|).
==============================================================================
*** ../vim-8.1.1279/runtime/doc/ft_rust.txt 2017-10-27 21:53:22.000000000 +0200
--- runtime/doc/ft_rust.txt 2018-08-08 23:07:19.236325204 +0200
***************
*** 1,4 ****
! *ft_rust.txt* Filetype plugin for Rust
==============================================================================
CONTENTS *rust*
--- 1,6 ----
! *ft_rust.txt* For Vim version 8.1. Last change: 2017 Nov 02
!
! This is documentation for the Rust filetype plugin.
==============================================================================
CONTENTS *rust*
***************
*** 234,237 ****
Note: This binding is only available in MacVim.
==============================================================================
! vim:tw=78:sw=4:noet:ts=8:ft=help:norl:
--- 236,239 ----
Note: This binding is only available in MacVim.
==============================================================================
! vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/ft_sql.txt 2018-05-17 13:41:40.000000000 +0200
--- runtime/doc/ft_sql.txt 2018-07-29 14:23:36.363157576 +0200
***************
*** 777,780 ****
as they were.
! vim:tw=78:ts=8:ft=help:norl:
--- 777,780 ----
as they were.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/gui.txt 2019-04-28 14:02:25.410687613 +0200
--- runtime/doc/gui.txt 2019-05-05 17:40:49.138875880 +0200
***************
*** 1,4 ****
! *gui.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *gui.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 19,25 ****
|gui_x11.txt| For specific items of the X11 GUI.
|gui_w32.txt| For specific items of the Win32 GUI.
- {Vi does not have any of these commands}
==============================================================================
1. Starting the GUI *gui-start* *E229* *E233*
--- 19,24 ----
*** ../vim-8.1.1279/runtime/doc/gui_w32.txt 2019-04-28 19:46:17.018060159 +0200
--- runtime/doc/gui_w32.txt 2019-05-05 17:40:54.634845175 +0200
***************
*** 1,4 ****
! *gui_w32.txt* For Vim version 8.1. Last change: 2017 Oct 27
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *gui_w32.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 19,25 ****
|gui.txt| For generic items of the GUI.
|os_win32.txt| For Win32 specific items.
- {Vi does not have a Windows GUI}
==============================================================================
1. Starting the GUI *gui-w32-start*
--- 19,24 ----
***************
*** 414,420 ****
*:simalt* *:sim*
:sim[alt] {key} simulate pressing {key} while holding Alt pressed.
! {not in Vi} {only for Win32 versions}
Note: ":si" means ":s" with the "i" flag.
Normally, Vim takes control of all Alt-<Key> combinations, to increase the
--- 413,419 ----
*:simalt* *:sim*
:sim[alt] {key} simulate pressing {key} while holding Alt pressed.
! {only for Win32 versions}
Note: ":si" means ":s" with the "i" flag.
Normally, Vim takes control of all Alt-<Key> combinations, to increase the
***************
*** 462,465 ****
:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p')
<
! vim:tw=78:sw=4:ts=8:ft=help:norl:
--- 461,464 ----
:exe 'sign place 1 line=1 name=vimxpm file=' . expand('%:p')
<
! vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/gui_x11.txt 2018-05-17 13:41:40.000000000 +0200
--- runtime/doc/gui_x11.txt 2019-05-05 17:40:59.550817699 +0200
***************
*** 1,4 ****
! *gui_x11.txt* For Vim version 8.1. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *gui_x11.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 19,25 ****
Other relevant documentation:
|gui.txt| For generic items of the GUI.
- {Vi does not have any of these commands}
==============================================================================
1. Starting the X11 GUI *gui-x11-start* *E665*
--- 19,24 ----
***************
*** 48,54 ****
":gui -f". Don't use "vim -fg", because "-fg" specifies the foreground
color.
! When using "gvim -f" and then ":gui", Vim will run in the foreground. The
"-f" argument will be remembered. To force running Vim in the background use
":gui -b".
--- 47,53 ----
":gui -f". Don't use "vim -fg", because "-fg" specifies the foreground
color.
! When using "vim -f" and then ":gui", Vim will run in the foreground. The
"-f" argument will be remembered. To force running Vim in the background use
":gui -b".
***************
*** 376,383 ****
distribution.
For GTK+ 3, an effect similar to the above can be obtained by adding the
! following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (usually,
! $HOME/.config/gtk-3.0/gtk.css):
For GTK+ 3 < 3.20: >
--- 375,382 ----
distribution.
For GTK+ 3, an effect similar to the above can be obtained by adding the
! following snippet of CSS code to $XDG_HOME_DIR/gtk-3.0/gtk.css (see the next
! section):
For GTK+ 3 < 3.20: >
***************
*** 408,413 ****
--- 407,416 ----
GTK+ uses CSS for styling and layout of widgets. In this subsection, we'll
have a quick look at GTK+ CSS through simple, illustrative examples.
+ You can usually edit the config with: >
+ vim $HOME/.config/gtk-3.0/gtk.css
+
+
Example 1. Empty Space Adjustment ~
By default, the toolbar and the tabline of the GTK+ 3 GUI are somewhat larger
***************
*** 492,497 ****
--- 495,510 ----
in mind always when you try improving a theme.
+ Example 3. border color ~
+
+ To eliminate borders when maximized: >
+
+ @define-color bg_color #1B2B34;
+ #vim-main-window {
+ background-color: @bg_color;
+ }
+
+
Using Vim as a GTK+ plugin ~
*gui-gtk-socketid*
When the GTK+ version of Vim starts up normally, it creates its own top level
***************
*** 721,724 ****
both by choosing to use either of the "* or "+ registers.
! vim:tw=78:sw=4:ts=8:ft=help:norl:
--- 734,737 ----
both by choosing to use either of the "* or "+ registers.
! vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/hangulin.txt 2018-05-17 13:41:40.000000000 +0200
--- runtime/doc/hangulin.txt 2018-07-29 14:23:36.363157576 +0200
***************
*** 109,112 ****
SungHyun Nam <
gow...@gmail.com>
Chi-Deok Hwang <...>
! vim:tw=78:ts=8:ft=help:norl:
--- 109,112 ----
SungHyun Nam <
gow...@gmail.com>
Chi-Deok Hwang <...>
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/hebrew.txt 2018-05-17 13:41:40.000000000 +0200
--- runtime/doc/hebrew.txt 2019-05-05 17:41:19.574705732 +0200
***************
*** 1,4 ****
! *hebrew.txt* For Vim version 8.1. Last change: 2007 Jun 14
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
--- 1,4 ----
! *hebrew.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Ron Aaron (and Avner Lottem)
***************
*** 10,19 ****
Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is
currently helping support these features.
! {Vi does not have any of these commands}
!
! All this is only available when the |+rightleft| feature was enabled at
! compile time.
Introduction
--- 10,16 ----
Lottem. <alottem at gmail dot com> Ron Aaron <ron at ronware dot org> is
currently helping support these features.
! {only available when the |+rightleft| feature was enabled at compile time}
Introduction
***************
*** 139,142 ****
problem, set isprint=@,128-255.
! vim:tw=78:ts=8:ft=help:norl:
--- 136,139 ----
problem, set isprint=@,128-255.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/helphelp.txt 2018-05-17 13:41:40.000000000 +0200
--- runtime/doc/helphelp.txt 2019-05-04 22:41:34.687538617 +0200
***************
*** 1,4 ****
! *helphelp.txt* For Vim version 8.1. Last change: 2017 Mar 19
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *helphelp.txt* For Vim version 8.1. Last change: 2019 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 24,30 ****
the very top.
The 'helplang' option is used to select a language, if
the main help file is available in several languages.
- {not in Vi}
*{subject}* *E149* *E661*
:h[elp] {subject} Like ":help", additionally jump to the tag {subject}.
--- 24,29 ----
***************
*** 97,103 ****
command from a following command. You need to type
CTRL-V first to insert the <LF> or <CR>. Example: >
:help so<C-V><CR>only
- < {not in Vi}
:h[elp]! [subject] Like ":help", but in non-English help files prefer to
find a tag in a file with the same language as the
--- 96,101 ----
***************
*** 133,139 ****
|:execute| when needed.
Compressed help files will not be searched (Fedora
compresses the help files).
- {not in Vi}
*:lh* *:lhelpgrep*
:lh[elpgrep] {pattern}[@xx]
--- 131,136 ----
***************
*** 147,157 ****
*:exu* *:exusage*
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
! command. {not in Vi}
*:viu* *:viusage*
:viu[sage] Show help on Normal mode commands. Added to simulate
! the Nvi command. {not in Vi}
When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
--- 144,154 ----
*:exu* *:exusage*
:exu[sage] Show help on Ex commands. Added to simulate the Nvi
! command.
*:viu* *:viusage*
:viu[sage] Show help on Normal mode commands. Added to simulate
! the Nvi command.
When no argument is given to |:help| the file given with the 'helpfile' option
will be opened. Otherwise the specified tag is searched for in all "doc/tags"
***************
*** 199,205 ****
Only for backwards compatibility. It now executes the
ToolBar.FindHelp menu entry instead of using a builtin
dialog. {only when compiled with |+GUI_GTK|}
- {not in Vi}
*:helpt* *:helptags*
*E154* *E150* *E151* *E152* *E153* *E670*
--- 196,201 ----
***************
*** 224,231 ****
To rebuild the help tags in the runtime directory
(requires write permission there): >
:helptags $VIMRUNTIME/doc
- < {not in Vi}
-
==============================================================================
2. Translated help files *help-translated*
--- 220,225 ----
***************
*** 370,373 ****
You can find the details in $VIMRUNTIME/syntax/help.vim
! vim:tw=78:ts=8:ft=help:norl:
--- 364,367 ----
You can find the details in $VIMRUNTIME/syntax/help.vim
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/help.txt 2019-01-17 15:43:21.749878443 +0100
--- runtime/doc/help.txt 2019-01-17 14:55:00.628054659 +0100
***************
*** 1,4 ****
! *help.txt* For Vim version 8.1. Last change: 2017 Oct 28
VIM - main help file
k
--- 1,4 ----
! *help.txt* For Vim version 8.1. Last change: 2019 Jan 17
VIM - main help file
k
***************
*** 10,16 ****
Jump to a subject: Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
With the mouse: ":set mouse=a" to enable the mouse (in xterm or GUI).
Double-click the left mouse button on a tag, e.g. |bars|.
! Jump back: Type CTRL-T or CTRL-O. Repeat to go further back.
Get specific help: It is possible to go directly to whatever you want help
on, by giving an argument to the |:help| command.
--- 10,16 ----
Jump to a subject: Position the cursor on a tag (e.g. |bars|) and hit CTRL-].
With the mouse: ":set mouse=a" to enable the mouse (in xterm or GUI).
Double-click the left mouse button on a tag, e.g. |bars|.
! Jump back: Type CTRL-O. Repeat to go further back.
Get specific help: It is possible to go directly to whatever you want help
on, by giving an argument to the |:help| command.
***************
*** 31,43 ****
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
Vim stands for Vi IMproved. Most of Vim was made by Bram Moolenaar, but only
through the help of many others. See |credits|.
------------------------------------------------------------------------------
*doc-file-list* *Q_ct*
BASIC:
|quickref| Overview of the most common commands you will use
! |tutor| 30 minutes training course for beginners
|copying| About copyrights
|iccf| Helping poor children in Uganda
|sponsor| Sponsor Vim development, become a registered Vim user
--- 31,47 ----
help entries for "word".
Or use ":helpgrep word". |:helpgrep|
+ Getting started: Do the Vim tutor, a 20 minute interactive training for the
+ basic commands, see |vimtutor|.
+ Read the user manual from start to end: |usr_01.txt|
+
Vim stands for Vi IMproved. Most of Vim was made by Bram Moolenaar, but only
through the help of many others. See |credits|.
------------------------------------------------------------------------------
*doc-file-list* *Q_ct*
BASIC:
|quickref| Overview of the most common commands you will use
! |tutor| 20 minutes training course for beginners
|copying| About copyrights
|iccf| Helping poor children in Uganda
|sponsor| Sponsor Vim development, become a registered Vim user
***************
*** 113,119 ****
|scroll.txt| scrolling the text in the window
|insert.txt| Insert and Replace mode
|change.txt| deleting and replacing text
- |indent.txt| automatic indenting for C and other languages
|undo.txt| Undo and Redo
|repeat.txt| repeating commands, Vim scripts and debugging
|visual.txt| using the Visual mode (selecting a text area)
--- 117,122 ----
***************
*** 126,139 ****
|pattern.txt| regexp patterns and search commands
|map.txt| key mapping and abbreviations
|tagsrch.txt| tags and special searches
- |quickfix.txt| commands for a quick edit-compile-fix cycle
|windows.txt| commands for using multiple windows and buffers
|tabpage.txt| commands for using multiple tab pages
- |syntax.txt| syntax highlighting
|spell.txt| spell checking
|diff.txt| working with two to four versions of the same file
|autocmd.txt| automatically executing commands on an event
- |filetype.txt| settings done specifically for a type of file
|eval.txt| expression evaluation, conditional commands
|channel.txt| Jobs, Channels, inter-process communication
|fold.txt| hide (fold) ranges of lines
--- 129,139 ----
***************
*** 143,160 ****
|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
|arabic.txt| Arabic language support and editing
|farsi.txt| Farsi (Persian) editing
|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
GUI ~
|gui.txt| Graphical User Interface (GUI)
--- 143,169 ----
|remote.txt| using Vim as a server or client
|term.txt| using different terminals and mice
|terminal.txt| Terminal window support
+
+ Programming language support ~
+ |indent.txt| automatic indenting for C and other languages
+ |syntax.txt| syntax highlighting
+ |textprop.txt| Attaching properties to text for highlighting or other
+ |filetype.txt| settings done specifically for a type of file
+ |quickfix.txt| commands for a quick edit-compile-fix cycle
+ |ft_ada.txt| Ada (the programming language) support
+ |ft_rust.txt| Filetype plugin for Rust
+ |ft_sql.txt| about the SQL filetype plugin
+
+ Language support ~
|digraph.txt| list of available digraphs
|mbyte.txt| multi-byte text support
|mlang.txt| non-English language support
+ |rileft.txt| right-to-left editing mode
|arabic.txt| Arabic language support and editing
|farsi.txt| Farsi (Persian) editing
|hebrew.txt| Hebrew language support and editing
|russian.txt| Russian language support and editing
|hangulin.txt| Hangul (Korean) input mode
GUI ~
|gui.txt| Graphical User Interface (GUI)
***************
*** 224,227 ****
'compatible'.
------------------------------------------------------------------------------
! vim:tw=78:fo=tcq2:isk=!-~,^*,^\|,^\":ts=8:ft=help:norl:
--- 233,236 ----
'compatible'.
------------------------------------------------------------------------------
! vim:tw=78:isk=!-~,^*,^\|,^\":ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/howto.txt 2018-05-17 13:41:40.000000000 +0200
--- runtime/doc/howto.txt 2018-07-29 14:23:36.363157576 +0200
***************
*** 93,96 ****
|2html.vim| convert a colored file to HTML
|less| use Vim like less or more with syntax highlighting
! vim:tw=78:ts=8:ft=help:norl:
--- 93,96 ----
|2html.vim| convert a colored file to HTML
|less| use Vim like less or more with syntax highlighting
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/if_cscop.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/if_cscop.txt 2019-05-05 17:41:29.350651064 +0200
***************
*** 1,4 ****
! *if_cscop.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Andy Kahn
--- 1,4 ----
! *if_cscop.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Andy Kahn
***************
*** 21,27 ****
7. Availability & Information |cscope-info|
This is currently for Unix and Win32 only.
- {Vi does not have any of these commands}
==============================================================================
1. Cscope introduction *cscope-intro*
--- 21,26 ----
***************
*** 484,487 ****
Win32 support was added by Sergey Khorev <
sergey...@gmail.com>. Contact
him if you have Win32-specific issues.
! vim:tw=78:ts=8:ft=help:norl:
--- 483,486 ----
Win32 support was added by Sergey Khorev <
sergey...@gmail.com>. Contact
him if you have Win32-specific issues.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/if_lua.txt 2019-03-23 13:56:30.189804811 +0100
--- runtime/doc/if_lua.txt 2019-05-05 17:57:40.985303358 +0200
***************
*** 1,4 ****
! *if_lua.txt* For Vim version 8.1. Last change: 2015 Oct 16
VIM REFERENCE MANUAL by Luis Carvalho
--- 1,4 ----
! *if_lua.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Luis Carvalho
***************
*** 17,33 ****
9. luaeval() Vim function |lua-luaeval|
10. Dynamic loading |lua-dynamic|
! {Vi does not have any of these commands}
!
! The Lua interface is available only when Vim was compiled with the
! |+lua| feature.
==============================================================================
1. Commands *lua-commands*
*:lua*
:[range]lua {chunk}
! Execute Lua chunk {chunk}. {not in Vi}
Examples:
>
--- 17,30 ----
9. luaeval() Vim function |lua-luaeval|
10. Dynamic loading |lua-dynamic|
! {only available when Vim was compiled with the |+lua| feature}
==============================================================================
1. Commands *lua-commands*
*:lua*
:[range]lua {chunk}
! Execute Lua chunk {chunk}.
Examples:
>
***************
*** 38,44 ****
:[range]lua << {endmarker}
{script}
{endmarker}
! Execute Lua script {script}. {not in Vi}
Note: This command doesn't work when the Lua
feature wasn't compiled in. To avoid errors, see
|script-here|.
--- 35,41 ----
:[range]lua << {endmarker}
{script}
{endmarker}
! Execute Lua script {script}.
Note: This command doesn't work when the Lua
feature wasn't compiled in. To avoid errors, see
|script-here|.
***************
*** 75,81 ****
If the value returned by the function is a string it
becomes the text of the line in the current turn. The
default for [range] is the whole file: "1,$".
- {not in Vi}
Examples:
>
--- 72,77 ----
***************
*** 89,95 ****
*:luafile*
:[range]luafile {file}
! Execute Lua script in {file}. {not in Vi}
The whole argument is used as a single file name.
Examples:
--- 85,91 ----
*:luafile*
:[range]luafile {file}
! Execute Lua script in {file}.
The whole argument is used as a single file name.
Examples:
*** ../vim-8.1.1279/runtime/doc/if_mzsch.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/if_mzsch.txt 2019-05-05 17:58:07.097159011 +0200
***************
*** 1,4 ****
! *if_mzsch.txt* For Vim version 8.1. Last change: 2017 Oct 08
VIM REFERENCE MANUAL by Sergey Khorev
--- 1,4 ----
! *if_mzsch.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Sergey Khorev
***************
*** 15,24 ****
7. Dynamic loading |mzscheme-dynamic|
8. MzScheme setup |mzscheme-setup|
! {Vi does not have any of these commands}
!
! The MzScheme interface is available only if Vim was compiled with the
! |+mzscheme| feature.
Based on the work of Brent Fulgham.
Dynamic loading added by Sergey Khorev
--- 15,21 ----
7. Dynamic loading |mzscheme-dynamic|
8. MzScheme setup |mzscheme-setup|
! {only available when Vim was compiled with the |+mzscheme| feature}
Based on the work of Brent Fulgham.
Dynamic loading added by Sergey Khorev
***************
*** 40,46 ****
*:mzscheme* *:mz*
:[range]mz[scheme] {stmt}
! Execute MzScheme statement {stmt}. {not in Vi}
:[range]mz[scheme] << {endmarker}
{script}
--- 37,43 ----
*:mzscheme* *:mz*
:[range]mz[scheme] {stmt}
! Execute MzScheme statement {stmt}.
:[range]mz[scheme] << {endmarker}
{script}
***************
*** 51,57 ****
|script-here|.
*:mzfile* *:mzf*
! :[range]mzf[ile] {file} Execute the MzScheme script in {file}. {not in Vi}
All of these commands do essentially the same thing - they execute a piece of
MzScheme code, with the "current range" set to the given line
--- 48,54 ----
|script-here|.
*:mzfile* *:mzf*
! :[range]mzf[ile] {file} Execute the MzScheme script in {file}.
All of these commands do essentially the same thing - they execute a piece of
MzScheme code, with the "current range" set to the given line
***************
*** 312,315 ****
raco pkg install cext-lib # raco ctool command
<
======================================================================
! vim:tw=78:ts=8:sts=4:ft=help:norl:
--- 309,312 ----
raco pkg install cext-lib # raco ctool command
<
======================================================================
! vim:tw=78:ts=8:noet:sts=4:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/if_ole.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/if_ole.txt 2019-05-05 17:42:02.554465232 +0200
***************
*** 1,4 ****
! *if_ole.txt* For Vim version 8.1. Last change: 2008 Aug 16
VIM REFERENCE MANUAL by Paul Moore
--- 1,4 ----
! *if_ole.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Paul Moore
***************
*** 12,21 ****
4. Registration |ole-registration|
5. MS Visual Studio integration |MSVisualStudio|
! {Vi does not have any of these commands}
!
! OLE is only available when compiled with the |+ole| feature. See
! src/if_ole.INSTALL.
An alternative is using the client-server communication |clientserver|.
==============================================================================
--- 12,19 ----
4. Registration |ole-registration|
5. MS Visual Studio integration |MSVisualStudio|
! {only available when compiled with the |+ole| feature. See
! src/if_ole.INSTALL}
An alternative is using the client-server communication |clientserver|.
==============================================================================
***************
*** 202,205 ****
[.Net remarks provided by Dave Fishburn and Brian Sturk]
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 200,203 ----
[.Net remarks provided by Dave Fishburn and Brian Sturk]
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/if_perl.txt 2019-01-12 22:47:01.256088105 +0100
--- runtime/doc/if_perl.txt 2019-05-05 17:58:30.901027316 +0200
***************
*** 1,4 ****
! *if_perl.txt* For Vim version 8.1. Last change: 2017 Nov 24
VIM REFERENCE MANUAL by Sven Verdoolaege
--- 1,4 ----
! *if_perl.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Sven Verdoolaege
***************
*** 11,19 ****
3. Using the Perl interface |perl-using|
4. Dynamic loading |perl-dynamic|
! {Vi does not have any of these commands}
!
! The Perl interface only works when Vim was compiled with the |+perl| feature.
==============================================================================
1. Editing Perl files *perl-editing*
--- 11,17 ----
3. Using the Perl interface |perl-using|
4. Dynamic loading |perl-dynamic|
! {only available when Vim was compiled with the |+perl| feature}
==============================================================================
1. Editing Perl files *perl-editing*
***************
*** 44,51 ****
Sven Verdoolaege <
sk...@breughel.ufsia.ac.be>
Matt Gerassimof
! Perl for MS-Windows can be found at:
http://www.perl.com/
! The ActiveState one should work.
==============================================================================
3. Using the Perl interface *perl-using*
--- 42,50 ----
Sven Verdoolaege <
sk...@breughel.ufsia.ac.be>
Matt Gerassimof
! Perl for MS-Windows (and other platforms) can be found at:
!
http://www.perl.org/
! The ActiveState one should work, Strawberry Perl is a good alternative.
==============================================================================
3. Using the Perl interface *perl-using*
***************
*** 191,197 ****
and inserting line breaks.
*perl-Blob*
! VIM::Blob({expr}) Return Blob literal string 0zXXXX from scalar value.
*perl-SetHeight*
Window->SetHeight({height})
--- 190,196 ----
and inserting line breaks.
*perl-Blob*
! VIM::Blob({expr}) Return |Blob| literal string 0zXXXX from scalar value.
*perl-SetHeight*
Window->SetHeight({height})
***************
*** 306,309 ****
with.
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 305,308 ----
with.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/if_pyth.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/if_pyth.txt 2019-05-04 22:42:16.327312200 +0200
***************
*** 1,4 ****
! *if_pyth.txt* For Vim version 8.1. Last change: 2018 Jan 30
VIM REFERENCE MANUAL by Paul Moore
--- 1,4 ----
! *if_pyth.txt* For Vim version 8.1. Last change: 2019 May 04
VIM REFERENCE MANUAL by Paul Moore
***************
*** 19,26 ****
11. Python X |python_x|
12. Building with Python support |python-building|
- {Vi does not have any of these commands}
-
The Python 2.x interface is available only when Vim was compiled with the
|+python| feature.
The Python 3 interface is available only when Vim was compiled with the
--- 19,24 ----
***************
*** 60,68 ****
endfunction
To see what version of Python you have: >
- :python import sys
:python print(sys.version)
Note: Python is very sensitive to the indenting. Make sure the "class" line
and "EOF" do not have any indent.
--- 58,67 ----
endfunction
To see what version of Python you have: >
: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
and "EOF" do not have any indent.
***************
*** 75,91 ****
None. If a string is returned, it becomes the text of
the line in the current turn. The default for [range]
is the whole file: "1,$".
- {not in Vi}
Examples:
>
:pydo return "%s\t%d" % (line[::-1], len(line))
:pydo if line: return "%4d: %s" % (linenr, line)
<
*:pyfile* *:pyf*
:[range]pyf[ile] {file}
Execute the Python script in {file}. The whole
! argument is used as a single file name. {not in Vi}
Both of these commands do essentially the same thing - they execute a piece of
Python code, with the "current range" |python-range| set to the given line
--- 74,101 ----
None. If a string is returned, it becomes the text of
the line in the current turn. The default for [range]
is the whole file: "1,$".
Examples:
>
:pydo return "%s\t%d" % (line[::-1], len(line))
:pydo if line: return "%4d: %s" % (linenr, line)
<
+ One can use `:pydo` in possible conjunction with `:py` to filter a range using
+ python. For example: >
+
+ :py3 << EOF
+ needle = vim.eval('@a')
+ replacement = vim.eval('@b')
+
+ def py_vim_string_replace(str):
+ return str.replace(needle, replacement)
+ EOF
+ :'<,'>py3do return py_vim_string_replace(line)
+ <
*:pyfile* *:pyf*
:[range]pyf[ile] {file}
Execute the Python script in {file}. The whole
! argument is used as a single file name.
Both of these commands do essentially the same thing - they execute a piece of
Python code, with the "current range" |python-range| set to the given line
***************
*** 98,104 ****
To pass arguments you need to set sys.argv[] explicitly. Example: >
- :python import sys
:python sys.argv = ["foo", "bar"]
:pyfile myscript.py
--- 108,113 ----
***************
*** 168,178 ****
- a dictionary if the Vim expression evaluates to a Vim dictionary
Dictionaries and lists are recursively expanded.
Examples: >
:py text_width = vim.eval("&tw")
! :py str = vim.eval("12+12") # NB result is a string! Use
! # string.atoi() to convert to
! # a number.
!
:py tagList = vim.eval('taglist("eval_expr")')
< The latter will return a python list of python dicts, for instance:
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
--- 177,191 ----
- a dictionary if the Vim expression evaluates to a Vim dictionary
Dictionaries and lists are recursively expanded.
Examples: >
+ :" value of the 'textwidth' option
:py text_width = vim.eval("&tw")
! :
! :" contents of the 'a' register
! :py a_reg = vim.eval("@a")
! :
! :" Result is a string! Use string.atoi() to convert to a number.
! :py str = vim.eval("12+12")
! :
:py tagList = vim.eval('taglist("eval_expr")')
< The latter will return a python list of python dicts, for instance:
[{'cmd': '/^eval_expr(arg, nextcmd)$/', 'static': 0, 'name': ~
***************
*** 924,927 ****
one you prefer, before running configure.
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 937,940 ----
one you prefer, before running configure.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/if_ruby.txt 2019-03-26 22:50:19.147698161 +0100
--- runtime/doc/if_ruby.txt 2019-05-05 17:59:08.636818323 +0200
***************
*** 1,4 ****
! *if_ruby.txt* For Vim version 8.1. Last change: 2018 Mar 15
VIM REFERENCE MANUAL by Shugo Maeda
--- 1,4 ----
! *if_ruby.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Shugo Maeda
***************
*** 14,23 ****
6. rubyeval() Vim function |ruby-rubyeval|
7. Dynamic loading |ruby-dynamic|
- {Vi does not have any of these commands}
*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
! The Ruby interface only works when Vim was compiled with the |+ruby| feature.
The home page for ruby is
http://www.ruby-lang.org/. You can find links for
downloading Ruby there.
--- 14,22 ----
6. rubyeval() Vim function |ruby-rubyeval|
7. Dynamic loading |ruby-dynamic|
*E266* *E267* *E268* *E269* *E270* *E271* *E272* *E273*
! {only available when Vim was compiled with the |+ruby| feature}
The home page for ruby is
http://www.ruby-lang.org/. You can find links for
downloading Ruby there.
***************
*** 248,251 ****
with.
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 247,250 ----
with.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/if_sniff.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/if_sniff.txt 2018-07-29 14:23:36.363157576 +0200
***************
*** 8,11 ****
The SNiFF+ support was removed at patch 7.4.1433. If you want to check it out
sync to before that.
! vim:tw=78:ts=8:ft=help:norl:
--- 8,11 ----
The SNiFF+ support was removed at patch 7.4.1433. If you want to check it out
sync to before that.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/if_tcl.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/if_tcl.txt 2019-05-05 17:59:23.388736552 +0200
***************
*** 1,4 ****
! *if_tcl.txt* For Vim version 8.1. Last change: 2016 Jan 01
VIM REFERENCE MANUAL by Ingo Wilken
--- 1,4 ----
! *if_tcl.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Ingo Wilken
***************
*** 16,24 ****
8. Examples |tcl-examples|
9. Dynamic loading |tcl-dynamic|
! {Vi does not have any of these commands} *E280*
!
! The Tcl interface only works when Vim was compiled with the |+tcl| feature.
WARNING: There are probably still some bugs. Please send bug reports,
comments, ideas etc to <
Ingo....@informatik.uni-oldenburg.de>
--- 16,23 ----
8. Examples |tcl-examples|
9. Dynamic loading |tcl-dynamic|
! *E280*
! {only available when Vim was compiled with the |+tcl| feature}
WARNING: There are probably still some bugs. Please send bug reports,
comments, ideas etc to <
Ingo....@informatik.uni-oldenburg.de>
***************
*** 66,77 ****
possible to add or delete lines using this command.
If {cmd} returns an error, the command is interrupted.
The default for [range] is the whole file: "1,$".
! See |tcl-var-line| and |tcl-var-lnum|. {not in Vi}
*:tclfile* *:tclf*
:tclf[ile] {file} Execute the Tcl script in {file}. This is the same as
":tcl source {file}", but allows file name completion.
- {not in Vi}
Note that Tcl objects (like variables) persist from one command to the next,
--- 65,75 ----
possible to add or delete lines using this command.
If {cmd} returns an error, the command is interrupted.
The default for [range] is the whole file: "1,$".
! See |tcl-var-line| and |tcl-var-lnum|.
*:tclfile* *:tclf*
:tclf[ile] {file} Execute the Tcl script in {file}. This is the same as
":tcl source {file}", but allows file name completion.
Note that Tcl objects (like variables) persist from one command to the next,
***************
*** 544,547 ****
the shared library must match the Tcl version Vim was compiled with.
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 542,545 ----
the shared library must match the Tcl version Vim was compiled with.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/indent.txt 2019-01-31 14:12:52.760076333 +0100
--- runtime/doc/indent.txt 2019-02-21 21:42:02.738685574 +0100
***************
*** 1,4 ****
! *indent.txt* For Vim version 8.1. Last change: 2018 Apr 04
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *indent.txt* For Vim version 8.1. Last change: 2019 Feb 21
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 589,596 ****
user manual.
If you want to write your own indent file, it must set the 'indentexpr'
! option. Setting the 'indentkeys' option is often useful. See the
! $VIMRUNTIME/indent directory for examples.
REMARKS ABOUT SPECIFIC INDENT FILES ~
--- 589,597 ----
user manual.
If you want to write your own indent file, it must set the 'indentexpr'
! option. Setting the 'indentkeys' option is often useful.
! See the $VIMRUNTIME/indent/README.txt file for hints.
! See the $VIMRUNTIME/indent directory for examples.
REMARKS ABOUT SPECIFIC INDENT FILES ~
***************
*** 603,616 ****
These conventions are not universally followed, so the Clojure indent script
offers a few configurable options, listed below.
! If the current vim does not include searchpairpos(), the indent script falls
back to normal 'lisp' indenting, and the following options are ignored.
*g:clojure_maxlines*
! Set maximum scan distance of searchpairpos(). Larger values trade performance
! for correctness when dealing with very long forms. A value of 0 will scan
! without limits.
>
" Default
let g:clojure_maxlines = 100
--- 604,617 ----
These conventions are not universally followed, so the Clojure indent script
offers a few configurable options, listed below.
! If the current vim does not include |searchpairpos()|, the indent script falls
back to normal 'lisp' indenting, and the following options are ignored.
*g:clojure_maxlines*
! Set maximum scan distance of |searchpairpos()|. Larger values trade
! performance for correctness when dealing with very long forms. A value of 0
! will scan without limits.
>
" Default
let g:clojure_maxlines = 100
***************
*** 908,913 ****
--- 909,933 ----
and 'default:' are indented at the same level than the 'switch()' to avoid
meaningless indentation. You can use the above option to return to the
traditional way.
+ -------------
+
+ *PHP_noArrowMatching*
+ By default the indent script will indent multi-line chained calls by matching
+ the position of the '->': >
+
+ $user_name_very_long->name()
+ ->age()
+ ->info();
+
+ You can revert to the classic way of indenting by setting this option to 1: >
+ :let g:PHP_noArrowMatching = 1
+
+ You will obtain the following result: >
+
+ $user_name_very_long->name()
+ ->age()
+ ->info();
+
PYTHON *ft-python-indent*
***************
*** 917,927 ****
that you can change the value of 'shiftwidth' later.
Indent after an open paren: >
! let g:pyindent_open_paren = '&sw * 2'
Indent after a nested paren: >
! let g:pyindent_nested_paren = '&sw'
Indent for a continuation line: >
! let g:pyindent_continue = '&sw * 2'
R *ft-r-indent*
--- 937,957 ----
that you can change the value of 'shiftwidth' later.
Indent after an open paren: >
! let g:pyindent_open_paren = 'shiftwidth() * 2'
Indent after a nested paren: >
! let g:pyindent_nested_paren = 'shiftwidth()'
Indent for a continuation line: >
! let g:pyindent_continue = 'shiftwidth() * 2'
!
! The method uses |searchpair()| to look back for unclosed parenthesis. This
! can sometimes be slow, thus it timeouts after 150 msec. If you notice the
! indenting isn't correct, you can set a larger timeout in msec: >
! let g:pyindent_searchpair_timeout = 500
!
! If looking back for unclosed parenthesis is still too slow, especially during
! a copy-paste operation, or if you don't need indenting inside multi-line
! parentheses, you can completely disable this feature: >
! let g:pyindent_disable_parentheses_indenting = 1
R *ft-r-indent*
***************
*** 960,965 ****
--- 990,1000 ----
paste(x) paste(x)
} }
<
+ The code will be indented after lines that match the pattern
+ `'\(&\||\|+\|-\|\*\|/\|=\|\~\|%\|->\)\s*$'`. If you want indentation after
+ lines that match a different pattern, you should set the appropriate value of
+ `r_indent_op_pattern` in your |vimrc|.
+
SHELL *ft-sh-indent*
***************
*** 1010,1016 ****
indenting width (default is 'shiftwidth'): >
let b:verilog_indent_width = 4
! let b:verilog_indent_width = &sw * 2
In addition, you can turn the verbose mode for debug issue: >
--- 1045,1051 ----
indenting width (default is 'shiftwidth'): >
let b:verilog_indent_width = 4
! let b:verilog_indent_width = shiftwidth() * 2
In addition, you can turn the verbose mode for debug issue: >
***************
*** 1133,1141 ****
For indenting Vim scripts there is one variable that specifies the amount of
indent for a continuation line, a line that starts with a backslash: >
! :let g:vim_indent_cont = &sw * 3
Three times shiftwidth is the default value.
! vim:tw=78:ts=8:ft=help:norl:
--- 1168,1176 ----
For indenting Vim scripts there is one variable that specifies the amount of
indent for a continuation line, a line that starts with a backslash: >
! :let g:vim_indent_cont = shiftwidth() * 3
Three times shiftwidth is the default value.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/index.txt 2019-05-05 15:02:26.176319819 +0200
--- runtime/doc/index.txt 2019-05-05 14:56:42.134251046 +0200
***************
*** 1,4 ****
! *index.txt* For Vim version 8.1. Last change: 2018 Apr 19
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *index.txt* For Vim version 8.1. Last change: 2019 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 17,25 ****
2.3. Square bracket commands |[|
2.4. Commands starting with 'g' |g|
2.5. Commands starting with 'z' |z|
3. Visual mode |visual-index|
4. Command-line editing |ex-edit-index|
! 5. EX commands |ex-cmd-index|
For an overview of options see help.txt |option-list|.
For an overview of built-in functions see |functions|.
--- 17,27 ----
2.3. Square bracket commands |[|
2.4. Commands starting with 'g' |g|
2.5. Commands starting with 'z' |z|
+ 2.6. Operator-pending mode |operator-pending-index|
3. Visual mode |visual-index|
4. Command-line editing |ex-edit-index|
! 5. Terminal-Job mode |terminal-job-index|
! 6. EX commands |ex-cmd-index|
For an overview of options see help.txt |option-list|.
For an overview of built-in functions see |functions|.
***************
*** 166,171 ****
--- 168,187 ----
|i_CTRL-X_s| CTRL-X s spelling suggestions
{not available when compiled without the |+insert_expand| feature}
+ commands in completion mode (see |popupmenu-keys|)
+
+ |complete_CTRL-E| CTRL-E stop completion and go back to original text
+ |complete_CTRL-Y| CTRL-Y accept selected match and stop completion
+ CTRL-L insert one character from the current match
+ <CR> insert currently selected match
+ <BS> delete one character and redo search
+ CTRL-H same as <BS>
+ <Up> select the previous match
+ <Down> select the next match
+ <PageUp> select a match several entries back
+ <PageDown> select a match several entries forward
+ other stop completion and insert the typed character
+
==============================================================================
2. Normal mode *normal-index*
***************
*** 528,537 ****
|CTRL-W_CTRL-]| CTRL-W CTRL-] same as "CTRL-W ]"
|CTRL-W_CTRL-^| CTRL-W CTRL-^ same as "CTRL-W ^"
|CTRL-W_CTRL-_| CTRL-W CTRL-_ same as "CTRL-W _"
- |CTRL-W_quote| CTRL-W " terminal window: paste register
|CTRL-W_+| CTRL-W + increase current window height N lines
|CTRL-W_-| CTRL-W - decrease current window height N lines
- |CTRL-W_.| CTRL-W . terminal window: type CTRL-W
|CTRL-W_:| CTRL-W : same as |:|, edit a command line
|CTRL-W_<| CTRL-W < decrease current window width N columns
|CTRL-W_=| CTRL-W = make all windows the same height & width
--- 544,551 ----
***************
*** 540,546 ****
|CTRL-W_J| CTRL-W J move current window to the very bottom
|CTRL-W_K| CTRL-W K move current window to the very top
|CTRL-W_L| CTRL-W L move current window to the far right
- |CTRL-W_N| CTRL-W N terminal window: go to Terminal Normal mode
|CTRL-W_P| CTRL-W P go to preview window
|CTRL-W_R| CTRL-W R rotate windows upwards N times
|CTRL-W_S| CTRL-W S same as "CTRL-W s"
--- 554,559 ----
***************
*** 570,575 ****
--- 583,590 ----
|CTRL-W_gF| CTRL-W g F edit file name under the cursor in a new
tab page and jump to the line number
following the file name.
+ |CTRL-W_gt| CTRL-W g t same as `gt`: go to next tab page
+ |CTRL-W_gT| CTRL-W g T same as `gT`: go to previous tab page
|CTRL-W_h| CTRL-W h go to Nth left window (stop at first window)
|CTRL-W_i| CTRL-W i split window and jump to declaration of
identifier under the cursor
***************
*** 847,852 ****
--- 862,871 ----
position the cursor at the start (left
side) of the screen
|zt| zt redraw, cursor line at top of window
+ |zuw| zuw undo |zw|
+ |zug| zug undo |zg|
+ |zuW| zuW undo |zW|
+ |zuG| zuG undo |zG|
|zv| zv open enough folds to view the cursor line
|zw| zw mark word as wrong (bad) spelled word
|zx| zx re-apply 'foldlevel' and do "zv"
***************
*** 855,860 ****
--- 874,890 ----
|z<Right>| z<Right> same as "zl"
==============================================================================
+ 2.6 Operator-pending mode *operator-pending-index*
+
+ These can be used after an operator, but before a {motion} has been entered.
+
+ tag char action in Operator-pending mode ~
+ -----------------------------------------------------------------------
+ |o_v| v force operator to work characterwise
+ |o_V| V force operator to work linewise
+ |o_CTRL-V| CTRL-V force operator to work blockwise
+
+ ==============================================================================
3. Visual mode *visual-index*
Most commands in Visual mode are the same as in Normal mode. The ones listed
***************
*** 976,982 ****
"Completion" below refers to context-sensitive completion. It will complete
file names, tags, commands etc. as appropriate.
! tag command action in Command-line editing mode ~
------------------------------------------------------------------------------
CTRL-@ not used
|c_CTRL-A| CTRL-A do completion on the pattern in front of the
--- 1006,1012 ----
"Completion" below refers to context-sensitive completion. It will complete
file names, tags, commands etc. as appropriate.
! tag command action in Command-line editing mode ~
------------------------------------------------------------------------------
CTRL-@ not used
|c_CTRL-A| CTRL-A do completion on the pattern in front of the
***************
*** 1016,1025 ****
command-line from history.
|c_CTRL-Q| CTRL-Q same as CTRL-V, unless it's used for terminal
control flow
! |c_CTRL-R| CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
insert the contents of a register or object
under the cursor as if typed
! |c_CTRL-R_CTRL-R| CTRL-R CTRL-R {0-9a-z"%#*:= CTRL-F CTRL-P CTRL-W CTRL-A}
insert the contents of a register or object
under the cursor literally
CTRL-S (used for terminal control flow)
--- 1046,1056 ----
command-line from history.
|c_CTRL-Q| CTRL-Q same as CTRL-V, unless it's used for terminal
control flow
! |c_CTRL-R| CTRL-R {regname}
insert the contents of a register or object
under the cursor as if typed
! |c_CTRL-R_CTRL-R| CTRL-R CTRL-R {regname}
! |c_CTRL-R_CTRL-O| CTRL-R CTRL-O {regname}
insert the contents of a register or object
under the cursor literally
CTRL-S (used for terminal control flow)
***************
*** 1066,1081 ****
|c_<Insert>| <Insert> toggle insert/overstrike mode
|c_<LeftMouse>| <LeftMouse> cursor at mouse click
You found it, Arthur! *holy-grail* *:smile*
==============================================================================
! 5. EX commands *ex-cmd-index* *:index*
This is a brief but complete listing of all the ":" commands, without
mentioning any arguments. The optional part of the command name is inside [].
The commands are sorted on the non-optional part of their name.
! tag command action ~
------------------------------------------------------------------------------
|:!| :! filter lines or execute an external command
|:!!| :!! repeat last ":!" command
--- 1097,1133 ----
|c_<Insert>| <Insert> toggle insert/overstrike mode
|c_<LeftMouse>| <LeftMouse> cursor at mouse click
+ ==============================================================================
+ 5. Terminal-Job mode *terminal-job-index*
+
+ Most Normal mode commands except for window commands (|CTRL-W|) do not work in
+ a terminal window. Switch to Terminal-Normal mode to use them.
+ This assumes 'termwinkey' is not set.
+
+ tag char action in Terminal-Job mode ~
+ -----------------------------------------------------------------------
+ |t_CTRL-\_CTRL-N| CTRL-\ CTRL-N switch to Terminal-Normal mode
+ |t_CTRL-W_N| CTRL-W N switch to Terminal-Normal mode
+ |t_CTRL-W_:| CTRL-W : enter an Ex command
+ |t_CTRL-W_.| CTRL-W . type CTRL-W in the terminal
+ CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
+ |t_CTRL-W_quote| CTRL-W " {0-9a-z"%#*:=}
+ paste register in the terminal
+ |t_CTRL-W_CTRL-C| CTRL-W CTRL-C forcefully ends the job
+ |t_CTRL-W_CTRL-W| CTRL-W CTRL-W move focus to the next window
+ |t_CTRL-W_gt| CTRL-W gt go to next tabpage, same as `gt`
+ |t_CTRL-W_gT| CTRL-W gT go to previous tabpage, same as `gT`
+
You found it, Arthur! *holy-grail* *:smile*
==============================================================================
! 6. EX commands *ex-cmd-index* *:index*
This is a brief but complete listing of all the ":" commands, without
mentioning any arguments. The optional part of the command name is inside [].
The commands are sorted on the non-optional part of their name.
! tag command action ~
------------------------------------------------------------------------------
|:!| :! filter lines or execute an external command
|:!!| :!! repeat last ":!" command
***************
*** 1465,1472 ****
|:recover| :rec[over] recover a file from a swap file
|:redo| :red[o] redo one undone change
|:redir| :redi[r] redirect messages to a file or register
! |:redraw| :redr[aw] force a redraw of the display
! |:redrawstatus| :redraws[tatus] force a redraw of the status line(s)
|:registers| :reg[isters] display the contents of registers
|:resize| :res[ize] change current window height
|:retab| :ret[ab] change tab size
--- 1517,1525 ----
|:recover| :rec[over] recover a file from a swap file
|:redo| :red[o] redo one undone change
|:redir| :redi[r] redirect messages to a file or register
! |:redraw| :redr[aw] force a redraw of the display
! |:redrawstatus| :redraws[tatus] force a redraw of the status line(s)
! |:redrawtabline| :redrawt[abline] force a redraw of the tabline
|:registers| :reg[isters] display the contents of registers
|:resize| :res[ize] change current window height
|:retab| :ret[ab] change tab size
***************
*** 1506,1512 ****
|:sbrewind| :sbr[ewind] split window and go to first file in the
buffer list
|:scriptnames| :scr[iptnames] list names of all sourced Vim scripts
! |:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
|:scscope| :scs[cope] split window and execute cscope command
|:set| :se[t] show or set options
|:setfiletype| :setf[iletype] set 'filetype', unless it was set already
--- 1559,1566 ----
|:sbrewind| :sbr[ewind] split window and go to first file in the
buffer list
|:scriptnames| :scr[iptnames] list names of all sourced Vim scripts
! |:scriptencoding| :scripte[ncoding] encoding used in sourced Vim script
! |:scriptversion| :scriptv[ersion] version of Vim script used
|:scscope| :scs[cope] split window and execute cscope command
|:set| :se[t] show or set options
|:setfiletype| :setf[iletype] set 'filetype', unless it was set already
***************
*** 1653,1659 ****
argument list
|:wq| :wq write to a file and quit window or Vim
|:wqall| :wqa[ll] write all changed buffers and quit Vim
- |:wsverb| :ws[verb] pass the verb to workshop over IPC
|:wundo| :wu[ndo] write undo information to a file
|:wviminfo| :wv[iminfo] write to viminfo file
|:xit| :x[it] write if buffer changed and quit window or Vim
--- 1707,1712 ----
*** ../vim-8.1.1279/runtime/doc/insert.txt 2019-04-06 13:45:51.564756966 +0200
--- runtime/doc/insert.txt 2019-05-05 17:42:43.198237570 +0200
***************
*** 1,4 ****
! *insert.txt* For Vim version 8.1. Last change: 2018 Feb 10
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *insert.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 62,68 ****
CTRL-@ Insert previously inserted text and stop insert. {Vi: only
when typed as first char, only up to 128 chars}
*i_CTRL-A*
! CTRL-A Insert previously inserted text. {not in Vi}
*i_CTRL-H* *i_<BS>* *i_BS*
<BS> or CTRL-H Delete the character before the cursor (see |i_backspacing|
--- 62,68 ----
CTRL-@ Insert previously inserted text and stop insert. {Vi: only
when typed as first char, only up to 128 chars}
*i_CTRL-A*
! CTRL-A Insert previously inserted text.
*i_CTRL-H* *i_<BS>* *i_BS*
<BS> or CTRL-H Delete the character before the cursor (see |i_backspacing|
***************
*** 75,81 ****
"eol", delete the <EOL>; the next line is appended after the
current one.
See |:fixdel| if your <Del> key does not do what you want.
- {not in Vi}
*i_CTRL-W*
CTRL-W Delete the word before the cursor (see |i_backspacing| about
joining lines). See the section "word motions",
--- 75,80 ----
***************
*** 102,111 ****
key, the code for that key is inserted in <> form. For
example, the string "<S-Space>" can be entered by typing
<C-K><S-Space> (two keys). Neither char is considered for
! mapping. {not in Vi}
! CTRL-N Find next keyword (see |i_CTRL-N|). {not in Vi}
! CTRL-P Find previous keyword (see |i_CTRL-P|). {not in Vi}
CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
Insert the contents of a register. Between typing CTRL-R and
--- 101,110 ----
key, the code for that key is inserted in <> form. For
example, the string "<S-Space>" can be entered by typing
<C-K><S-Space> (two keys). Neither char is considered for
! mapping.
! CTRL-N Find next keyword (see |i_CTRL-N|).
! CTRL-P Find previous keyword (see |i_CTRL-P|).
CTRL-R {0-9a-z"%#*+:.-=} *i_CTRL-R*
Insert the contents of a register. Between typing CTRL-R and
***************
*** 142,148 ****
converted to a String.
When append() or setline() is invoked the undo
sequence will be broken.
! See |registers| about registers. {not in Vi}
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
Insert the contents of a register. Works like using a single
--- 141,147 ----
converted to a String.
When append() or setline() is invoked the undo
sequence will be broken.
! See |registers| about registers.
CTRL-R CTRL-R {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-R*
Insert the contents of a register. Works like using a single
***************
*** 154,160 ****
< Options 'textwidth', 'formatoptions', etc. still apply. If
you also want to avoid these, use CTRL-R CTRL-O, see below.
The '.' register (last inserted text) is still inserted as
! typed. {not in Vi}
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
Insert the contents of a register literally and don't
--- 153,159 ----
< Options 'textwidth', 'formatoptions', etc. still apply. If
you also want to avoid these, use CTRL-R CTRL-O, see below.
The '.' register (last inserted text) is still inserted as
! typed.
CTRL-R CTRL-O {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-O*
Insert the contents of a register literally and don't
***************
*** 163,176 ****
insert the text above the current line, like with `P`.
Does not replace characters!
The '.' register (last inserted text) is still inserted as
! typed. {not in Vi}
CTRL-R CTRL-P {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-P*
Insert the contents of a register literally and fix the
indent, like |[<MiddleMouse>|.
Does not replace characters!
The '.' register (last inserted text) is still inserted as
! typed. {not in Vi}
*i_CTRL-T*
CTRL-T Insert one shiftwidth of indent at the start of the current
--- 162,175 ----
insert the text above the current line, like with `P`.
Does not replace characters!
The '.' register (last inserted text) is still inserted as
! typed.
CTRL-R CTRL-P {0-9a-z"%#*+/:.-=} *i_CTRL-R_CTRL-P*
Insert the contents of a register literally and fix the
indent, like |[<MiddleMouse>|.
Does not replace characters!
The '.' register (last inserted text) is still inserted as
! typed.
*i_CTRL-T*
CTRL-T Insert one shiftwidth of indent at the start of the current
***************
*** 206,217 ****
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
be given to complete words or scroll the window. See
! |i_CTRL-X| and |ins-completion|. {not in Vi}
*i_CTRL-E*
! CTRL-E Insert the character which is below the cursor. {not in Vi}
*i_CTRL-Y*
! CTRL-Y Insert the character which is above the cursor. {not in Vi}
Note that for CTRL-E and CTRL-Y 'textwidth' is not used, to be
able to copy characters from a long line.
--- 205,216 ----
CTRL-X Enter CTRL-X mode. This is a sub-mode where commands can
be given to complete words or scroll the window. See
! |i_CTRL-X| and |ins-completion|.
*i_CTRL-E*
! CTRL-E Insert the character which is below the cursor.
*i_CTRL-Y*
! CTRL-Y Insert the character which is above the cursor.
Note that for CTRL-E and CTRL-Y 'textwidth' is not used, to be
able to copy characters from a long line.
***************
*** 228,234 ****
is set.
Please refer to |rileft.txt| for more information about
right-to-left mode.
- {not in Vi}
Only if compiled with the |+rightleft| feature.
*i_CTRL-^*
--- 227,232 ----
***************
*** 248,261 ****
The language mappings are normally used to type characters
that are different from what the keyboard produces. The
'keymap' option can be used to install a whole number of them.
- {not in Vi}
*i_CTRL-]*
! CTRL-] Trigger abbreviation, without inserting a character. {not in
! Vi}
*i_<Insert>*
! <Insert> Toggle between Insert and Replace mode. {not in Vi}
-----------------------------------------------------------------------
*i_backspacing*
--- 246,257 ----
The language mappings are normally used to type characters
that are different from what the keyboard produces. The
'keymap' option can be used to install a whole number of them.
*i_CTRL-]*
! CTRL-] Trigger abbreviation, without inserting a character.
*i_<Insert>*
! <Insert> Toggle between Insert and Replace mode.
-----------------------------------------------------------------------
*i_backspacing*
***************
*** 379,386 ****
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
! movement (but only if the cursor stays
! within same the line)
-----------------------------------------------------------------------
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
--- 375,382 ----
CTRL-L when 'insertmode' is set: go to Normal mode *i_CTRL-L*
CTRL-G u break undo sequence, start new change *i_CTRL-G_u*
CTRL-G U don't break undo with next left/right cursor *i_CTRL-G_U*
! movement, if the cursor stays within
! same the line
-----------------------------------------------------------------------
Note: If the cursor keys take you out of Insert mode, check the 'noesckeys'
***************
*** 434,444 ****
This makes it possible to use the cursor keys in Insert mode, without breaking
the undo sequence and therefore using |.| (redo) will work as expected.
! Also entering a text like (with the "(" mapping from above): >
Lorem ipsum (dolor
! will be repeatable by the |.|to the expected
Lorem ipsum (dolor)
--- 430,440 ----
This makes it possible to use the cursor keys in Insert mode, without breaking
the undo sequence and therefore using |.| (redo) will work as expected.
! Also entering a text like (with the "(" mapping from above):
Lorem ipsum (dolor
! will be repeatable by using |.| to the expected
Lorem ipsum (dolor)
***************
*** 519,533 ****
character is replaced with several spaces. The result of this is that the
number of characters in the line increases. Backspacing will delete one
space at a time. The original character will be put back for only one space
! that you backspace over (the last one). {Vi does not have the 'expandtab'
! option}
*ins-smarttab*
When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
the beginning of a line and 'tabstop' positions in other places. This means
that often spaces instead of a <Tab> character are inserted. When 'smarttab'
is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
! used for ">>" and the like. {not in Vi}
*ins-softtabstop*
When the 'softtabstop' option is non-zero, a <Tab> inserts 'softtabstop'
--- 515,528 ----
character is replaced with several spaces. The result of this is that the
number of characters in the line increases. Backspacing will delete one
space at a time. The original character will be put back for only one space
! that you backspace over (the last one).
*ins-smarttab*
When the 'smarttab' option is on, a <Tab> inserts 'shiftwidth' positions at
the beginning of a line and 'tabstop' positions in other places. This means
that often spaces instead of a <Tab> character are inserted. When 'smarttab'
is off, a <Tab> always inserts 'tabstop' positions, and 'shiftwidth' is only
! used for ">>" and the like.
*ins-softtabstop*
When the 'softtabstop' option is non-zero, a <Tab> inserts 'softtabstop'
***************
*** 567,580 ****
several spaces. The result of this is that the number of characters in the
line increases. Backspacing will delete one space at a time. The original
character will be put back for only one space that you backspace over (the
! last one). {Vi does not have the 'expandtab' option}
==============================================================================
6. Virtual Replace mode *vreplace-mode* *Virtual-Replace-mode*
Enter Virtual Replace mode with the "gR" command in normal mode.
{not available when compiled without the |+vreplace| feature}
- {Vi does not have Virtual Replace mode}
Virtual Replace mode is similar to Replace mode, but instead of replacing
actual characters in the file, you are replacing screen real estate, so that
--- 562,574 ----
several spaces. The result of this is that the number of characters in the
line increases. Backspacing will delete one space at a time. The original
character will be put back for only one space that you backspace over (the
! last one).
==============================================================================
6. Virtual Replace mode *vreplace-mode* *Virtual-Replace-mode*
Enter Virtual Replace mode with the "gR" command in normal mode.
{not available when compiled without the |+vreplace| feature}
Virtual Replace mode is similar to Replace mode, but instead of replacing
actual characters in the file, you are replacing screen real estate, so that
***************
*** 1079,1085 ****
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().
Other items are ignored.
--- 1073,1080 ----
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()|.
Other items are ignored.
***************
*** 1543,1549 ****
If you wish non-filetype syntax items to also be included, you can use a
regular expression syntax (added in version 13.0 of
! autoload\syntaxcomplete.vim) to add items. Looking at the output from
":syntax list" while editing a PHP file I can see some of these entries: >
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
--- 1538,1544 ----
If you wish non-filetype syntax items to also be included, you can use a
regular expression syntax (added in version 13.0 of
! autoload/syntaxcomplete.vim) to add items. Looking at the output from
":syntax list" while editing a PHP file I can see some of these entries: >
htmlArg,htmlTag,htmlTagName,javaScriptStatement,javaScriptGlobalObjects
***************
*** 1806,1812 ****
the last blank.
*gI*
! gI Insert text in column 1 [count] times. {not in Vi}
*gi*
gi Insert text in the same position as where Insert mode
--- 1801,1807 ----
the last blank.
*gI*
! gI Insert text in column 1 [count] times.
*gi*
gi Insert text in the same position as where Insert mode
***************
*** 1817,1823 ****
but NOT for inserted/deleted characters.
When the |:keepjumps| command modifier is used the |'^|
mark won't be changed.
- {not in Vi}
*o*
o Begin a new line below the cursor and insert text,
--- 1812,1817 ----
***************
*** 1884,1890 ****
script, the insertion only starts after the function
or script is finished.
This command does not work from |:normal|.
- {not in Vi}
*:stopi* *:stopinsert*
:stopi[nsert] Stop Insert mode as soon as possible. Works like
--- 1878,1883 ----
***************
*** 1901,1912 ****
Note that when using this command in a function or
script that the replacement will only start after
the function or script is finished.
- {not in Vi}
*:startgreplace*
:startg[replace][!] Just like |:startreplace|, but use Virtual Replace
mode, like with |gR|.
- {not in Vi}
==============================================================================
10. Inserting a file *inserting-file*
--- 1894,1903 ----
***************
*** 2013,2016 ****
[READ ERRORS] not all of the file could be read
! vim:tw=78:ts=8:ft=help:norl:
--- 2004,2007 ----
[READ ERRORS] not all of the file could be read
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/intro.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/intro.txt 2019-05-05 17:43:22.626016554 +0200
***************
*** 1,4 ****
! *intro.txt* For Vim version 8.1. Last change: 2018 Jan 24
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *intro.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 34,42 ****
is not located in the default place. You can jump to subjects like with tags:
Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
! Throughout this manual the differences between Vi and Vim are mentioned in
! curly braces, like this: {Vi does not have on-line help}. See |vi_diff.txt|
! for a summary of the differences between Vim and Vi.
This manual refers to Vim on various machines. There may be small differences
between different computers and terminals. Besides the remarks given in this
--- 34,40 ----
is not located in the default place. You can jump to subjects like with tags:
Use CTRL-] to jump to a subject under the cursor, use CTRL-T to jump back.
! The differences between Vi and Vim are mentioned in |vi_diff.txt|.
This manual refers to Vim on various machines. There may be small differences
between different computers and terminals. Besides the remarks given in this
***************
*** 52,80 ****
there. For beginners, there is a hands-on |tutor|. To learn using Vim, read
the user manual |usr_toc.txt|.
! *book*
! There are many books on Vi that contain a section for beginners. There are
! two books I can recommend:
!
! "Vim - Vi Improved" by Steve Oualline
!
! This is the very first book completely dedicated to Vim. It is very good for
! beginners. The most often used commands are explained with pictures and
! examples. The less often used commands are also explained, the more advanced
! features are summarized. There is a comprehensive index and a quick
! reference. Parts of this book have been included in the user manual
! |frombook|.
! Published by New Riders Publishing. ISBN: 0735710015
! For more information try one of these:
!
http://iccf-holland.org/click5.html
!
http://www.vim.org/iccf/click5.html
!
! "Learning the Vi editor" by Linda Lamb and Arnold Robbins
!
! This is a book about Vi that includes a chapter on Vim (in the sixth edition).
! The first steps in Vi are explained very well. The commands that Vim adds are
! only briefly mentioned. There is also a German translation.
! Published by O'Reilly. ISBN: 1-56592-426-6.
==============================================================================
2. Vim on the internet *internet*
--- 50,60 ----
there. For beginners, there is a hands-on |tutor|. To learn using Vim, read
the user manual |usr_toc.txt|.
! *book* *books*
! Most books on Vi and Vim contain a section for beginners. Others are spending
! more words on specific functionality. You can find an overview of Vim books
! here:
!
http://iccf-holland.org/vim_books.html
==============================================================================
2. Vim on the internet *internet*
***************
*** 84,92 ****
contain links to the most recent version of Vim. The FAQ is a list of
Frequently Asked Questions. Read this if you have problems.
! Vim home page:
http://www.vim.org/
! Vim FAQ:
http://vimdoc.sf.net/
! Downloading:
ftp://ftp.vim.org/pub/vim/MIRRORS
Usenet News group where Vim is discussed: *news* *usenet*
--- 64,72 ----
contain links to the most recent version of Vim. The FAQ is a list of
Frequently Asked Questions. Read this if you have problems.
! Vim home page:
https://www.vim.org/
! Vim FAQ:
https://vimhelp.appspot.com/vim_faq.txt.html
! Downloading:
https://www.vim.org/download.php
Usenet News group where Vim is discussed: *news* *usenet*
***************
*** 114,123 ****
See
http://www.vim.org/maillist.php for the latest information.
NOTE:
- You can only send messages to these lists if you have subscribed!
- You need to send the messages from the same location as where you subscribed
from (to avoid spam mail).
- - Maximum message size is 40000 characters.
*subscribe-maillist*
If you want to join, send a message to
--- 94,105 ----
See
http://www.vim.org/maillist.php for the latest information.
NOTE:
+ - Anyone can see the archive, e.g. on Google groups. Search this if you have
+ questions.
- You can only send messages to these lists if you have subscribed!
+ - The first message is moderated, thus it may take a few hours to show up.
- You need to send the messages from the same location as where you subscribed
from (to avoid spam mail).
*subscribe-maillist*
If you want to join, send a message to
***************
*** 150,156 ****
Where reproduce.vim is a script that reproduces the problem. Try different
machines, if relevant (is this an MS-Windows specific bug perhaps?).
! Send me patches if you can!
It will help to include information about the version of Vim you are using and
your setup. You can get the information with this command: >
--- 132,141 ----
Where reproduce.vim is a script that reproduces the problem. Try different
machines, if relevant (is this an MS-Windows specific bug perhaps?).
! Send me patches if you can! If you create a pull request on
!
https://github.com/vim/vim then the automated checks will run and report any
! obvious problems. But you can also send the patch by email (use an attachment
! to avoid white space changes).
It will help to include information about the version of Vim you are using and
your setup. You can get the information with this command: >
***************
*** 189,195 ****
==============================================================================
3. Credits *credits* *author* *Bram* *Moolenaar*
! Most of Vim was written by Bram Moolenaar <
Br...@vim.org>.
Parts of the documentation come from several Vi manuals, written by:
W.N. Joy
--- 174,180 ----
==============================================================================
3. Credits *credits* *author* *Bram* *Moolenaar*
! Most of Vim was created by Bram Moolenaar <
Br...@vim.org>.
Parts of the documentation come from several Vi manuals, written by:
W.N. Joy
***************
*** 268,273 ****
--- 253,259 ----
Ken Takata fixes and features
Kazunobu Kuriyama GTK 3
Christian Brabandt many fixes, features, user support, etc.
+ Yegappan Lakshmanan many quickfix features
I wish to thank all the people that sent me bug reports and suggestions. The
list is too long to mention them all here. Vim would not be the same without
***************
*** 280,288 ****
Vi "the original". Without further remarks this is the version
of Vi that appeared in Sun OS 4.x. ":version" returns
"Version 3.7, 6/7/85". Sometimes other versions are referred
! to. Only runs under Unix. Source code only available with a
! license. More information on Vi can be found through:
!
http://vi-editor.org [doesn't currently work...]
*Posix*
Posix From the IEEE standard 1003.2, Part 2: Shell and utilities.
Generally known as "Posix". This is a textual description of
--- 266,274 ----
Vi "the original". Without further remarks this is the version
of Vi that appeared in Sun OS 4.x. ":version" returns
"Version 3.7, 6/7/85". Sometimes other versions are referred
! to. Only runs under Unix. Source code is now available under a
! BSD-style license. More information on Vi can be found through:
!
http://ex-vi.sourceforge.net/
*Posix*
Posix From the IEEE standard 1003.2, Part 2: Shell and utilities.
Generally known as "Posix". This is a textual description of
***************
*** 297,305 ****
Source code is freely available.
*Elvis*
Elvis Another Vi clone, made by Steve Kirkendall. Very compact but isn't
! as flexible as Vim.
! The version used is 2.1. It is still being developed. Source code is
! freely available.
==============================================================================
4. Notation *notation*
--- 283,296 ----
Source code is freely available.
*Elvis*
Elvis Another Vi clone, made by Steve Kirkendall. Very compact but isn't
! as flexible as Vim. Development has stalled, Elvis has left the
! building! Source code is freely available.
! *Neovim*
! Neovim A Vim clone. Forked the Vim source in 2014 and went a different way.
! Very much bound to github and has many more dependencies, making
! development more complex and limiting portability. Code has been
! refactored, resulting in patches not being exchangeable with Vim.
! Supports a remote GUI and integration with scripting languages.
==============================================================================
4. Notation *notation*
***************
*** 595,603 ****
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.
If the 'showmode' option is on "-- (insert) --" is
shown at the bottom of the window.
--- 586,594 ----
If the 'showmode' option is on "-- VREPLACE --" is
shown at the bottom of the window.
! 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.
***************
*** 710,716 ****
like typing ":" commands after another. All command
line editing, completion etc. is available.
Use the ":vi" command |:visual| to exit "Ex" mode.
- {not in Vi}
==============================================================================
7. The window contents *window-contents*
--- 701,706 ----
***************
*** 906,909 ****
6. ~
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 896,899 ----
6. ~
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/map.txt 2019-04-25 21:27:40.566186854 +0200
--- runtime/doc/map.txt 2019-05-05 17:43:30.013975122 +0200
***************
*** 1,4 ****
! *map.txt* For Vim version 8.1. Last change: 2018 May 13
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *map.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 76,82 ****
Map the key sequence {lhs} to {rhs} for the modes
where the map command applies. Disallow mapping of
{rhs}, to avoid nested and recursive mappings. Often
! used to redefine a command. {not in Vi}
:unm[ap] {lhs} |mapmode-nvo| *:unm* *:unmap*
--- 76,82 ----
Map the key sequence {lhs} to {rhs} for the modes
where the map command applies. Disallow mapping of
{rhs}, to avoid nested and recursive mappings. Often
! used to redefine a command.
:unm[ap] {lhs} |mapmode-nvo| *:unm* *:unmap*
***************
*** 110,116 ****
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
:tmapc[lear] |mapmode-t| *:tmapc* *:tmapclear*
Remove ALL mappings for the modes where the map
! command applies. {not in Vi}
Use the <buffer> argument to remove buffer-local
mappings |:map-<buffer>|
Warning: This also removes the default mappings.
--- 110,116 ----
:cmapc[lear] |mapmode-c| *:cmapc* *:cmapclear*
:tmapc[lear] |mapmode-t| *:tmapc* *:tmapclear*
Remove ALL mappings for the modes where the map
! command applies.
Use the <buffer> argument to remove buffer-local
mappings |:map-<buffer>|
Warning: This also removes the default mappings.
***************
*** 143,149 ****
:tma[p] {lhs} |mapmode-t| *:tmap_l*
List the key mappings for the key sequences starting
with {lhs} in the modes where the map command applies.
- {not in Vi}
These commands are used to map a key or key sequence to a string of
characters. You can use this to put command sequences under function keys,
--- 143,148 ----
***************
*** 160,166 ****
that mapping won't get expanded yet, Vim is waiting for another character.
If you type a space, then "foo" will get inserted, plus the space. If you
type "a", then "bar" will get inserted.
- {Vi does not allow ambiguous mappings}
1.2 SPECIAL ARGUMENTS *:map-arguments*
--- 159,164 ----
***************
*** 1016,1060 ****
*:norea* *:noreabbrev*
:norea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
! same as ":ab", but no remapping for this {rhs} {not
! in Vi}
*:ca* *:cabbrev*
:ca[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
! same as ":ab", but for Command-line mode only. {not
! in Vi}
*:cuna* *:cunabbrev*
! :cuna[bbrev] {lhs} same as ":una", but for Command-line mode only. {not
! in Vi}
*:cnorea* *:cnoreabbrev*
:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Command-line mode only and no
! remapping for this {rhs} {not in Vi}
*:ia* *:iabbrev*
:ia[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
! same as ":ab", but for Insert mode only. {not in Vi}
*:iuna* *:iunabbrev*
! :iuna[bbrev] {lhs} same as ":una", but for insert mode only. {not in
! Vi}
*:inorea* *:inoreabbrev*
:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
! same as ":ab", but for Insert mode only and no
! remapping for this {rhs} {not in Vi}
*:abc* *:abclear*
! :abc[lear] [<buffer>] Remove all abbreviations. {not in Vi}
*:iabc* *:iabclear*
! :iabc[lear] [<buffer>] Remove all abbreviations for Insert mode. {not in Vi}
*:cabc* *:cabclear*
! :cabc[lear] [<buffer>] Remove all abbreviations for Command-line mode. {not
! in Vi}
*using_CTRL-V*
It is possible to use special characters in the rhs of an abbreviation.
--- 1014,1053 ----
*:norea* *:noreabbrev*
:norea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
! Same as ":ab", but no remapping for this {rhs}.
*:ca* *:cabbrev*
:ca[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
! Same as ":ab", but for Command-line mode only.
*:cuna* *:cunabbrev*
! :cuna[bbrev] {lhs} Same as ":una", but for Command-line mode only.
*:cnorea* *:cnoreabbrev*
:cnorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
same as ":ab", but for Command-line mode only and no
! remapping for this {rhs}
*:ia* *:iabbrev*
:ia[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
! Same as ":ab", but for Insert mode only.
*:iuna* *:iunabbrev*
! :iuna[bbrev] {lhs} Same as ":una", but for insert mode only.
*:inorea* *:inoreabbrev*
:inorea[bbrev] [<expr>] [<buffer>] [lhs] [rhs]
! Same as ":ab", but for Insert mode only and no
! remapping for this {rhs}.
*:abc* *:abclear*
! :abc[lear] [<buffer>] Remove all abbreviations.
*:iabc* *:iabclear*
! :iabc[lear] [<buffer>] Remove all abbreviations for Insert mode.
*:cabc* *:cabclear*
! :cabc[lear] [<buffer>] Remove all abbreviations for Command-line mode.
*using_CTRL-V*
It is possible to use special characters in the rhs of an abbreviation.
***************
*** 1147,1154 ****
The |:scriptnames| command can be used to see which scripts have been sourced
and what their <SNR> number is.
! This is all {not in Vi} and {not available when compiled without the |+eval|
! feature}.
==============================================================================
4. User-defined commands *user-commands*
--- 1140,1146 ----
The |:scriptnames| command can be used to see which scripts have been sourced
and what their <SNR> number is.
! This is all {not available when compiled without the |+eval| feature}.
==============================================================================
4. User-defined commands *user-commands*
***************
*** 1391,1397 ****
number.
-count=N A count (default N) which is specified either in the line
number position, or as an initial argument (like |:Next|).
! Specifying -count (without a default) acts like -count=0
Note that -range=N and -count=N are mutually exclusive - only one should be
specified.
--- 1383,1389 ----
number.
-count=N A count (default N) which is specified either in the line
number position, or as an initial argument (like |:Next|).
! -count acts like -count=0
Note that -range=N and -count=N are mutually exclusive - only one should be
specified.
***************
*** 1402,1415 ****
relate to arguments, (loaded) buffers, windows or tab pages.
Possible values are (second column is the short name used in listing):
! -addr=lines Range of lines (this is the default)
-addr=arguments arg Range for arguments
-addr=buffers buf Range for buffers (also not loaded buffers)
-addr=loaded_buffers load Range for loaded buffers
-addr=windows win Range for windows
-addr=tabs tab Range for tab pages
-addr=quickfix qf Range for quickfix entries
! -addr=other ? other kind of range
Special cases ~
--- 1394,1409 ----
relate to arguments, (loaded) buffers, windows or tab pages.
Possible values are (second column is the short name used in listing):
! -addr=lines Range of lines (this is the default for -range)
-addr=arguments arg Range for arguments
-addr=buffers buf Range for buffers (also not loaded buffers)
-addr=loaded_buffers load Range for loaded buffers
-addr=windows win Range for windows
-addr=tabs tab Range for tab pages
-addr=quickfix qf Range for quickfix entries
! -addr=other ? other kind of range; can use ".", "$" and "%"
! as with "lines" (this is the default for
! -count)
Special cases ~
***************
*** 1569,1572 ****
invokes the user command, it will run in the context of the script it was
defined in. This matters if |<SID>| is used in a command.
! vim:tw=78:ts=8:ft=help:norl:
--- 1563,1566 ----
invokes the user command, it will run in the context of the script it was
defined in. This matters if |<SID>| is used in a command.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/mbyte.txt 2019-04-28 14:02:25.410687613 +0200
--- runtime/doc/mbyte.txt 2019-04-28 13:51:04.377867566 +0200
***************
*** 1,4 ****
! *mbyte.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
--- 1,4 ----
! *mbyte.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar et al.
***************
*** 14,22 ****
manual.
For changing the language of messages and menus see |mlang.txt|.
- {not available when compiled without the |+multi_byte| feature}
-
-
1. Getting started |mbyte-first|
2. Locale |mbyte-locale|
3. Encoding |mbyte-encoding|
--- 14,19 ----
***************
*** 44,59 ****
languages and it is quite complicated.
- COMPILING
-
- If you already have a compiled Vim program, check if the |+multi_byte| feature
- is included. The |:version| command can be used for this.
-
- If +multi_byte is not included, you should compile Vim with "normal", "big" or
- "huge" features. You can further tune what features are included. See the
- INSTALL files in the source directory.
-
-
LOCALE
First of all, you must make sure your current locale is set correctly. If
--- 41,46 ----
***************
*** 1482,1485 ****
Taro Muraoka <
ko...@tka.att.ne.jp>
Yasuhiro Matsumoto <
ma...@mail.goo.ne.jp>
! vim:tw=78:ts=8:ft=help:norl:
--- 1469,1472 ----
Taro Muraoka <
ko...@tka.att.ne.jp>
Yasuhiro Matsumoto <
ma...@mail.goo.ne.jp>
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/message.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/message.txt 2019-05-05 17:12:07.079736244 +0200
***************
*** 1,4 ****
! *message.txt* For Vim version 8.1. Last change: 2018 Feb 04
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *message.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 557,570 ****
tag. Sometimes this message is not given, even though the tags file is not
properly sorted.
- *E460* >
- The resource fork would be lost (add ! to override)
-
- On the Macintosh (classic), when writing a file, Vim attempts to preserve all
- info about a file, including its resource fork. If this is not possible you
- get this error message. Append "!" to the command name to write anyway (and
- lose the info).
-
*E424* >
Too many different highlighting attributes in use
--- 557,562 ----
***************
*** 711,721 ****
This happens when an Ex command with mandatory argument(s) was executed, but
no argument has been specified.
! *E474* *E475* >
Invalid argument
Invalid argument: {arg}
! An Ex command has been executed, but an invalid argument has been specified.
*E488* >
Trailing characters
--- 703,715 ----
This happens when an Ex command with mandatory argument(s) was executed, but
no argument has been specified.
! *E474* *E475* *E983* >
Invalid argument
Invalid argument: {arg}
+ Duplicate argument: {arg}
! An Ex command or function has been executed, but an invalid argument has been
! specified.
*E488* >
Trailing characters
***************
*** 836,845 ****
G down all the way, until the hit-enter
prompt
! <BS> or k or <Up> one line back (*)
! u up a page (half a screen) (*)
! b or <PageUp> back a screen (*)
! g back to the start (*)
q, <Esc> or CTRL-C stop the listing
: stop the listing and enter a
--- 830,839 ----
G down all the way, until the hit-enter
prompt
! <BS> or k or <Up> one line back
! u up a page (half a screen)
! b or <PageUp> back a screen
! g back to the start
q, <Esc> or CTRL-C stop the listing
: stop the listing and enter a
***************
*** 848,860 ****
the clipboard ("* and "+ registers)
{menu-entry} what the menu is defined to in
Cmdline-mode.
! <LeftMouse> (**) next page
Any other key causes the meaning of the keys to be displayed.
! (*) backwards scrolling is {not in Vi}. Only scrolls back to where messages
! started to scroll.
! (**) Clicking the left mouse button only works:
- For the GUI: in the last line of the screen.
- When 'r' is included in 'mouse' (but then selecting text won't work).
--- 842,852 ----
the clipboard ("* and "+ registers)
{menu-entry} what the menu is defined to in
Cmdline-mode.
! <LeftMouse> next page (*)
Any other key causes the meaning of the keys to be displayed.
! (*) Clicking the left mouse button only works:
- For the GUI: in the last line of the screen.
- When 'r' is included in 'mouse' (but then selecting text won't work).
***************
*** 866,869 ****
This is especially useful if you accidentally typed <Space> at the hit-enter
prompt.
! vim:tw=78:ts=8:ft=help:norl:
--- 858,861 ----
This is especially useful if you accidentally typed <Space> at the hit-enter
prompt.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/mlang.txt 2018-10-06 15:02:53.797052261 +0200
--- runtime/doc/mlang.txt 2019-05-05 17:33:25.429335471 +0200
***************
*** 1,4 ****
! *mlang.txt* For Vim version 8.1. Last change: 2018 May 06
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *mlang.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 17,23 ****
Also see |help-translated| for multi-language help.
- {Vi does not have any of these features}
{not available when compiled without the |+multi_lang| feature}
==============================================================================
--- 17,22 ----
*** ../vim-8.1.1279/runtime/doc/motion.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/motion.txt 2019-05-05 17:33:35.205281824 +0200
***************
*** 1,4 ****
! *motion.txt* For Vim version 8.1. Last change: 2017 Oct 15
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *motion.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 113,119 ****
endif<CR>
Note that when using ":" any motion becomes characterwise exclusive.
!
FORCING A MOTION TO BE LINEWISE, CHARACTERWISE OR BLOCKWISE
When a motion is not of the type you would like to use, you can force another
--- 113,119 ----
endif<CR>
Note that when using ":" any motion becomes characterwise exclusive.
! *forced-motion*
FORCING A MOTION TO BE LINEWISE, CHARACTERWISE OR BLOCKWISE
When a motion is not of the type you would like to use, you can force another
***************
*** 185,191 ****
TEXT column (if possible). Most other commands stay
in the same SCREEN column. <Home> works like "1|",
which differs from "0" when the line starts with a
! <Tab>. {not in Vi}
*^*
^ To the first non-blank character of the line.
--- 185,191 ----
TEXT column (if possible). Most other commands stay
in the same SCREEN column. <Home> works like "1|",
which differs from "0" when the line starts with a
! <Tab>.
*^*
^ To the first non-blank character of the line.
***************
*** 202,208 ****
*g_*
g_ To the last non-blank character of the line and
! [count - 1] lines downward |inclusive|. {not in Vi}
*g0* *g<Home>*
g0 or g<Home> When lines wrap ('wrap' on): To the first character of
--- 202,208 ----
*g_*
g_ To the last non-blank character of the line and
! [count - 1] lines downward |inclusive|.
*g0* *g<Home>*
g0 or g<Home> When lines wrap ('wrap' on): To the first character of
***************
*** 211,217 ****
When lines don't wrap ('wrap' off): To the leftmost
character of the current line that is on the screen.
Differs from "0" when the first character of the line
! is not on the screen. {not in Vi}
*g^*
g^ When lines wrap ('wrap' on): To the first non-blank
--- 211,217 ----
When lines don't wrap ('wrap' off): To the leftmost
character of the current line that is on the screen.
Differs from "0" when the first character of the line
! is not on the screen.
*g^*
g^ When lines wrap ('wrap' on): To the first non-blank
***************
*** 220,231 ****
When lines don't wrap ('wrap' off): To the leftmost
non-blank character of the current line that is on the
screen. Differs from "^" when the first non-blank
! character of the line is not on the screen. {not in
! Vi}
*gm*
gm Like "g0", but half a screenwidth to the right (or as
! much as possible). {not in Vi}
*g$* *g<End>*
g$ or g<End> When lines wrap ('wrap' on): To the last character of
--- 220,230 ----
When lines don't wrap ('wrap' off): To the leftmost
non-blank character of the current line that is on the
screen. Differs from "^" when the first non-blank
! character of the line is not on the screen.
*gm*
gm Like "g0", but half a screenwidth to the right (or as
! much as possible).
*g$* *g<End>*
g$ or g<End> When lines wrap ('wrap' on): To the last character of
***************
*** 240,246 ****
instead of going to the end of the line.
When 'virtualedit' is enabled moves to the end of the
screen line.
- {not in Vi}
*bar*
| To screen column [count] in the current line.
--- 239,244 ----
***************
*** 296,307 ****
gk or *gk* *g<Up>*
g<Up> [count] display lines upward. |exclusive| motion.
Differs from 'k' when lines wrap, and when used with
! an operator, because it's not linewise. {not in Vi}
gj or *gj* *g<Down>*
g<Down> [count] display lines downward. |exclusive| motion.
Differs from 'j' when lines wrap, and when used with
! an operator, because it's not linewise. {not in Vi}
*-*
- <minus> [count] lines upward, on the first non-blank
--- 294,305 ----
gk or *gk* *g<Up>*
g<Up> [count] display lines upward. |exclusive| motion.
Differs from 'k' when lines wrap, and when used with
! an operator, because it's not linewise.
gj or *gj* *g<Down>*
g<Down> [count] display lines downward. |exclusive| motion.
Differs from 'j' when lines wrap, and when used with
! an operator, because it's not linewise.
*-*
- <minus> [count] lines upward, on the first non-blank
***************
*** 320,330 ****
G Goto line [count], default last line, on the first
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
! G is a one of |jump-motions|.
*<C-End>*
<C-End> Goto line [count], default last line, on the last
! character |inclusive|. {not in Vi}
<C-Home> or *gg* *<C-Home>*
gg Goto line [count], default first line, on the first
--- 318,328 ----
G Goto line [count], default last line, on the first
non-blank character |linewise|. If 'startofline' not
set, keep the same column.
! G is one of the |jump-motions|.
*<C-End>*
<C-End> Goto line [count], default last line, on the last
! character |inclusive|.
<C-Home> or *gg* *<C-Home>*
gg Goto line [count], default first line, on the first
***************
*** 342,348 ****
non-blank in the line |linewise|. To compute the new
line number this formula is used:
({count} * number-of-lines + 99) / 100
! See also 'startofline' option. {not in Vi}
:[range]go[to] [count] *:go* *:goto* *go*
[count]go Go to [count] byte in the buffer. Default [count] is
--- 340,346 ----
non-blank in the line |linewise|. To compute the new
line number this formula is used:
({count} * number-of-lines + 99) / 100
! See also 'startofline' option.
:[range]go[to] [count] *:go* *:goto* *go*
[count]go Go to [count] byte in the buffer. Default [count] is
***************
*** 352,358 ****
'fileformat' setting.
Also see the |line2byte()| function, and the 'o'
option in 'statusline'.
- {not in Vi}
{not available when compiled without the
|+byte_offset| feature}
--- 350,355 ----
***************
*** 516,522 ****
without white space, or just the white space. Thus the "inner" commands
always select less text than the "a" commands.
- These commands are {not in Vi}.
These commands are not available when the |+textobjects| feature has been
disabled at compile time.
Also see `gn` and `gN`, operating on the last search pattern.
--- 513,518 ----
***************
*** 780,786 ****
*'A* *'0* *`A* *`0*
'{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the file where it was set (not
! a motion command when in another file). {not in Vi}
*g'* *g'a* *g`* *g`a*
g'{mark} g`{mark}
--- 776,782 ----
*'A* *'0* *`A* *`0*
'{A-Z0-9} `{A-Z0-9} To the mark {A-Z0-9} in the file where it was set (not
! a motion command when in another file).
*g'* *g'a* *g`* *g`a*
g'{mark} g`{mark}
***************
*** 790,807 ****
< jumps to the last known position in a file. See
$VIMRUNTIME/vimrc_example.vim.
Also see |:keepjumps|.
- {not in Vi}
*:marks*
:marks List all the current marks (not a motion command).
The |'(|, |')|, |'{| and |'}| marks are not listed.
The first column has number zero.
! {not in Vi}
*E283*
:marks {arg} List the marks that are mentioned in {arg} (not a
motion command). For example: >
:marks aB
! < to list marks 'a' and 'B'. {not in Vi}
*:delm* *:delmarks*
:delm[arks] {marks} Delete the specified marks. Marks that can be deleted
--- 786,802 ----
< jumps to the last known position in a file. See
$VIMRUNTIME/vimrc_example.vim.
Also see |:keepjumps|.
*:marks*
:marks List all the current marks (not a motion command).
The |'(|, |')|, |'{| and |'}| marks are not listed.
The first column has number zero.
!
*E283*
:marks {arg} List the marks that are mentioned in {arg} (not a
motion command). For example: >
:marks aB
! < to list marks 'a' and 'B'.
*:delm* *:delmarks*
:delm[arks] {marks} Delete the specified marks. Marks that can be deleted
***************
*** 815,825 ****
:delmarks p-z deletes marks in the range p to z
:delmarks ^.[] deletes marks ^ . [ ]
:delmarks \" deletes mark "
- < {not in Vi}
:delm[arks]! Delete all marks for the current buffer, but not marks
A-Z or 0-9.
- {not in Vi}
A mark is not visible in any way. It is just a position in the file that is
remembered. Do not confuse marks with named registers, they are totally
--- 810,818 ----
***************
*** 854,864 ****
*'[* *`[*
'[ `[ To the first character of the previously changed
! or yanked text. {not in Vi}
*']* *`]*
'] `] To the last character of the previously changed or
! yanked text. {not in Vi}
After executing an operator the Cursor is put at the beginning of the text
that was operated upon. After a put command ("p" or "P") the cursor is
--- 847,857 ----
*'[* *`[*
'[ `[ To the first character of the previously changed
! or yanked text.
*']* *`]*
'] `] To the last character of the previously changed or
! yanked text.
After executing an operator the Cursor is put at the beginning of the text
that was operated upon. After a put command ("p" or "P") the cursor is
***************
*** 876,882 ****
'< `< To the first line or character of the last selected
Visual area in the current buffer. For block mode it
may also be the last character in the first line (to
! be able to define the block). {not in Vi}.
*'>* *`>*
'> `> To the last line or character of the last selected
--- 869,875 ----
'< `< To the first line or character of the last selected
Visual area in the current buffer. For block mode it
may also be the last character in the first line (to
! be able to define the block).
*'>* *`>*
'> `> To the last line or character of the last selected
***************
*** 884,890 ****
may also be the first character of the last line (to
be able to define the block). Note that 'selection'
applies, the position may be just after the Visual
! area. {not in Vi}.
*''* *``*
'' `` To the position before the latest jump, or where the
--- 877,883 ----
may also be the first character of the last line (to
be able to define the block). Note that 'selection'
applies, the position may be just after the Visual
! area.
*''* *``*
'' `` To the position before the latest jump, or where the
***************
*** 900,912 ****
Only one position is remembered per buffer, not one
for each window. As long as the buffer is visible in
a window the position won't be changed.
- {not in Vi}.
*'^* *`^*
'^ `^ To the position where the cursor was the last time
when Insert mode was stopped. This is used by the
|gi| command. Not set when the |:keepjumps| command
! modifier was used. {not in Vi}
*'.* *`.*
'. `. To the position where the last change was made. The
--- 893,904 ----
Only one position is remembered per buffer, not one
for each window. As long as the buffer is visible in
a window the position won't be changed.
*'^* *`^*
'^ `^ To the position where the cursor was the last time
when Insert mode was stopped. This is used by the
|gi| command. Not set when the |:keepjumps| command
! modifier was used.
*'.* *`.*
'. `. To the position where the last change was made. The
***************
*** 916,945 ****
command changed. For example when inserting a word,
the position will be on the last character.
To jump to older changes use |g;|.
- {not in Vi}
*'(* *`(*
'( `( To the start of the current sentence, like the |(|
! command. {not in Vi}
*')* *`)*
') `) To the end of the current sentence, like the |)|
! command. {not in Vi}
*'{* *`{*
'{ `{ To the start of the current paragraph, like the |{|
! command. {not in Vi}
*'}* *`}*
'} `} To the end of the current paragraph, like the |}|
! command. {not in Vi}
These commands are not marks themselves, but jump to a mark:
*]'*
]' [count] times to next line with a lowercase mark below
the cursor, on the first non-blank character in the
! line. {not in Vi}
*]`*
]` [count] times to lowercase mark after the cursor. {not
--- 908,936 ----
command changed. For example when inserting a word,
the position will be on the last character.
To jump to older changes use |g;|.
*'(* *`(*
'( `( To the start of the current sentence, like the |(|
! command.
*')* *`)*
') `) To the end of the current sentence, like the |)|
! command.
*'{* *`{*
'{ `{ To the start of the current paragraph, like the |{|
! command.
*'}* *`}*
'} `} To the end of the current paragraph, like the |}|
! command.
These commands are not marks themselves, but jump to a mark:
*]'*
]' [count] times to next line with a lowercase mark below
the cursor, on the first non-blank character in the
! line.
*]`*
]` [count] times to lowercase mark after the cursor. {not
***************
*** 948,958 ****
*['*
[' [count] times to previous line with a lowercase mark
before the cursor, on the first non-blank character in
! the line. {not in Vi}
*[`*
[` [count] times to lowercase mark before the cursor.
- {not in Vi}
:loc[kmarks] {command} *:loc* *:lockmarks*
--- 939,948 ----
*['*
[' [count] times to previous line with a lowercase mark
before the cursor, on the first non-blank character in
! the line.
*[`*
[` [count] times to lowercase mark before the cursor.
:loc[kmarks] {command} *:loc* *:lockmarks*
***************
*** 1019,1051 ****
==============================================================================
8. Jumps *jump-motions*
! A "jump" is one of the following commands: "'", "`", "G", "/", "?", "n",
! "N", "%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H" and
! the commands that start editing a new file. If you make the cursor "jump"
! with one of these commands, the position of the cursor before the jump is
! remembered. You can return to that position with the "''" and "``" command,
! unless the line containing that position was changed or deleted.
*CTRL-O*
CTRL-O Go to [count] Older cursor position in jump list
(not a motion command).
- {not in Vi}
{not available without the |+jumplist| feature}
<Tab> or *CTRL-I* *<Tab>*
CTRL-I Go to [count] newer cursor position in jump list
(not a motion command).
- {not in Vi}
{not available without the |+jumplist| feature}
*:ju* *:jumps*
:ju[mps] Print the jump list (not a motion command).
- {not in Vi}
{not available without the |+jumplist| feature}
*:cle* *:clearjumps*
:cle[arjumps] Clear the jump list of the current window.
- {not in Vi}
{not available without the |+jumplist| feature}
*jumplist*
--- 1009,1038 ----
==============================================================================
8. Jumps *jump-motions*
! A "jump" is a command that normally moves the cursor several lines away. If
! you make the cursor "jump" the position of the cursor before the jump is
! remembered. You can return to that position with the "''" and "``" commands,
! unless the line containing that position was changed or deleted. The
! following commands are "jump" commands: "'", "`", "G", "/", "?", "n", "N",
! "%", "(", ")", "[[", "]]", "{", "}", ":s", ":tag", "L", "M", "H" and the
! commands that start editing a new file.
*CTRL-O*
CTRL-O Go to [count] Older cursor position in jump list
(not a motion command).
{not available without the |+jumplist| feature}
<Tab> or *CTRL-I* *<Tab>*
CTRL-I Go to [count] newer cursor position in jump list
(not a motion command).
{not available without the |+jumplist| feature}
*:ju* *:jumps*
:ju[mps] Print the jump list (not a motion command).
{not available without the |+jumplist| feature}
*:cle* *:clearjumps*
:cle[arjumps] Clear the jump list of the current window.
{not available without the |+jumplist| feature}
*jumplist*
***************
*** 1130,1143 ****
positions go to the oldest change.
If there is no older change an error message is given.
(not a motion command)
- {not in Vi}
{not available without the |+jumplist| feature}
*g,* *E663*
g, Go to [count] newer cursor position in change list.
Just like |g;| but in the opposite direction.
(not a motion command)
- {not in Vi}
{not available without the |+jumplist| feature}
When using a count you jump as far back or forward as possible. Thus you can
--- 1117,1128 ----
***************
*** 1163,1169 ****
*:changes*
:changes Print the change list. A ">" character indicates the
current position. Just after a change it is below the
! newest entry, indicating that "g;" takes you to the
newest entry position. The first column indicates the
count needed to take you to this position. Example:
--- 1148,1154 ----
*:changes*
:changes Print the change list. A ">" character indicates the
current position. Just after a change it is below the
! newest entry, indicating that `g;` takes you to the
newest entry position. The first column indicates the
count needed to take you to this position. Example:
***************
*** 1173,1180 ****
1 14 54 the latest changed line
>
! The "3g;" command takes you to line 9. Then the
! output of ":changes is:
change line col text ~
> 0 9 8 bla bla bla
--- 1158,1165 ----
1 14 54 the latest changed line
>
! The `3g;` command takes you to line 9. Then the
! output of `:changes` is:
change line col text ~
> 0 9 8 bla bla bla
***************
*** 1228,1246 ****
*[(*
[( go to [count] previous unmatched '('.
! |exclusive| motion. {not in Vi}
*[{*
[{ go to [count] previous unmatched '{'.
! |exclusive| motion. {not in Vi}
*])*
]) go to [count] next unmatched ')'.
! |exclusive| motion. {not in Vi}
*]}*
]} go to [count] next unmatched '}'.
! |exclusive| motion. {not in Vi}
The above four commands can be used to go to the start or end of the current
code block. It is like doing "%" on the '(', ')', '{' or '}' at the other
--- 1213,1231 ----
*[(*
[( go to [count] previous unmatched '('.
! |exclusive| motion.
*[{*
[{ go to [count] previous unmatched '{'.
! |exclusive| motion.
*])*
]) go to [count] next unmatched ')'.
! |exclusive| motion.
*]}*
]} go to [count] next unmatched '}'.
! |exclusive| motion.
The above four commands can be used to go to the start or end of the current
code block. It is like doing "%" on the '(', ')', '{' or '}' at the other
***************
*** 1253,1277 ****
similar structured language). When not before the
start of a method, jump to the start or end of the
class. When no '{' is found after the cursor, this is
! an error. |exclusive| motion. {not in Vi}
*]M*
]M Go to [count] next end of a method (for Java or
similar structured language). When not before the end
of a method, jump to the start or end of the class.
When no '}' is found after the cursor, this is an
! error. |exclusive| motion. {not in Vi}
*[m*
[m Go to [count] previous start of a method (for Java or
similar structured language). When not after the
start of a method, jump to the start or end of the
class. When no '{' is found before the cursor this is
! an error. |exclusive| motion. {not in Vi}
*[M*
[M Go to [count] previous end of a method (for Java or
similar structured language). When not after the
end of a method, jump to the start or end of the
class. When no '}' is found before the cursor this is
! an error. |exclusive| motion. {not in Vi}
The above two commands assume that the file contains a class with methods.
The class definition is surrounded in '{' and '}'. Each method in the class
--- 1238,1262 ----
similar structured language). When not before the
start of a method, jump to the start or end of the
class. When no '{' is found after the cursor, this is
! an error. |exclusive| motion.
*]M*
]M Go to [count] next end of a method (for Java or
similar structured language). When not before the end
of a method, jump to the start or end of the class.
When no '}' is found after the cursor, this is an
! error. |exclusive| motion.
*[m*
[m Go to [count] previous start of a method (for Java or
similar structured language). When not after the
start of a method, jump to the start or end of the
class. When no '{' is found before the cursor this is
! an error. |exclusive| motion.
*[M*
[M Go to [count] previous end of a method (for Java or
similar structured language). When not after the
end of a method, jump to the start or end of the
class. When no '}' is found before the cursor this is
! an error. |exclusive| motion.
The above two commands assume that the file contains a class with methods.
The class definition is surrounded in '{' and '}'. Each method in the class
***************
*** 1294,1304 ****
*[#*
[# go to [count] previous unmatched "#if" or "#else".
! |exclusive| motion. {not in Vi}
*]#*
]# go to [count] next unmatched "#else" or "#endif".
! |exclusive| motion. {not in Vi}
These two commands work in C programs that contain #if/#else/#endif
constructs. It brings you to the start or end of the #if/#else/#endif where
--- 1279,1289 ----
*[#*
[# go to [count] previous unmatched "#if" or "#else".
! |exclusive| motion.
*]#*
]# go to [count] next unmatched "#else" or "#endif".
! |exclusive| motion.
These two commands work in C programs that contain #if/#else/#endif
constructs. It brings you to the start or end of the #if/#else/#endif where
***************
*** 1306,1316 ****
*[star* *[/*
[* or [/ go to [count] previous start of a C comment "/*".
! |exclusive| motion. {not in Vi}
*]star* *]/*
]* or ]/ go to [count] next end of a C comment "*/".
! |exclusive| motion. {not in Vi}
*H*
--- 1291,1301 ----
*[star* *[/*
[* or [/ go to [count] previous start of a C comment "/*".
! |exclusive| motion.
*]star* *]/*
]* or ]/ go to [count] next end of a C comment "*/".
! |exclusive| motion.
*H*
***************
*** 1338,1343 ****
<LeftMouse> Moves to the position on the screen where the mouse
click is |exclusive|. See also |<LeftMouse>|. If the
position is in a status line, that window is made the
! active window and the cursor is not moved. {not in Vi}
! vim:tw=78:ts=8:ft=help:norl:
--- 1323,1328 ----
<LeftMouse> Moves to the position on the screen where the mouse
click is |exclusive|. See also |<LeftMouse>|. If the
position is in a status line, that window is made the
! active window and the cursor is not moved.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/netbeans.txt 2019-01-17 15:43:21.749878443 +0100
--- runtime/doc/netbeans.txt 2019-05-05 17:43:35.817942573 +0200
***************
*** 1,4 ****
! *netbeans.txt* For Vim version 8.1. Last change: 2019 Jan 17
VIM REFERENCE MANUAL by Gordon Prieur et al.
--- 1,4 ----
! *netbeans.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Gordon Prieur et al.
***************
*** 24,30 ****
10.4. Obtaining the External Editor Module |obtaining-exted|
10.5. Setting up NetBeans to run with Vim |netbeans-setup|
- {Vi does not have any of these features}
{only available when compiled with the |+netbeans_intg| feature}
==============================================================================
--- 24,29 ----
***************
*** 1017,1020 ****
Editor will only open MIME types specified in this property.
! vim:tw=78:ts=8:ft=help:norl:
--- 1016,1019 ----
Editor will only open MIME types specified in this property.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/options.txt 2019-05-04 21:08:17.115814262 +0200
--- runtime/doc/options.txt 2019-05-05 17:45:04.085447135 +0200
***************
*** 1,4 ****
! *options.txt* For Vim version 8.1. Last change: 2018 May 15
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *options.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 6163,6171 ****
set to half the number of lines in the window when the window size
changes. If you give a count to the CTRL-U or CTRL-D command it will
be used as the new value for 'scroll'. Reset to half the window
! height with ":set scroll=0". {Vi is a bit different: 'scroll' gives
! the number of screen lines instead of file lines, makes a difference
! when lines wrap}
*'scrollbind'* *'scb'* *'noscrollbind'* *'noscb'*
'scrollbind' 'scb' boolean (default off)
--- 6163,6169 ----
set to half the number of lines in the window when the window size
changes. If you give a count to the CTRL-U or CTRL-D command it will
be used as the new value for 'scroll'. Reset to half the window
! height with ":set scroll=0".
*'scrollbind'* *'scb'* *'noscrollbind'* *'noscb'*
'scrollbind' 'scb' boolean (default off)
***************
*** 7787,7793 ****
*'timeoutlen'* *'tm'*
'timeoutlen' 'tm' number (default 1000)
global
! {not in all versions of Vi}
*'ttimeoutlen'* *'ttm'*
'ttimeoutlen' 'ttm' number (default -1, set to 100 in |defaults.vim|)
global
--- 7785,7791 ----
*'timeoutlen'* *'tm'*
'timeoutlen' 'tm' number (default 1000)
global
!
*'ttimeoutlen'* *'ttm'*
'ttimeoutlen' 'ttm' number (default -1, set to 100 in |defaults.vim|)
global
***************
*** 7990,7998 ****
work. See below for how Vim detects this
automatically.
*netterm-mouse*
! netterm NetTerm mouse handling. The mouse generates
"<Esc>}r,c<CR>", where "r,c" are two decimal numbers
! for the row and column.
*dec-mouse*
dec DEC terminal mouse handling. The mouse generates a
rather complex sequence, starting with "<Esc>[".
--- 7988,7997 ----
work. See below for how Vim detects this
automatically.
*netterm-mouse*
! netterm NetTerm mouse handling. A left mouse click generates
"<Esc>}r,c<CR>", where "r,c" are two decimal numbers
! for the row and column. No other mouse events are
! supported.
*dec-mouse*
dec DEC terminal mouse handling. The mouse generates a
rather complex sequence, starting with "<Esc>[".
***************
*** 8653,8659 ****
in a much smarter way, taking care of wrapping lines.
When resizing the Vim window, the value is smaller than 1 or more than
or equal to 'lines' it will be set to 'lines' minus 1.
- {Vi also uses the option to specify the number of displayed lines}
*'winheight'* *'wh'* *E591*
'winheight' 'wh' number (default 1)
--- 8652,8657 ----
*** ../vim-8.1.1279/runtime/doc/os_390.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_390.txt 2018-10-05 19:55:43.013424481 +0200
***************
*** 83,92 ****
ctags out there, that does it right, but we can't be sure. So this seems to
be a permanent restriction.
! - The cscope interface (|cscope|) doesn't work for the version of cscope
! that we use on our mainframe. We have a copy of version 15.0b12, and it
! causes Vim to hang when using the "cscope add" command. I'm guessing that
! the binary format of the cscope database isn't quite what Vim is expecting.
I've tried to port the current version of cscope (15.3) to z/OS, without
much success. If anyone is interested in trying, drop me a line if you
make any progress.
--- 83,92 ----
ctags out there, that does it right, but we can't be sure. So this seems to
be a permanent restriction.
! - The cscope interface (|cscope|) doesn't work for the version of cscope that
! we use on our mainframe. We have a copy of version 15.0b12, and it causes
! Vim to hang when using the "cscope add" command. I'm guessing that the
! binary format of the cscope database isn't quite what Vim is expecting.
I've tried to port the current version of cscope (15.3) to z/OS, without
much success. If anyone is interested in trying, drop me a line if you
make any progress.
***************
*** 131,134 ****
------------------------------------------------------------------------------
! vim:tw=78:fo=tcq2:ts=8:ft=help:norl:
--- 131,134 ----
------------------------------------------------------------------------------
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_amiga.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_amiga.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 144,147 ****
;End VIM
! vim:tw=78:ts=8:ft=help:norl:
--- 144,147 ----
;End VIM
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_beos.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_beos.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 144,150 ****
:version
The normal value is /boot/home/config/share/vim. If you don't like it you can
! set the Vim environment variable to override this, or set 'helpfile' in your
.vimrc: >
:if version >= 500
--- 144,150 ----
:version
The normal value is /boot/home/config/share/vim. If you don't like it you can
! set the VIM environment variable to override this, or set 'helpfile' in your
.vimrc: >
:if version >= 500
***************
*** 317,320 ****
<
rhi...@polder.ubc.kun.nl>
http://polder.ubc.kun.nl/~rhialto/be
! vim:tw=78:ts=8:ft=help:norl:
--- 317,320 ----
<
rhi...@polder.ubc.kun.nl>
http://polder.ubc.kun.nl/~rhialto/be
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_dos.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_dos.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 295,298 ****
option. If it is present, Vim sets the 'shellcmdflag' and 'shellquote' or
'shellxquote' options will be set as described above.
! vim:tw=78:ts=8:ft=help:norl:
--- 295,298 ----
option. If it is present, Vim sets the 'shellcmdflag' and 'shellquote' or
'shellxquote' options will be set as described above.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_mac.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_mac.txt 2019-04-21 16:53:20.542893861 +0200
***************
*** 1,4 ****
! *os_mac.txt* For Vim version 8.1. Last change: 2018 Jan 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
--- 1,4 ----
! *os_mac.txt* For Vim version 8.1. Last change: 2019 Apr 21
VIM REFERENCE MANUAL by Bram Moolenaar et al.
***************
*** 179,182 ****
from hanging at runtime.
! vim:tw=78:ts=8:ft=help:norl:
--- 179,182 ----
from hanging at runtime.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_mint.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_mint.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 36,39 ****
Jens M. Felderhoff, e-mail: <
j...@infko.uni-koblenz.de>
! vim:tw=78:ts=8:ft=help:norl:
--- 36,39 ----
Jens M. Felderhoff, e-mail: <
j...@infko.uni-koblenz.de>
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_msdos.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_msdos.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 12,15 ****
work on older systems.
! vim:tw=78:ts=8:ft=help:norl:
--- 12,15 ----
work on older systems.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_os2.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_os2.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 10,13 ****
The OS/2 support was removed in patch 7.4.1008.
! vim:tw=78:ts=8:ft=help:norl:
--- 10,13 ----
The OS/2 support was removed in patch 7.4.1008.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_qnx.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_qnx.txt 2018-08-08 23:07:19.236325204 +0200
***************
*** 135,138 ****
- Replace usage of fork() with spawn() when launching external
programs.
! vim:tw=78:sw=4:ts=8:ts=8:ft=help:norl:
--- 135,138 ----
- Replace usage of fork() with spawn() when launching external
programs.
! vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_risc.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_risc.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 9,12 ****
If you would like to use Vim on RISC OS get the files from before that patch.
! vim:tw=78:ts=8:ft=help:norl:
--- 9,12 ----
If you would like to use Vim on RISC OS get the files from before that patch.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_unix.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_unix.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 57,60 ****
The file "tools/vim132" is a shell script that can be used to put Vim in 132
column mode on a vt100 and lookalikes.
! vim:tw=78:ts=8:ft=help:norl:
--- 57,60 ----
The file "tools/vim132" is a shell script that can be used to put Vim in 132
column mode on a vt100 and lookalikes.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/os_vms.txt 2019-01-18 22:58:56.427995669 +0100
--- runtime/doc/os_vms.txt 2019-01-29 20:29:32.141523385 +0100
***************
*** 1,4 ****
! *os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 18
VIM REFERENCE MANUAL
--- 1,4 ----
! *os_vms.txt* For Vim version 8.1. Last change: 2019 Jan 29
VIM REFERENCE MANUAL
***************
*** 104,111 ****
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, thefore
! the GTK build is no longer available.
For more advanced questions, please send your problem to Vim on VMS mailing
list <
vim...@polarhome.com>
--- 104,111 ----
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.
For more advanced questions, please send your problem to Vim on VMS mailing
list <
vim...@polarhome.com>
***************
*** 772,780 ****
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
Version 7.4
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
--- 772,780 ----
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
Version 7.4
- Undo: VMS can not handle more than one dot in the filenames use "dir/name" -> "dir/_un_name"
*** ../vim-8.1.1279/runtime/doc/os_win32.txt 2018-05-17 13:41:41.000000000 +0200
--- runtime/doc/os_win32.txt 2018-10-05 19:56:09.269238586 +0200
***************
*** 169,175 ****
==============================================================================
6. Running under Windows 3.1 *win32-win3.1*
! *win32s* *windows-3.1* *gui-w32s*
There was a special version of gvim that runs under Windows 3.1 and 3.11.
Support was removed in patch 7.4.1363.
--- 169,175 ----
==============================================================================
6. Running under Windows 3.1 *win32-win3.1*
! *win32s* *windows-3.1* *gui-w32s* *win16*
There was a special version of gvim that runs under Windows 3.1 and 3.11.
Support was removed in patch 7.4.1363.
***************
*** 303,306 ****
'runtimepath'. For example ~/vimfiles/bitmaps/vim.ico.
! vim:tw=78:fo=tcq2:ts=8:ft=help:norl:
--- 303,306 ----
'runtimepath'. For example ~/vimfiles/bitmaps/vim.ico.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/pattern.txt 2019-05-04 21:08:17.119814244 +0200
--- runtime/doc/pattern.txt 2019-05-05 17:45:17.925369384 +0200
***************
*** 1,4 ****
! *pattern.txt* For Vim version 8.1. Last change: 2018 Mar 13
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *pattern.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 78,101 ****
4. the first non-blank word after the cursor,
in the current line
Only whole keywords are searched for, like with the
! command "/\<keyword\>". |exclusive| {not in Vi}
'ignorecase' is used, 'smartcase' is not.
*#*
# Same as "*", but search backward. The pound sign
(character 163) also works. If the "#" key works as
backspace, try using "stty erase <BS>" before starting
! Vim (<BS> is CTRL-H or a real backspace). {not in Vi}
*gstar*
g* Like "*", but don't put "\<" and "\>" around the word.
This makes the search also find matches that are not a
! whole word. {not in Vi}
*g#*
g# Like "#", but don't put "\<" and "\>" around the word.
This makes the search also find matches that are not a
! whole word. {not in Vi}
*gd*
gd Goto local Declaration. When the cursor is on a local
--- 78,101 ----
4. the first non-blank word after the cursor,
in the current line
Only whole keywords are searched for, like with the
! command "/\<keyword\>". |exclusive|
'ignorecase' is used, 'smartcase' is not.
*#*
# Same as "*", but search backward. The pound sign
(character 163) also works. If the "#" key works as
backspace, try using "stty erase <BS>" before starting
! Vim (<BS> is CTRL-H or a real backspace).
*gstar*
g* Like "*", but don't put "\<" and "\>" around the word.
This makes the search also find matches that are not a
! whole word.
*g#*
g# Like "#", but don't put "\<" and "\>" around the word.
This makes the search also find matches that are not a
! whole word.
*gd*
gd Goto local Declaration. When the cursor is on a local
***************
*** 113,134 ****
searched use the commands listed in |include-search|.
After this command |n| searches forward for the next
match (not backward).
- {not in Vi}
*gD*
gD Goto global Declaration. When the cursor is on a
global variable that is defined in the file, this
command will jump to its declaration. This works just
like "gd", except that the search for the keyword
! always starts in line 1. {not in Vi}
*1gd*
1gd Like "gd", but ignore matches inside a {} block that
! ends before the cursor position. {not in Vi}
*1gD*
1gD Like "gD", but ignore matches inside a {} block that
! ends before the cursor position. {not in Vi}
*CTRL-C*
CTRL-C Interrupt current (search) command. Use CTRL-Break on
--- 113,133 ----
searched use the commands listed in |include-search|.
After this command |n| searches forward for the next
match (not backward).
*gD*
gD Goto global Declaration. When the cursor is on a
global variable that is defined in the file, this
command will jump to its declaration. This works just
like "gd", except that the search for the keyword
! always starts in line 1.
*1gd*
1gd Like "gd", but ignore matches inside a {} block that
! ends before the cursor position.
*1gD*
1gD Like "gD", but ignore matches inside a {} block that
! ends before the cursor position.
*CTRL-C*
CTRL-C Interrupt current (search) command. Use CTRL-Break on
***************
*** 171,177 ****
*search-offset* *{offset}*
These commands search for the specified pattern. With "/" and "?" an
additional offset may be given. There are two types of offsets: line offsets
! and character offsets. {the character offsets are not in Vi}
The offset gives the cursor position relative to the found match:
[num] [num] lines downwards, in column 1
--- 170,176 ----
*search-offset* *{offset}*
These commands search for the specified pattern. With "/" and "?" an
additional offset may be given. There are two types of offsets: line offsets
! and character offsets.
The offset gives the cursor position relative to the found match:
[num] [num] lines downwards, in column 1
***************
*** 409,419 ****
ignoring the actual value of the 'magic' option.
Use of "\M" makes the pattern after it be interpreted as if 'nomagic' is used.
*/\v* */\V*
! Use of "\v" means that in the pattern after it all ASCII characters except
! '0'-'9', 'a'-'z', 'A'-'Z' and '_' have a special meaning. "very magic"
! Use of "\V" means that in the pattern after it only the backslash and the
! terminating character (/ or ?) has a special meaning. "very nomagic"
Examples:
after: \v \m \M \V matches ~
--- 408,418 ----
ignoring the actual value of the 'magic' option.
Use of "\M" makes the pattern after it be interpreted as if 'nomagic' is used.
*/\v* */\V*
! Use of "\v" means that after it, all ASCII characters except '0'-'9', 'a'-'z',
! 'A'-'Z' and '_' have special meaning: "very magic"
! Use of "\V" means that after it, only a backslash and terminating character
! (usually / or ?) have special meaning: "very nomagic"
Examples:
after: \v \m \M \V matches ~
***************
*** 447,476 ****
multi ~
'magic' 'nomagic' matches of the preceding atom ~
|/star| * \* 0 or more as many as possible
! |/\+| \+ \+ 1 or more as many as possible (*)
! |/\=| \= \= 0 or 1 as many as possible (*)
! |/\?| \? \? 0 or 1 as many as possible (*)
!
! |/\{| \{n,m} \{n,m} n to m as many as possible (*)
! \{n} \{n} n exactly (*)
! \{n,} \{n,} at least n as many as possible (*)
! \{,m} \{,m} 0 to m as many as possible (*)
! \{} \{} 0 or more as many as possible (same as *) (*)
!
! |/\{-| \{-n,m} \{-n,m} n to m as few as possible (*)
! \{-n} \{-n} n exactly (*)
! \{-n,} \{-n,} at least n as few as possible (*)
! \{-,m} \{-,m} 0 to m as few as possible (*)
! \{-} \{-} 0 or more as few as possible (*)
*E59*
! |/\@>| \@> \@> 1, like matching a whole pattern (*)
! |/\@=| \@= \@= nothing, requires a match |/zero-width| (*)
! |/\@!| \@! \@! nothing, requires NO match |/zero-width| (*)
! |/\@<=| \@<= \@<= nothing, requires a match behind |/zero-width| (*)
! |/\@<!| \@<! \@<! nothing, requires NO match behind |/zero-width| (*)
!
! (*) {not in Vi}
Overview of ordinary atoms. */ordinary-atom*
--- 446,473 ----
multi ~
'magic' 'nomagic' matches of the preceding atom ~
|/star| * \* 0 or more as many as possible
! |/\+| \+ \+ 1 or more as many as possible
! |/\=| \= \= 0 or 1 as many as possible
! |/\?| \? \? 0 or 1 as many as possible
!
! |/\{| \{n,m} \{n,m} n to m as many as possible
! \{n} \{n} n exactly
! \{n,} \{n,} at least n as many as possible
! \{,m} \{,m} 0 to m as many as possible
! \{} \{} 0 or more as many as possible (same as *)
!
! |/\{-| \{-n,m} \{-n,m} n to m as few as possible
! \{-n} \{-n} n exactly
! \{-n,} \{-n,} at least n as few as possible
! \{-,m} \{-,m} 0 to m as few as possible
! \{-} \{-} 0 or more as few as possible
*E59*
! |/\@>| \@> \@> 1, like matching a whole pattern
! |/\@=| \@= \@= nothing, requires a match |/zero-width|
! |/\@!| \@! \@! nothing, requires NO match |/zero-width|
! |/\@<=| \@<= \@<= nothing, requires a match behind |/zero-width|
! |/\@<!| \@<! \@<! nothing, requires NO match behind |/zero-width|
Overview of ordinary atoms. */ordinary-atom*
***************
*** 499,505 ****
|/\%c| \%23c \%23c in column 23 |/zero-width|
|/\%v| \%23v \%23v in virtual column 23 |/zero-width|
! Character classes {not in Vi}: */character-classes*
magic nomagic matches ~
|/\i| \i \i identifier character (see 'isident' option)
|/\I| \I \I like "\i", but excluding digits
--- 496,502 ----
|/\%c| \%23c \%23c in column 23 |/zero-width|
|/\%v| \%23v \%23v in virtual column 23 |/zero-width|
! Character classes: */character-classes*
magic nomagic matches ~
|/\i| \i \i identifier character (see 'isident' option)
|/\I| \I \I like "\i", but excluding digits
***************
*** 538,544 ****
|/\b| \b \b <BS>
|/\n| \n \n end-of-line
|/~| ~ \~ last given substitute string
! |/\1| \1 \1 same string as matched by first \(\) {not in Vi}
|/\2| \2 \2 Like "\1", but uses second \(\)
...
|/\9| \9 \9 Like "\1", but uses ninth \(\)
--- 535,541 ----
|/\b| \b \b <BS>
|/\n| \n \n end-of-line
|/~| ~ \~ last given substitute string
! |/\1| \1 \1 same string as matched by first \(\)
|/\2| \2 \2 Like "\1", but uses second \(\)
...
|/\9| \9 \9 Like "\1", but uses ninth \(\)
***************
*** 616,635 ****
character at a time.
*/\+*
! \+ Matches 1 or more of the preceding atom, as many as possible. {not in
! Vi}
Example matches ~
^.\+$ any non-empty line
\s\+ white space of at least one character
*/\=*
! \= Matches 0 or 1 of the preceding atom, as many as possible. {not in Vi}
Example matches ~
foo\= "fo" and "foo"
*/\?*
\? Just like \=. Cannot be used when searching backwards with the "?"
! command. {not in Vi}
*/\{* *E60* *E554* *E870*
\{n,m} Matches n to m of the preceding atom, as many as possible
--- 613,631 ----
character at a time.
*/\+*
! \+ Matches 1 or more of the preceding atom, as many as possible.
Example matches ~
^.\+$ any non-empty line
\s\+ white space of at least one character
*/\=*
! \= Matches 0 or 1 of the preceding atom, as many as possible.
Example matches ~
foo\= "fo" and "foo"
*/\?*
\? Just like \=. Cannot be used when searching backwards with the "?"
! command.
*/\{* *E60* *E554* *E870*
\{n,m} Matches n to m of the preceding atom, as many as possible
***************
*** 643,649 ****
\{-n,} matches at least n of the preceding atom, as few as possible
\{-,m} matches 0 to m of the preceding atom, as few as possible
\{-} matches 0 or more of the preceding atom, as few as possible
- {Vi does not have any of these}
n and m are positive decimal numbers or zero
*non-greedy*
--- 639,644 ----
***************
*** 666,672 ****
The } may optionally be preceded with a backslash: \{n,m\}.
*/\@=*
! \@= Matches the preceding atom with zero width. {not in Vi}
Like "(?=pattern)" in Perl.
Example matches ~
foo\(bar\)\@= "foo" in "foobar"
--- 661,667 ----
The } may optionally be preceded with a backslash: \{n,m\}.
*/\@=*
! \@= Matches the preceding atom with zero width.
Like "(?=pattern)" in Perl.
Example matches ~
foo\(bar\)\@= "foo" in "foobar"
***************
*** 686,692 ****
*/\@!*
\@! Matches with zero width if the preceding atom does NOT match at the
! current position. |/zero-width| {not in Vi}
Like "(?!pattern)" in Perl.
Example matches ~
foo\(bar\)\@! any "foo" not followed by "bar"
--- 681,687 ----
*/\@!*
\@! Matches with zero width if the preceding atom does NOT match at the
! current position. |/zero-width|
Like "(?!pattern)" in Perl.
Example matches ~
foo\(bar\)\@! any "foo" not followed by "bar"
***************
*** 716,722 ****
*/\@<=*
\@<= Matches with zero width if the preceding atom matches just before what
! follows. |/zero-width| {not in Vi}
Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
Example matches ~
\(an\_s\+\)\@<=file "file" after "an" and white space or an
--- 711,717 ----
*/\@<=*
\@<= Matches with zero width if the preceding atom matches just before what
! follows. |/zero-width|
Like "(?<=pattern)" in Perl, but Vim allows non-fixed-width patterns.
Example matches ~
\(an\_s\+\)\@<=file "file" after "an" and white space or an
***************
*** 760,766 ****
\@<! Matches with zero width if the preceding atom does NOT match just
before what follows. Thus this matches if there is no position in the
current or previous line where the atom matches such that it ends just
! before what follows. |/zero-width| {not in Vi}
Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
The match with the preceding atom is made to end just before the match
with what follows, thus an atom that ends in ".*" will work.
--- 755,761 ----
\@<! Matches with zero width if the preceding atom does NOT match just
before what follows. Thus this matches if there is no position in the
current or previous line where the atom matches such that it ends just
! before what follows. |/zero-width|
Like "(?<!pattern)" in Perl, but Vim allows non-fixed-width patterns.
The match with the preceding atom is made to end just before the match
with what follows, thus an atom that ends in ".*" will work.
***************
*** 776,782 ****
slow.
*/\@>*
! \@> Matches the preceding atom like matching a whole pattern. {not in Vi}
Like "(?>pattern)" in Perl.
Example matches ~
\(a*\)\@>a nothing (the "a*" takes all the "a"'s, there can't be
--- 771,777 ----
slow.
*/\@>*
! \@> Matches the preceding atom like matching a whole pattern.
Like "(?>pattern)" in Perl.
Example matches ~
\(a*\)\@>a nothing (the "a*" takes all the "a"'s, there can't be
***************
*** 855,861 ****
/\(.\{-}\zsFab\)\{3}
< Finds the third occurrence of "Fab".
This cannot be followed by a multi. *E888*
! {not in Vi} {not available when compiled without the |+syntax| feature}
*/\ze*
\ze Matches at any position, and sets the end of the match there: The
previous char is the last char of the whole match. |/zero-width|
--- 850,856 ----
/\(.\{-}\zsFab\)\{3}
< Finds the third occurrence of "Fab".
This cannot be followed by a multi. *E888*
! {not available when compiled without the |+syntax| feature}
*/\ze*
\ze Matches at any position, and sets the end of the match there: The
previous char is the last char of the whole match. |/zero-width|
***************
*** 864,880 ****
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
"endfor".
This cannot be followed by a multi. |E888|
! {not in Vi} {not available when compiled without the |+syntax| feature}
*/\%^* *start-of-file*
\%^ Matches start of the file. When matching with a string, matches the
! start of the string. {not in Vi}
For example, to find the first "VIM" in a file: >
/\%^\_.\{-}\zsVIM
<
*/\%$* *end-of-file*
\%$ Matches end of the file. When matching with a string, matches the
! end of the string. {not in Vi}
Note that this does NOT find the last "VIM" in a file: >
/VIM\_.\{-}\%$
< It will find the next VIM, because the part after it will always
--- 859,875 ----
Example: "end\ze\(if\|for\)" matches the "end" in "endif" and
"endfor".
This cannot be followed by a multi. |E888|
! {not available when compiled without the |+syntax| feature}
*/\%^* *start-of-file*
\%^ Matches start of the file. When matching with a string, matches the
! start of the string.
For example, to find the first "VIM" in a file: >
/\%^\_.\{-}\zsVIM
<
*/\%$* *end-of-file*
\%$ Matches end of the file. When matching with a string, matches the
! end of the string.
Note that this does NOT find the last "VIM" in a file: >
/VIM\_.\{-}\%$
< It will find the next VIM, because the part after it will always
***************
*** 898,904 ****
*/\%#* *cursor-position*
\%# Matches with the cursor position. Only works when matching in a
! buffer displayed in a window. {not in Vi}
WARNING: When the cursor is moved after the pattern was used, the
result becomes invalid. Vim doesn't automatically update the matches.
This is especially relevant for syntax highlighting and 'hlsearch'.
--- 893,899 ----
*/\%#* *cursor-position*
\%# Matches with the cursor position. Only works when matching in a
! buffer displayed in a window.
WARNING: When the cursor is moved after the pattern was used, the
result becomes invalid. Vim doesn't automatically update the matches.
This is especially relevant for syntax highlighting and 'hlsearch'.
***************
*** 919,925 ****
< Note that two dots are required to include mark 'e in the match. That
is because "\%<'e" matches at the character before the 'e mark, and
since it's a |/zero-width| match it doesn't include that character.
- {not in Vi}
WARNING: When the mark is moved after the pattern was used, the result
becomes invalid. Vim doesn't automatically update the matches.
Similar to moving the cursor for "\%#" |/\%#|.
--- 914,919 ----
***************
*** 929,935 ****
\%<23l Matches above a specific line (lower line number).
\%>23l Matches below a specific line (higher line number).
These three can be used to match specific lines in a buffer. The "23"
! can be any line number. The first line is 1. {not in Vi}
WARNING: When inserting or deleting lines Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
wrong.
--- 923,929 ----
\%<23l Matches above a specific line (lower line number).
\%>23l Matches below a specific line (higher line number).
These three can be used to match specific lines in a buffer. The "23"
! can be any line number. The first line is 1.
WARNING: When inserting or deleting lines Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
wrong.
***************
*** 945,951 ****
These three can be used to match specific columns in a buffer or
string. The "23" can be any column number. The first column is 1.
Actually, the column is the byte number (thus it's not exactly right
! for multi-byte characters). {not in Vi}
WARNING: When inserting or deleting text Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
wrong.
--- 939,945 ----
These three can be used to match specific columns in a buffer or
string. The "23" can be any column number. The first column is 1.
Actually, the column is the byte number (thus it's not exactly right
! for multi-byte characters).
WARNING: When inserting or deleting text Vim does not automatically
update the matches. This means Syntax highlighting quickly becomes
wrong.
***************
*** 967,973 ****
The "23" can be any column number. The first column is 1.
Note that some virtual column positions will never match, because they
are halfway through a tab or other character that occupies more than
! one screen character. {not in Vi}
WARNING: When inserting or deleting text Vim does not automatically
update highlighted matches. This means Syntax highlighting quickly
becomes wrong.
--- 961,967 ----
The "23" can be any column number. The first column is 1.
Note that some virtual column positions will never match, because they
are halfway through a tab or other character that occupies more than
! one screen character.
WARNING: When inserting or deleting text Vim does not automatically
update highlighted matches. This means Syntax highlighting quickly
becomes wrong.
***************
*** 990,996 ****
where ".*" matches zero characters.
<
! Character classes: {not in Vi}
\i identifier character (see 'isident' option) */\i*
\I like "\i", but excluding digits */\I*
\k keyword character (see 'iskeyword' option) */\k*
--- 984,990 ----
where ".*" matches zero characters.
<
! Character classes:
\i identifier character (see 'isident' option) */\i*
\I like "\i", but excluding digits */\I*
\k keyword character (see 'iskeyword' option) */\k*
***************
*** 1050,1056 ****
*E51* *E54* *E55* *E872* *E873*
\1 Matches the same string that was matched by */\1* *E65*
! the first sub-expression in \( and \). {not in Vi}
Example: "\([a-z]\).\1" matches "ata", "ehe", "tot", etc.
\2 Like "\1", but uses second sub-expression, */\2*
... */\3*
--- 1044,1050 ----
*E51* *E54* *E55* *E872* *E873*
\1 Matches the same string that was matched by */\1* *E65*
! the first sub-expression in \( and \).
Example: "\([a-z]\).\1" matches "ata", "ehe", "tot", etc.
\2 Like "\1", but uses second sub-expression, */\2*
... */\3*
***************
*** 1062,1068 ****
\%(\) A pattern enclosed by escaped parentheses. */\%(\)* */\%(* *E53*
Just like \(\), but without counting it as a sub-expression. This
allows using more groups and it's a little bit faster.
- {not in Vi}
x A single character, with no special meaning, matches itself
--- 1056,1061 ----
***************
*** 1146,1152 ****
The "Func" column shows what library function is used. The
implementation depends on the system. Otherwise:
(1) Uses islower() for ASCII and Vim builtin rules for other
! characters when built with the |+multi_byte| feature.
(2) Uses Vim builtin rules
(3) As with (1) but using isupper()
*/[[=* *[==]*
--- 1139,1145 ----
The "Func" column shows what library function is used. The
implementation depends on the system. Otherwise:
(1) Uses islower() for ASCII and Vim builtin rules for other
! characters.
(2) Uses Vim builtin rules
(3) As with (1) but using isupper()
*/[[=* *[==]*
***************
*** 1163,1169 ****
backslash before it: "[xyz\]]", "[\^xyz]", "[xy\-z]" and "[xyz\\]".
(Note: POSIX does not support the use of a backslash this way). For
']' you can also make it the first character (following a possible
! "^"): "[]xyz]" or "[^]xyz]" {not in Vi}.
For '-' you can also make it the first or last character: "[-xyz]",
"[^-xyz]" or "[xyz-]". For '\' you can also let it be followed by
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
--- 1156,1162 ----
backslash before it: "[xyz\]]", "[\^xyz]", "[xy\-z]" and "[xyz\\]".
(Note: POSIX does not support the use of a backslash this way). For
']' you can also make it the first character (following a possible
! "^"): "[]xyz]" or "[^]xyz]".
For '-' you can also make it the first or last character: "[-xyz]",
"[^-xyz]" or "[xyz-]". For '\' you can also let it be followed by
any character that's not in "^]-\bdertnoUux". "[\xyz]" matches '\',
***************
*** 1172,1178 ****
- Omitting the trailing ] is not considered an error. "[]" works like
"[]]", it matches the ']' character.
- The following translations are accepted when the 'l' flag is not
! included in 'cpoptions' {not in Vi}:
\e <Esc>
\t <Tab>
\r <CR> (NOT end-of-line!)
--- 1165,1171 ----
- Omitting the trailing ] is not considered an error. "[]" works like
"[]]", it matches the ']' character.
- The following translations are accepted when the 'l' flag is not
! included in 'cpoptions':
\e <Esc>
\t <Tab>
\r <CR> (NOT end-of-line!)
***************
*** 1222,1228 ****
\%u20AC Matches the character specified with up to four hexadecimal
characters.
\%U1234abcd Matches the character specified with up to eight hexadecimal
! characters.
==============================================================================
7. Ignoring case in a pattern */ignorecase*
--- 1215,1221 ----
\%u20AC Matches the character specified with up to four hexadecimal
characters.
\%U1234abcd Matches the character specified with up to eight hexadecimal
! characters, up to 0x7fffffff
==============================================================================
7. Ignoring case in a pattern */ignorecase*
***************
*** 1253,1259 ****
"CTRL-V 000". This is probably just what you expect. Internally the
character is replaced with a <NL> in the search pattern. What is unusual is
that typing CTRL-V CTRL-J also inserts a <NL>, thus also searches for a <Nul>
! in the file. {Vi cannot handle <Nul> characters in the file at all}
*CR-used-for-NL*
When 'fileformat' is "mac", <NL> characters in the file are stored as <CR>
--- 1246,1252 ----
"CTRL-V 000". This is probably just what you expect. Internally the
character is replaced with a <NL> in the search pattern. What is unusual is
that typing CTRL-V CTRL-J also inserts a <NL>, thus also searches for a <Nul>
! in the file.
*CR-used-for-NL*
When 'fileformat' is "mac", <NL> characters in the file are stored as <CR>
***************
*** 1431,1434 ****
":2match" for another plugin.
! vim:tw=78:ts=8:ft=help:norl:
--- 1424,1427 ----
":2match" for another plugin.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/pi_getscript.txt 2018-05-17 13:41:49.000000000 +0200
--- runtime/doc/pi_getscript.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 479,482 ****
and they became numbers. Fixes comparison.
==============================================================================
! vim:tw=78:ts=8:ft=help:fdm=marker
--- 479,482 ----
and they became numbers. Fixes comparison.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:fdm=marker
*** ../vim-8.1.1279/runtime/doc/pi_gzip.txt 2018-05-17 13:41:55.000000000 +0200
--- runtime/doc/pi_gzip.txt 2019-05-05 17:45:27.805313884 +0200
***************
*** 1,4 ****
! *pi_gzip.txt* For Vim version 8.1. Last change: 2016 Nov 06
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *pi_gzip.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 13,20 ****
You can avoid loading this plugin by setting the "loaded_gzip" variable: >
:let loaded_gzip = 1
- {Vi does not have any of this}
-
==============================================================================
1. Autocommands *gzip-autocmd*
--- 13,18 ----
***************
*** 40,43 ****
decompression. You have to rename the file if you want this.
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 38,41 ----
decompression. You have to rename the file if you want this.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/pi_logipat.txt 2016-12-12 23:11:48.000000000 +0100
--- runtime/doc/pi_logipat.txt 2018-07-29 14:23:36.367157551 +0200
***************
*** 118,121 ****
==============================================================================
! vim:tw=78:ts=8:ft=help
--- 118,121 ----
==============================================================================
! vim:tw=78:ts=8:noet:ft=help
*** ../vim-8.1.1279/runtime/doc/pi_netrw.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/pi_netrw.txt 2019-05-05 17:45:35.061273108 +0200
***************
*** 1,4 ****
! *pi_netrw.txt* For Vim version 8.1. Last change: 2017 Nov 03
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
--- 1,4 ----
! *pi_netrw.txt* For Vim version 8.1. Last change: 2019 May 05
------------------------------------------------
NETRW REFERENCE MANUAL by Charles E. Campbell
***************
*** 114,121 ****
13. Todo..................................................|netrw-todo|
14. Credits...............................................|netrw-credits|
- {Vi does not have any of this}
-
==============================================================================
2. Starting With Netrw *netrw-start* {{{1
--- 114,119 ----
***************
*** 3504,3510 ****
- Click "Add..."
- Set External Editor (adjust path as needed, include
the quotes and !.! at the end):
! "c:\Program Files\Vim\vim70\gvim.exe" !.!
- Check that the filetype in the box below is
{asterisk}.{asterisk} (all files), or whatever types
you want (cec: change {asterisk} to * ; I had to
--- 3502,3508 ----
- Click "Add..."
- Set External Editor (adjust path as needed, include
the quotes and !.! at the end):
! "c:\Program Files\Vim\vim81\gvim.exe" !.!
- Check that the filetype in the box below is
{asterisk}.{asterisk} (all files), or whatever types
you want (cec: change {asterisk} to * ; I had to
***************
*** 3754,3761 ****
The <netrw.vim> script is typically installed on systems as something like:
>
! /usr/local/share/vim/vim7x/plugin/netrwPlugin.vim
! /usr/local/share/vim/vim7x/autoload/netrw.vim
(see output of :echo &rtp)
<
which is loaded automatically at startup (assuming :set nocp). If you
--- 3752,3759 ----
The <netrw.vim> script is typically installed on systems as something like:
>
! /usr/local/share/vim/vim8x/plugin/netrwPlugin.vim
! /usr/local/share/vim/vim8x/autoload/netrw.vim
(see output of :echo &rtp)
<
which is loaded automatically at startup (assuming :set nocp). If you
***************
*** 4267,4270 ****
==============================================================================
Modelines: {{{1
! vim:tw=78:ts=8:ft=help:norl:fdm=marker
--- 4265,4268 ----
==============================================================================
Modelines: {{{1
! vim:tw=78:ts=8:noet:ft=help:norl:fdm=marker
*** ../vim-8.1.1279/runtime/doc/pi_paren.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/pi_paren.txt 2018-07-29 14:23:36.371157528 +0200
***************
*** 57,60 ****
different mechanism.
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 57,60 ----
different mechanism.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/pi_spec.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/pi_spec.txt 2018-07-29 14:23:36.371157528 +0200
***************
*** 108,111 ****
Good luck!!
! vim:tw=78:ts=8:ft=help:norl:
--- 108,111 ----
Good luck!!
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/pi_tar.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/pi_tar.txt 2018-07-29 14:23:36.371157528 +0200
***************
*** 148,151 ****
v1 (original) * Michael Toren (see
http://michael.toren.net/code/)
==============================================================================
! vim:tw=78:ts=8:ft=help
--- 148,151 ----
v1 (original) * Michael Toren (see
http://michael.toren.net/code/)
==============================================================================
! vim:tw=78:ts=8:noet:ft=help
*** ../vim-8.1.1279/runtime/doc/pi_vimball.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/pi_vimball.txt 2018-07-29 14:23:36.371157528 +0200
***************
*** 273,276 ****
==============================================================================
! vim:tw=78:ts=8:ft=help:fdm=marker
--- 273,276 ----
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:fdm=marker
*** ../vim-8.1.1279/runtime/doc/pi_zip.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/pi_zip.txt 2018-07-29 14:23:36.371157528 +0200
***************
*** 149,152 ****
v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
==============================================================================
! vim:tw=78:ts=8:ft=help:fdm=marker
--- 149,152 ----
v1 Sep 15, 2005 * Initial release, had browsing, reading, and writing
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:fdm=marker
*** ../vim-8.1.1279/runtime/doc/print.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/print.txt 2019-05-05 17:45:42.337232214 +0200
***************
*** 1,4 ****
! *print.txt* For Vim version 8.1. Last change: 2010 Jul 20
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *print.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 15,21 ****
7. PostScript Utilities |postscript-print-util|
8. Formfeed Characters |printing-formfeed|
- {Vi has None of this}
{only available when compiled with the |+printer| feature}
==============================================================================
--- 15,20 ----
***************
*** 46,51 ****
--- 45,52 ----
'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
***************
*** 109,118 ****
replaced with '-' signs.
If 'printencoding' is empty or Vim cannot find the file then it will use
! 'encoding' (if Vim is compiled with |+multi_byte| and it is set an 8-bit
! encoding) to find the print character encoding file. If Vim is unable to find
! a character encoding file then it will use the "latin1" print character
! encoding file.
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
characters to the printing encoding for printing (if 'printencoding' is empty
--- 110,118 ----
replaced with '-' signs.
If 'printencoding' is empty or Vim cannot find the file then it will use
! 'encoding' (if it is set an 8-bit encoding) to find the print character
! encoding file. If Vim is unable to find a character encoding file then it
! will use the "latin1" print character encoding file.
When 'encoding' is set to a multi-byte encoding, Vim will try to convert
characters to the printing encoding for printing (if 'printencoding' is empty
***************
*** 253,261 ****
Japanese JIS_C_1978 x x
JIS_X_1983 x x
JIS_X_1990 x x x
! MSWINDOWS x
! KANJITALK6 x
! KANJITALK7 x
euc-kr cp949 ucs-2 utf-8 ~
Korean KS_X_1992 x
--- 253,261 ----
Japanese JIS_C_1978 x x
JIS_X_1983 x x
JIS_X_1990 x x x
! MSWINDOWS x
! KANJITALK6 x
! KANJITALK7 x
euc-kr cp949 ucs-2 utf-8 ~
Korean KS_X_1992 x
***************
*** 752,755 ****
accidental blank pages.
==============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 752,755 ----
accidental blank pages.
==============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/quickfix.txt 2019-05-05 15:02:26.176319819 +0200
--- runtime/doc/quickfix.txt 2019-05-05 17:45:50.533186142 +0200
***************
*** 1,4 ****
! *quickfix.txt* For Vim version 8.1. Last change: 2018 May 01
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *quickfix.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 16,23 ****
8. The directory stack |quickfix-directory-stack|
9. Specific error file formats |errorformats|
- {Vi does not have any of these commands}
-
The quickfix commands are not available when the |+quickfix| feature was
disabled at compile time.
--- 16,21 ----
***************
*** 502,508 ****
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each buffer.
- {not in Vi}
Also see |:bufdo|, |:tabdo|, |:argdo|, |:windo|,
|:ldo|, |:cfdo| and |:lfdo|.
--- 500,505 ----
***************
*** 515,521 ****
:{cmd}
etc.
< Otherwise it works the same as `:cdo`.
- {not in Vi}
*:ldo*
:ld[o][!] {cmd} Execute {cmd} in each valid entry in the location list
--- 512,517 ----
***************
*** 528,534 ****
etc.
< Only valid entries in the location list are used.
Otherwise it works the same as `:cdo`.
- {not in Vi}
*:lfdo*
:lfdo[!] {cmd} Execute {cmd} in each file in the location list for
--- 524,529 ----
***************
*** 540,546 ****
:{cmd}
etc.
< Otherwise it works the same as `:ldo`.
- {not in Vi}
=============================================================================
2. The error window *quickfix-window*
--- 535,540 ----
***************
*** 1906,1909 ****
! vim:tw=78:ts=8:ft=help:norl:
--- 1900,1903 ----
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/quickref.txt 2019-02-16 15:09:21.225946157 +0100
--- runtime/doc/quickref.txt 2019-04-28 19:50:54.104620388 +0200
***************
*** 1,4 ****
! *quickref.txt* For Vim version 8.1. Last change: 2018 Apr 18
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *quickref.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 600,605 ****
--- 600,606 ----
Short explanation of each option: *option-list*
'aleph' 'al' ASCII code of the letter Aleph (Hebrew)
'allowrevins' 'ari' allow CTRL-_ in Insert and Command-line mode
+ 'altkeymap' 'akm' obsolete option for Farsi
'ambiwidth' 'ambw' what to do with Unicode chars of ambiguous width
'antialias' 'anti' Mac OS X: use smooth, antialiased fonts
'autochdir' 'acd' change directory to the file in the current window
***************
*** 699,704 ****
--- 700,706 ----
'filetype' 'ft' type of file, used for autocommands
'fillchars' 'fcs' characters to use for displaying special items
'fixendofline' 'fixeol' make sure last line in file has <EOL>
+ 'fkmap' 'fk' obsolete option for Farsi
'foldclose' 'fcl' close a fold when the cursor leaves it
'foldcolumn' 'fdc' width of the column used to indicate folds
'foldenable' 'fen' set to display all folds open
***************
*** 767,772 ****
--- 769,775 ----
'keywordprg' 'kp' program to use for the "K" command
'langmap' 'lmap' alphabetic characters for other language mode
'langmenu' 'lm' language to be used for the menus
+ 'langnoremap' 'lnr' do not apply 'langmap' to mapped characters
'langremap' 'lrm' do apply 'langmap' to mapped characters
'laststatus' 'ls' tells when last window has status lines
'lazyredraw' 'lz' don't redraw while executing macros
***************
*** 779,786 ****
'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"
--- 782,787 ----
***************
*** 808,813 ****
--- 809,816 ----
'mouseshape' 'mouses' shape of the mouse pointer in different modes
'mousetime' 'mouset' max time between mouse double-click
'mzquantum' 'mzq' the interval between polls for MzScheme threads
+ 'mzschemedll' name of the MzScheme dynamic library
+ 'mzschemegcdll' name of the MzScheme dynamic library for GC
'nrformats' 'nf' number formats recognized for CTRL-A command
'number' 'nu' print the line number in front of each line
'numberwidth' 'nuw' number of columns used for the line number
***************
*** 916,921 ****
--- 919,925 ----
'tabstop' 'ts' number of spaces that <Tab> in file uses
'tagbsearch' 'tbs' use binary searching in tags files
'tagcase' 'tc' how to handle case when searching in tags files
+ 'tagfunc' 'tfu' function to get list of tag matches
'taglength' 'tl' number of significant characters for a tag
'tagrelative' 'tr' file names in tag file are relative
'tags' 'tag' list of file names used by the tag command
***************
*** 1446,1449 ****
|zN| zN fold normal set 'foldenable'
|zi| zi invert 'foldenable'
! vim:tw=78:ts=8:ft=help:norl:
--- 1450,1453 ----
|zN| zN fold normal set 'foldenable'
|zi| zi invert 'foldenable'
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/quotes.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/quotes.txt 2018-07-29 14:23:36.371157528 +0200
***************
*** 272,275 ****
|____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia) `
! vim:tw=78:ts=8:ft=help:norl:
--- 272,275 ----
|____/ |_| \___/|_| |_| (_|_) (Tony Nugent, Australia) `
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/recover.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/recover.txt 2018-09-16 18:44:22.402360198 +0200
***************
*** 28,33 ****
--- 28,36 ----
: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,
with the extension ".swp".
- On Unix, a '.' is prepended to swap file names in the same directory as the
***************
*** 234,237 ****
file. Thus if you write the text file, you need to use that new key.
! vim:tw=78:ts=8:ft=help:norl:
--- 237,240 ----
file. Thus if you write the text file, you need to use that new key.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/remote.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/remote.txt 2019-05-05 17:49:07.004107711 +0200
***************
*** 1,4 ****
! *remote.txt* For Vim version 8.1. Last change: 2017 Nov 12
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *remote.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 10,17 ****
2. X11 specific items |x11-clientserver|
3. MS-Windows specific items |w32-clientserver|
- {Vi does not have any of these commands}
-
==============================================================================
1. Common functionality *clientserver*
--- 10,15 ----
***************
*** 63,69 ****
--servername {name} Become the server {name}. When used together
with one of the --remote commands: connect to
server {name} instead of the default (see
! below).
*--remote-send*
--remote-send {keys} Send {keys} to server and exit. The {keys}
are not mapped. Special key names are
--- 61,67 ----
--servername {name} Become the server {name}. When used together
with one of the --remote commands: connect to
server {name} instead of the default (see
! below). The name used will be uppercase.
*--remote-send*
--remote-send {keys} Send {keys} to server and exit. The {keys}
are not mapped. Special key names are
***************
*** 204,207 ****
start /w gvim --remote-wait file.txt
<
! vim:tw=78:sw=4:ts=8:ft=help:norl:
--- 202,205 ----
start /w gvim --remote-wait file.txt
<
! vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/repeat.txt 2019-04-04 18:15:05.762857109 +0200
--- runtime/doc/repeat.txt 2019-05-05 17:49:30.727980452 +0200
***************
*** 1,4 ****
! *repeat.txt* For Vim version 8.1. Last change: 2018 Mar 04
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *repeat.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 163,174 ****
*:@:*
:[addr]@: Repeat last command-line. First set cursor at line
! [addr] (default is current line). {not in Vi}
:[addr]@ *:@@*
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
! line [addr] (default is current line). {Vi: only in
! some versions}
==============================================================================
4. Using Vim scripts *using-scripts*
--- 163,173 ----
*:@:*
:[addr]@: Repeat last command-line. First set cursor at line
! [addr] (default is current line).
:[addr]@ *:@@*
:[addr]@@ Repeat the previous :@{0-9a-z"}. First set cursor at
! line [addr] (default is current line).
==============================================================================
4. Using Vim scripts *using-scripts*
***************
*** 187,193 ****
|:bufdo|, in a loop or when another command follows
the display won't be updated while executing the
commands.
- {not in Vi}
*:ru* *:runtime*
:ru[ntime][!] [where] {file} ..
--- 186,191 ----
***************
*** 230,236 ****
when no file could be found.
When 'verbose' is two or higher, there is a message
about each searched file.
- {not in Vi}
*:pa* *:packadd* *E919*
:pa[ckadd][!] {name} Search for an optional plugin directory in 'packpath'
--- 228,233 ----
***************
*** 323,334 ****
set encoding=utf-8
scriptencoding utf-8
<
- {not in Vi}
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
*E999* *E984*
! Specify the version of Vim for the lines that follow.
! Does not apply to sourced scripts.
If {version} is higher than what the current Vim
version supports E999 will be given. You either need
--- 320,331 ----
set encoding=utf-8
scriptencoding utf-8
<
:scriptv[ersion] {version} *:scriptv* *:scriptversion*
*E999* *E984*
! Specify the version of Vim for the lines that follow
! in the same file. Only applies at the toplevel of
! sourced scripts, not inside functions.
If {version} is higher than what the current Vim
version supports E999 will be given. You either need
***************
*** 340,350 ****
:scr[iptnames] List all sourced script names, in the order they were
first sourced. The number is used for the script ID
|<SID>|.
! {not in Vi} {not available when compiled without the
! |+eval| feature}
:scr[iptnames][!] {scriptId} *:script*
! Edit script {scriptId}. Suggested name is ":script".
*:fini* *:finish* *E168*
:fini[sh] Stop sourcing a script. Can only be used in a Vim
--- 337,350 ----
:scr[iptnames] List all sourced script names, in the order they were
first sourced. The number is used for the script ID
|<SID>|.
! {not available when compiled without the |+eval|
! feature}
:scr[iptnames][!] {scriptId} *:script*
! Edit script {scriptId}. Although ":scriptnames name"
! works, using ":script name" is recommended.
! When the current buffer can't be |abandon|ed and the !
! is not present, the command fails.
*:fini* *:finish* *E168*
:fini[sh] Stop sourcing a script. Can only be used in a Vim
***************
*** 354,360 ****
following the ":finally" up to the matching |:endtry|
are executed first. This process applies to all
nested ":try"s in the script. The outermost ":endtry"
! then stops sourcing the script. {not in Vi}
All commands and command sequences can be repeated by putting them in a named
register and then executing it. There are two ways to get the commands in the
--- 354,360 ----
following the ":finally" up to the matching |:endtry|
are executed first. This process applies to all
nested ":try"s in the script. The outermost ":endtry"
! then stops sourcing the script.
All commands and command sequences can be repeated by putting them in a named
register and then executing it. There are two ways to get the commands in the
***************
*** 479,486 ****
:set cpo-=C
<
*line-continuation-comment*
! To add a comment in between the lines start with '\" '. Notice the space
! after the double quote. Example: >
let array = [
"\ first entry comment
\ 'first',
--- 479,486 ----
:set cpo-=C
<
*line-continuation-comment*
! To add a comment in between the lines start with '"\ '. Notice the space
! after the backslash. Example: >
let array = [
"\ first entry comment
\ 'first',
***************
*** 694,700 ****
NOTE: The debugging mode is far from perfect. Debugging will have side
effects on how Vim works. You cannot use it to debug everything. For
example, the display is messed up by the debugging messages.
- {Vi does not have a debug mode}
An alternative to debug mode is setting the 'verbose' option. With a bigger
number it will give more verbose messages about what Vim is doing.
--- 694,699 ----
***************
*** 928,934 ****
Profiling means that Vim measures the time that is spent on executing
functions and/or scripts. The |+profile| feature is required for this.
It is only included when Vim was compiled with "huge" features.
- {Vi does not have profiling}
You can also use the |reltime()| function to measure time. This only requires
the |+reltime| feature, which is present more often.
--- 927,932 ----
*** ../vim-8.1.1279/runtime/doc/rileft.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/rileft.txt 2019-05-05 17:49:47.735889047 +0200
***************
*** 1,4 ****
! *rileft.txt* For Vim version 8.1. Last change: 2006 Apr 24
VIM REFERENCE MANUAL by Avner Lottem
--- 1,4 ----
! *rileft.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Avner Lottem
***************
*** 12,19 ****
E-mail:
alo...@iil.intel.com
Phone:
+972-4-8307322
- {Vi does not have any of these commands}
-
*E26*
{only available when compiled with the |+rightleft| feature}
--- 12,17 ----
***************
*** 121,124 ****
o There is no full bidirectionality (bidi) support.
! vim:tw=78:ts=8:ft=help:norl:
--- 119,122 ----
o There is no full bidirectionality (bidi) support.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/russian.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/russian.txt 2019-02-17 17:50:03.378330597 +0100
***************
*** 55,62 ****
user interface items translations to work.
After downloading an archive from RuVim project, unpack it into your
! $VIMRUNTIME directory. We recommend using UTF-8 archive, if your version of
! Vim is compiled with |+multi_byte| feature enabled.
In order to use the Russian documentation, make sure you have set the
'helplang' option to "ru".
--- 55,61 ----
user interface items translations to work.
After downloading an archive from RuVim project, unpack it into your
! $VIMRUNTIME directory. We recommend using UTF-8 archive.
In order to use the Russian documentation, make sure you have set the
'helplang' option to "ru".
***************
*** 71,74 ****
releases of gettext.
===============================================================================
! vim:tw=78:ts=8:ft=help:norl:
--- 70,73 ----
releases of gettext.
===============================================================================
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/scroll.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/scroll.txt 2019-05-05 17:29:31.966604778 +0200
***************
*** 1,4 ****
! *scroll.txt* For Vim version 8.1. Last change: 2018 Apr 26
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *scroll.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 45,53 ****
difference). When the cursor is on the last line of
the buffer nothing happens and a beep is produced.
See also 'startofline' option.
- {difference from vi: Vim scrolls 'scroll' screen
- lines, instead of file lines; makes a difference when
- lines wrap}
<S-Down> or *<S-Down>* *<kPageDown>*
<PageDown> or *<PageDown>* *CTRL-F*
--- 45,50 ----
***************
*** 120,126 ****
*zt*
zt Like "z<CR>", but leave the cursor in the same
! column. {not in Vi}
*zN<CR>*
z{height}<CR> Redraw, make window {height} lines tall. This is
--- 117,123 ----
*zt*
zt Like "z<CR>", but leave the cursor in the same
! column.
*zN<CR>*
z{height}<CR> Redraw, make window {height} lines tall. This is
***************
*** 136,142 ****
*zz*
zz Like "z.", but leave the cursor in the same column.
Careful: If caps-lock is on, this command becomes
! "ZZ": write buffer and exit! {not in Vi}
*z-*
z- Redraw, line [count] at bottom of window (default
--- 133,139 ----
*zz*
zz Like "z.", but leave the cursor in the same column.
Careful: If caps-lock is on, this command becomes
! "ZZ": write buffer and exit!
*z-*
z- Redraw, line [count] at bottom of window (default
***************
*** 145,151 ****
*zb*
zb Like "z-", but leave the cursor in the same column.
- {not in Vi}
==============================================================================
4. Scrolling horizontally *scroll-horizontal*
--- 142,147 ----
***************
*** 158,183 ****
z<Right> or *zl* *z<Right>*
zl Move the view on the text [count] characters to the
right, thus scroll the text [count] characters to the
! left. This only works when 'wrap' is off. {not in
! Vi}
z<Left> or *zh* *z<Left>*
zh Move the view on the text [count] characters to the
left, thus scroll the text [count] characters to the
! right. This only works when 'wrap' is off. {not in
! Vi}
*zL*
zL Move the view on the text half a screenwidth to the
right, thus scroll the text half a screenwidth to the
! left. This only works when 'wrap' is off. {not in
! Vi}
*zH*
zH Move the view on the text half a screenwidth to the
left, thus scroll the text half a screenwidth to the
! right. This only works when 'wrap' is off. {not in
! Vi}
For the following two commands the cursor is not moved in the text, only the
text scrolls on the screen.
--- 154,175 ----
z<Right> or *zl* *z<Right>*
zl Move the view on the text [count] characters to the
right, thus scroll the text [count] characters to the
! left. This only works when 'wrap' is off.
z<Left> or *zh* *z<Left>*
zh Move the view on the text [count] characters to the
left, thus scroll the text [count] characters to the
! right. This only works when 'wrap' is off.
*zL*
zL Move the view on the text half a screenwidth to the
right, thus scroll the text half a screenwidth to the
! left. This only works when 'wrap' is off.
*zH*
zH Move the view on the text half a screenwidth to the
left, thus scroll the text half a screenwidth to the
! right. This only works when 'wrap' is off.
For the following two commands the cursor is not moved in the text, only the
text scrolls on the screen.
***************
*** 185,196 ****
*zs*
zs Scroll the text horizontally to position the cursor
at the start (left side) of the screen. This only
! works when 'wrap' is off. {not in Vi}
*ze*
ze Scroll the text horizontally to position the cursor
at the end (right side) of the screen. This only
! works when 'wrap' is off. {not in Vi}
==============================================================================
5. Scrolling synchronously *scroll-binding*
--- 177,188 ----
*zs*
zs Scroll the text horizontally to position the cursor
at the start (left side) of the screen. This only
! works when 'wrap' is off.
*ze*
ze Scroll the text horizontally to position the cursor
at the end (right side) of the screen. This only
! works when 'wrap' is off.
==============================================================================
5. Scrolling synchronously *scroll-binding*
***************
*** 332,335 ****
:map <M-Esc>[65~ <S-ScrollWheelDown>
:map! <M-Esc>[65~ <S-ScrollWheelDown>
<
! vim:tw=78:ts=8:ft=help:norl:
--- 324,327 ----
:map <M-Esc>[65~ <S-ScrollWheelDown>
:map! <M-Esc>[65~ <S-ScrollWheelDown>
<
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/sign.txt 2019-01-11 13:42:31.680331155 +0100
--- runtime/doc/sign.txt 2019-05-05 17:50:01.187816635 +0200
***************
*** 1,4 ****
! *sign.txt* For Vim version 8.1. Last change: 2016 Aug 17
VIM REFERENCE MANUAL by Gordon Prieur
--- 1,4 ----
! *sign.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Gordon Prieur
***************
*** 10,16 ****
1. Introduction |sign-intro|
2. Commands |sign-commands|
- {Vi does not have any of these features}
{only available when compiled with the |+signs| feature}
==============================================================================
--- 10,15 ----
***************
*** 31,37 ****
Signs and highlights are not useful just for debuggers. Sun's Visual
WorkShop uses signs and highlights to mark build errors and SourceBrowser
hits. Additionally, the debugger supports 8 to 10 different signs and
! highlight colors. |workshop| Same for Netbeans |netbeans|.
There are two steps in using signs:
--- 30,36 ----
Signs and highlights are not useful just for debuggers. Sun's Visual
WorkShop uses signs and highlights to mark build errors and SourceBrowser
hits. Additionally, the debugger supports 8 to 10 different signs and
! highlight colors, see |NetBeans|.
There are two steps in using signs:
***************
*** 43,48 ****
--- 42,48 ----
displayed. A defined sign can be placed several times in different lines
and files.
+ *sign-column*
When signs are defined for a file, Vim will automatically add a column of two
characters to display them in. When the last sign is unplaced the column
disappears again. This behavior can be changed with the 'signcolumn' option.
***************
*** 55,61 ****
*sign-identifier*
Each placed sign is identified by a number called the sign identifier. This
identifier is used to jump to the sign or to remove the sign. The identifier
! is assigned when placing the sign using the |sign-place| command or the
|sign_place()| function. Each sign identifier should be a unique number. If
multiple placed signs use the same identifier, then jumping to or removing a
sign becomes unpredictable. To avoid overlapping identifiers, sign groups can
--- 55,61 ----
*sign-identifier*
Each placed sign is identified by a number called the sign identifier. This
identifier is used to jump to the sign or to remove the sign. The identifier
! is assigned when placing the sign using the |:sign-place| command or the
|sign_place()| function. Each sign identifier should be a unique number. If
multiple placed signs use the same identifier, then jumping to or removing a
sign becomes unpredictable. To avoid overlapping identifiers, sign groups can
***************
*** 76,81 ****
--- 76,85 ----
independent of the sign group. The default priority for a sign is 10. The
priority is assigned at the time of placing a sign.
+ When the line on which the sign is placed is deleted, the sign is moved to the
+ next line (or the last line of the buffer, if there is no next line). When
+ the delete is undone the sign does not move back.
+
==============================================================================
2. Commands *sign-commands* *:sig* *:sign*
*** ../vim-8.1.1279/runtime/doc/spell.txt 2018-05-17 13:42:02.000000000 +0200
--- runtime/doc/spell.txt 2019-05-05 17:50:25.543685303 +0200
***************
*** 1,4 ****
! *spell.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *spell.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 11,20 ****
3. Generating a spell file |spell-mkspell|
4. Spell file format |spell-file-format|
! {Vi does not have any of these commands}
!
! Spell checking is not available when the |+syntax| feature has been disabled
! at compile time.
Note: There also is a vimspell plugin. If you have it you can do ":help
vimspell" to find about it. But you will probably want to get rid of the
--- 11,17 ----
3. Generating a spell file |spell-mkspell|
4. Spell file format |spell-file-format|
! {not available when the |+syntax| feature has been disabled at compile time}
Note: There also is a vimspell plugin. If you have it you can do ":help
vimspell" to find about it. But you will probably want to get rid of the
***************
*** 312,336 ****
spell file is used.
For example, with these values:
! 'runtimepath' is "~/.vim,/usr/share/vim70,~/.vim/after"
'encoding' is "iso-8859-2"
'spelllang' is "pl"
Vim will look for:
1. ~/.vim/spell/pl.iso-8859-2.spl
! 2. /usr/share/vim70/spell/pl.iso-8859-2.spl
3. ~/.vim/spell/pl.iso-8859-2.add.spl
! 4. /usr/share/vim70/spell/pl.iso-8859-2.add.spl
5. ~/.vim/after/spell/pl.iso-8859-2.add.spl
This assumes 1. is not found and 2. is found.
If 'encoding' is "latin1" Vim will look for:
1. ~/.vim/spell/pl.latin1.spl
! 2. /usr/share/vim70/spell/pl.latin1.spl
3. ~/.vim/after/spell/pl.latin1.spl
4. ~/.vim/spell/pl.ascii.spl
! 5. /usr/share/vim70/spell/pl.ascii.spl
6. ~/.vim/after/spell/pl.ascii.spl
This assumes none of them are found (Polish doesn't make sense when leaving
--- 309,333 ----
spell file is used.
For example, with these values:
! 'runtimepath' is "~/.vim,/usr/share/vim81,~/.vim/after"
'encoding' is "iso-8859-2"
'spelllang' is "pl"
Vim will look for:
1. ~/.vim/spell/pl.iso-8859-2.spl
! 2. /usr/share/vim81/spell/pl.iso-8859-2.spl
3. ~/.vim/spell/pl.iso-8859-2.add.spl
! 4. /usr/share/vim81/spell/pl.iso-8859-2.add.spl
5. ~/.vim/after/spell/pl.iso-8859-2.add.spl
This assumes 1. is not found and 2. is found.
If 'encoding' is "latin1" Vim will look for:
1. ~/.vim/spell/pl.latin1.spl
! 2. /usr/share/vim81/spell/pl.latin1.spl
3. ~/.vim/after/spell/pl.latin1.spl
4. ~/.vim/spell/pl.ascii.spl
! 5. /usr/share/vim81/spell/pl.ascii.spl
6. ~/.vim/after/spell/pl.ascii.spl
This assumes none of them are found (Polish doesn't make sense when leaving
***************
*** 577,583 ****
vimdiff xx_YY.orig.dic xx_YY.new.dic
3. Take over the changes you like in xx_YY.dic.
You may also need to change xx_YY.aff.
! 4. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.new.aff.
SPELL FILE VERSIONS *E770* *E771* *E772*
--- 574,580 ----
vimdiff xx_YY.orig.dic xx_YY.new.dic
3. Take over the changes you like in xx_YY.dic.
You may also need to change xx_YY.aff.
! 4. Rename xx_YY.new.dic to xx_YY.orig.dic and xx_YY.new.aff to xx_YY.orig.aff.
SPELL FILE VERSIONS *E770* *E771* *E772*
***************
*** 1582,1587 ****
--- 1579,1588 ----
Forbid three identical characters when compounding. Not
supported.
+ CHECKSHARPS (Hunspell)) *spell-CHECKSHARPS*
+ SS letter pair in uppercased (German) words may be upper case
+ sharp s (ß). Not supported.
+
COMPLEXPREFIXES (Hunspell) *spell-COMPLEXPREFIXES*
Enables using two prefixes. Not supported.
***************
*** 1595,1606 ****
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
COMPOUNDBEGIN (Hunspell) *spell-COMPOUNDBEGIN*
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
! COMPOUNDEND (Hunspell) *spell-COMPOUNDEND*
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
COMPOUNDMIDDLE (Hunspell) *spell-COMPOUNDMIDDLE*
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
COMPOUNDRULES (Hunspell) *spell-COMPOUNDRULES*
--- 1596,1616 ----
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
COMPOUNDBEGIN (Hunspell) *spell-COMPOUNDBEGIN*
+ Words signed with COMPOUNDBEGIN may be first elements in
+ compound words.
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
! COMPOUNDLAST (Hunspell) *spell-COMPOUNDLAST*
! Words signed with COMPOUNDLAST may be last elements in
! compound words.
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
+ COMPOUNDEND (Hunspell) *spell-COMPOUNDEND*
+ Probably the same as COMPOUNDLAST
+
COMPOUNDMIDDLE (Hunspell) *spell-COMPOUNDMIDDLE*
+ Words signed with COMPOUNDMIDDLE may be middle elements in
+ compound words.
Use COMPOUNDRULE instead. |spell-COMPOUNDRULE|
COMPOUNDRULES (Hunspell) *spell-COMPOUNDRULES*
***************
*** 1646,1649 ****
is no need to separate words before checking them (using a
trie instead of a hashtable).
! vim:tw=78:sw=4:ts=8:ft=help:norl:
--- 1656,1659 ----
is no need to separate words before checking them (using a
trie instead of a hashtable).
! vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/sponsor.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/sponsor.txt 2018-07-29 14:23:36.371157528 +0200
***************
*** 213,216 ****
! vim:tw=78:ts=8:ft=help:norl:
--- 213,216 ----
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/starting.txt 2019-02-16 15:09:21.225946157 +0100
--- runtime/doc/starting.txt 2019-05-05 17:56:44.137617228 +0200
***************
*** 1,4 ****
! *starting.txt* For Vim version 8.1. Last change: 2018 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *starting.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 84,90 ****
and the first error is displayed. See |quickfix|.
If [errorfile] is not given, the 'errorfile' option is used
for the file name. See 'errorfile' for the default value.
- {not in Vi}
(nothing) Without one of the four items above, Vim will start editing a
new buffer. It's empty and doesn't have a file name.
--- 84,89 ----
***************
*** 129,145 ****
--help *-h* *--help* *-?*
-?
! -h Give usage (help) message and exit. {not in Vi}
See |info-message| about capturing the text.
*--version*
--version Print version information and exit. Same output as for
! |:version| command. {not in Vi}
See |info-message| about capturing the text.
*--noplugin*
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
! {not in Vi}
Note that the |-u| argument may also disable loading plugins:
argument load: vimrc files plugins defaults.vim ~
(nothing) yes yes yes
--- 128,144 ----
--help *-h* *--help* *-?*
-?
! -h Give usage (help) message and exit.
See |info-message| about capturing the text.
*--version*
--version Print version information and exit. Same output as for
! |:version| command.
See |info-message| about capturing the text.
*--noplugin*
--noplugin Skip loading plugins. Resets the 'loadplugins' option.
!
Note that the |-u| argument may also disable loading plugins:
argument load: vimrc files plugins defaults.vim ~
(nothing) yes yes yes
***************
*** 190,202 ****
Note: You can use up to 10 "+" or "-c" arguments in a Vim
command. They are executed in the order given. A "-S"
argument counts as a "-c" argument as well.
- {Vi only allows one command}
--cmd {command} *--cmd*
{command} will be executed before processing any vimrc file.
Otherwise it acts like -c {command}. You can use up to 10 of
these commands, independently from "-c" commands.
- {not in Vi}
*-S*
-S {file} The {file} will be sourced after the first file has been read.
--- 189,199 ----
***************
*** 205,211 ****
< It can be mixed with "-c" arguments and repeated like "-c".
The limit of 10 "-c" arguments applies here as well.
{file} cannot start with a "-".
! {not in Vi}
-S Works like "-S Session.vim". Only when used as the last
argument or when another "-" option follows.
--- 202,210 ----
< It can be mixed with "-c" arguments and repeated like "-c".
The limit of 10 "-c" arguments applies here as well.
{file} cannot start with a "-".
!
! Do not use this for running a script to do some work and exit
! Vim, you won't see error messages. Use |-u| instead.
-S Works like "-S Session.vim". Only when used as the last
argument or when another "-" option follows.
***************
*** 217,224 ****
|crash-recovery|.
*-L*
! -L Same as -r. {only in some versions of Vi: "List recoverable
! edit sessions"}
*-R*
-R Readonly mode. The 'readonly' option will be set for all the
--- 216,222 ----
|crash-recovery|.
*-L*
! -L Same as -r.
*-R*
-R Readonly mode. The 'readonly' option will be set for all the
***************
*** 238,244 ****
-m Modifications not allowed to be written. The 'write' option
will be reset, so that writing files is disabled. However,
the 'write' option can be set to enable writing again.
- {not in Vi}
*-M*
-M Modifications not allowed. The 'modifiable' option will be
--- 236,241 ----
***************
*** 246,252 ****
will be reset, so that writing files is disabled. However,
the 'modifiable' and 'write' options can be set to enable
changes and writing.
- {not in Vi}
*-Z* *restricted-mode* *E145* *E981*
-Z Restricted mode. All commands that make use of an external
--- 243,248 ----
***************
*** 260,270 ****
the Safe module.
Note that the user may still find a loophole to execute a
shell command, it has only been made difficult.
- {not in Vi}
*-g*
-g Start Vim in GUI mode. See |gui|. For the opposite see |-v|.
- {not in Vi}
*-v*
-v Start Ex in Vi mode. Only makes a difference when the
--- 256,264 ----
***************
*** 278,284 ****
*-E*
-E Start Vim in improved Ex mode |gQ|. Only makes a difference
when the executable is not called "exim".
- {not in Vi}
*-s-ex*
-s Silent or batch mode. Only when Vim was started as "ex" or
--- 272,277 ----
***************
*** 302,307 ****
--- 295,303 ----
"-u" argument).
Example: >
vim -e -s < thefilter thefile
+ < For the opposite, to see errors from the script, execute the
+ file with the |-u| flag: >
+ vim -u thefilter thefile
<
*-b*
-b Binary mode. File I/O will only recognize <NL> to separate
***************
*** 309,315 ****
option is set to 0. 'modeline' is reset. The 'binary' option
is set. This is done after reading the vimrc/exrc files but
before reading any file in the arglist. See also
! |edit-binary|. {not in Vi}
*-l*
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
--- 305,311 ----
option is set to 0. 'modeline' is reset. The 'binary' option
is set. This is done after reading the vimrc/exrc files but
before reading any file in the arglist. See also
! |edit-binary|.
*-l*
-l Lisp mode. Sets the 'lisp' and 'showmatch' options on.
***************
*** 318,324 ****
-A Arabic mode. Sets the 'arabic' option on. (Only when
compiled with the |+arabic| features (which include
|+rightleft|), otherwise Vim gives an error message
! and exits.) {not in Vi}
*-F*
-F This was used for Farsi mode, which has been removed.
--- 314,320 ----
-A Arabic mode. Sets the 'arabic' option on. (Only when
compiled with the |+arabic| features (which include
|+rightleft|), otherwise Vim gives an error message
! and exits.)
*-F*
-F This was used for Farsi mode, which has been removed.
***************
*** 327,339 ****
*-H*
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
(Only when compiled with the |+rightleft| feature, otherwise
! Vim gives an error message and exits.) {not in Vi}
*-V* *verbose*
-V[N] Verbose. Sets the 'verbose' option to [N] (default: 10).
Messages will be given for each file that is ":source"d and
for reading or writing a viminfo file. Can be used to find
! out what is happening upon startup and exit. {not in Vi}
Example: >
vim -V8 foobar
--- 323,335 ----
*-H*
-H Hebrew mode. Sets the 'hkmap' and 'rightleft' options on.
(Only when compiled with the |+rightleft| feature, otherwise
! Vim gives an error message and exits.)
*-V* *verbose*
-V[N] Verbose. Sets the 'verbose' option to [N] (default: 10).
Messages will be given for each file that is ":source"d and
for reading or writing a viminfo file. Can be used to find
! out what is happening upon startup and exit.
Example: >
vim -V8 foobar
***************
*** 348,354 ****
-D Debugging. Go to debugging mode when executing the first
command from a script. |debug-mode|
{not available when compiled without the |+eval| feature}
- {not in Vi}
*-C*
-C Compatible mode. Sets the 'compatible' option. You can use
--- 344,349 ----
***************
*** 360,372 ****
< Several plugins won't work with 'compatible' set. You may
want to set it after startup this way: >
vim "+set cp" filename
! < Also see |compatible-default|. {not in Vi}
*-N*
-N Not compatible mode. Resets the 'compatible' option. You can
use this to get 'nocompatible', when there is no .vimrc file
or when using "-u NONE".
! Also see |compatible-default|. {not in Vi}
*-y* *easy*
-y Easy mode. Implied for |evim| and |eview|. Starts with
--- 355,367 ----
< Several plugins won't work with 'compatible' set. You may
want to set it after startup this way: >
vim "+set cp" filename
! < Also see |compatible-default|.
*-N*
-N Not compatible mode. Resets the 'compatible' option. You can
use this to get 'nocompatible', when there is no .vimrc file
or when using "-u NONE".
! Also see |compatible-default|.
*-y* *easy*
-y Easy mode. Implied for |evim| and |eview|. Starts with
***************
*** 374,380 ****
This sources the script $VIMRUNTIME/evim.vim. Mappings are
set up to work like most click-and-type editors, see
|evim-keys|. The GUI is started when available.
- {not in Vi}
*-n*
-n No swap file will be used. Recovery after a crash will be
--- 369,374 ----
***************
*** 394,400 ****
'updatecount' to very big numbers, and type ":preserve" when
you want to save your work. This way you keep the possibility
for crash recovery.
- {not in Vi}
*-o*
-o[N] Open N windows, split horizontally. If [N] is not given,
--- 388,393 ----
***************
*** 402,414 ****
there is not enough room, only the first few files get a
window. If there are more windows than arguments, the last
few windows will be editing an empty file.
- {not in Vi}
*-O*
-O[N] Open N windows, split vertically. Otherwise it's like -o.
If both the -o and the -O option are given, the last one on
the command line determines how the windows will be split.
- {not in Vi}
*-p*
-p[N] Open N tab pages. If [N] is not given, one tab page is opened
--- 395,405 ----
***************
*** 416,435 ****
'tabpagemax' pages (default 10). If there are more tab pages
than arguments, the last few tab pages will be editing an
empty file. Also see |tabpage|.
- {not in Vi}
*-T*
-T {terminal} Set the terminal type to "terminal". This influences the
codes that Vim will send to your terminal. This is normally
not needed, because Vim will be able to find out what type
! of terminal you are using. (See |terminal-info|.) {not in Vi}
*--not-a-term*
--not-a-term Tells Vim that the user knows that the input and/or output is
not connected to a terminal. This will avoid the warning and
the two second delay that would happen.
Also avoids the "Reading from stdin..." message.
! {not in Vi}
*--ttyfail*
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
--- 407,425 ----
'tabpagemax' pages (default 10). If there are more tab pages
than arguments, the last few tab pages will be editing an
empty file. Also see |tabpage|.
*-T*
-T {terminal} Set the terminal type to "terminal". This influences the
codes that Vim will send to your terminal. This is normally
not needed, because Vim will be able to find out what type
! of terminal you are using. (See |terminal-info|.)
*--not-a-term*
--not-a-term Tells Vim that the user knows that the input and/or output is
not connected to a terminal. This will avoid the warning and
the two second delay that would happen.
Also avoids the "Reading from stdin..." message.
! Also avoids the "N files to edit" message.
*--ttyfail*
--ttyfail When the stdin or stdout is not a terminal (tty) then exit
***************
*** 437,444 ****
*-d*
-d Start in diff mode, like |vimdiff|.
! {not in Vi} {not available when compiled without the |+diff|
! feature}
-d {device} Only on the Amiga and when not compiled with the |+diff|
feature. Works like "-dev".
--- 427,433 ----
*-d*
-d Start in diff mode, like |vimdiff|.
! {not available when compiled without the |+diff| feature}
-d {device} Only on the Amiga and when not compiled with the |+diff|
feature. Works like "-dev".
***************
*** 448,454 ****
Normally you would use this to set the window position and
size: "-d con:x/y/width/height", e.g.,
"-d con:30/10/600/150". But you can also use it to start
! editing on another device, e.g., AUX:. {not in Vi}
*-f*
-f GUI: Do not disconnect from the program that started Vim.
'f' stands for "foreground". If omitted, the GUI forks a new
--- 437,443 ----
Normally you would use this to set the window position and
size: "-d con:x/y/width/height", e.g.,
"-d con:30/10/600/150". But you can also use it to start
! editing on another device, e.g., AUX:.
*-f*
-f GUI: Do not disconnect from the program that started Vim.
'f' stands for "foreground". If omitted, the GUI forks a new
***************
*** 467,473 ****
MS-Windows: This option is not supported. However, when
running Vim with an installed vim.bat or gvim.bat file it
works.
- {not in Vi}
*--nofork*
--- 456,461 ----
***************
*** 492,504 ****
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'.
Using the "-u" argument with another argument than DEFAULTS
has the side effect that the 'compatible' option will be on by
default. This can have unexpected effects. See
|'compatible'|.
- {not in Vi}
*-U* *E230*
-U {gvimrc} The file {gvimrc} is read for initializations when the GUI
--- 480,492 ----
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'. Also see
! |--clean|.
Using the "-u" argument with another argument than DEFAULTS
has the side effect that the 'compatible' option will be on by
default. This can have unexpected effects. See
|'compatible'|.
*-U* *E230*
-U {gvimrc} The file {gvimrc} is read for initializations when the GUI
***************
*** 506,529 ****
is equal to "NONE", no file is read for GUI initializations at
all. |gui-init|
Exception: Reading the system-wide menu file is always done.
- {not in Vi}
*-i*
-i {viminfo} The file "viminfo" is used instead of the default viminfo
file. If the name "NONE" is used (all uppercase), no viminfo
file is read or written, even if 'viminfo' is set or when
":rv" or ":wv" are used. See also |viminfo-file|.
- {not in Vi}
*--clean*
! --clean Equal to "-u DEFAULTS -U NONE -i NONE":
- initializations from files and environment variables is
skipped
- the |defaults.vim| script is loaded, which implies
'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
--- 494,517 ----
is equal to "NONE", no file is read for GUI initializations at
all. |gui-init|
Exception: Reading the system-wide menu file is always done.
*-i*
-i {viminfo} The file "viminfo" is used instead of the default viminfo
file. If the name "NONE" is used (all uppercase), no viminfo
file is read or written, even if 'viminfo' is set or when
":rv" or ":wv" are used. See also |viminfo-file|.
*--clean*
! --clean Similar to "-u DEFAULTS -U NONE -i NONE":
- initializations from files and environment variables is
skipped
+ - 'runtimepath' and 'packpath' are set to exclude home
+ directory entries (does not happen with -u DEFAULTS).
- the |defaults.vim| script is loaded, which implies
'nocompatible': use Vim defaults
- no |gvimrc| script is loaded
- no viminfo file is read or written
!
*-x*
-x Use encryption to read/write files. Will prompt for a key,
which is then stored in the 'key' option. All writes will
***************
*** 548,554 ****
When the connection is desired later anyway (e.g., for
client-server messages), call the |serverlist()| function.
This does not enable the XSMP handler though.
- {not in Vi}
*-s*
-s {scriptin} The script file "scriptin" is read. The characters in the
--- 536,541 ----
***************
*** 557,563 ****
of the file is reached before the editor exits, further
characters are read from the keyboard. Only works when not
started in Ex mode, see |-s-ex|. See also |complex-repeat|.
- {not in Vi}
*-w_nr*
-w {number}
--- 544,549 ----
***************
*** 570,631 ****
":source!". When the "scriptout" file already exists, new
characters are appended. See also |complex-repeat|.
{scriptout} cannot start with a digit.
- {not in Vi}
*-W*
-W {scriptout} Like -w, but do not append, overwrite an existing file.
- {not in Vi}
--remote [+{cmd}] {file} ...
Open the {file} in another Vim that functions as a server.
Any non-file arguments must come before this.
! See |--remote|. {not in Vi}
--remote-silent [+{cmd}] {file} ...
Like --remote, but don't complain if there is no server.
! See |--remote-silent|. {not in Vi}
--remote-wait [+{cmd}] {file} ...
Like --remote, but wait for the server to finish editing the
file(s).
! See |--remote-wait|. {not in Vi}
--remote-wait-silent [+{cmd}] {file} ...
Like --remote-wait, but don't complain if there is no server.
! See |--remote-wait-silent|. {not in Vi}
--servername {name}
Specify the name of the Vim server to send to or to become.
! See |--servername|. {not in Vi}
--remote-send {keys}
Send {keys} to a Vim server and exit.
! See |--remote-send|. {not in Vi}
--remote-expr {expr}
Evaluate {expr} in another Vim that functions as a server.
The result is printed on stdout.
! See |--remote-expr|. {not in Vi}
--serverlist Output a list of Vim server names and exit. See
! |--serverlist|. {not in Vi}
--socketid {id} *--socketid*
GTK+ GUI Vim only. Make gvim try to use GtkPlug mechanism, so
that it runs inside another window. See |gui-gtk-socketid|
! for details. {not in Vi}
--windowid {id} *--windowid*
Win32 GUI Vim only. Make gvim try to use the window {id} as a
parent, so that it runs inside that window. See
! |gui-w32-windowid| for details. {not in Vi}
--echo-wid *--echo-wid*
GTK+ GUI Vim only. Make gvim echo the Window ID on stdout,
which can be used to run gvim in a kpart widget. The format
of the output is: >
WID: 12345\n
- < {not in Vi}
--role {role} *--role*
GTK+ 2 GUI only. Set the role of the main window to {role}.
--- 556,614 ----
":source!". When the "scriptout" file already exists, new
characters are appended. See also |complex-repeat|.
{scriptout} cannot start with a digit.
*-W*
-W {scriptout} Like -w, but do not append, overwrite an existing file.
--remote [+{cmd}] {file} ...
Open the {file} in another Vim that functions as a server.
Any non-file arguments must come before this.
! See |--remote|.
--remote-silent [+{cmd}] {file} ...
Like --remote, but don't complain if there is no server.
! See |--remote-silent|.
--remote-wait [+{cmd}] {file} ...
Like --remote, but wait for the server to finish editing the
file(s).
! See |--remote-wait|.
--remote-wait-silent [+{cmd}] {file} ...
Like --remote-wait, but don't complain if there is no server.
! See |--remote-wait-silent|.
--servername {name}
Specify the name of the Vim server to send to or to become.
! See |--servername|.
--remote-send {keys}
Send {keys} to a Vim server and exit.
! See |--remote-send|.
--remote-expr {expr}
Evaluate {expr} in another Vim that functions as a server.
The result is printed on stdout.
! See |--remote-expr|.
--serverlist Output a list of Vim server names and exit. See
! |--serverlist|.
--socketid {id} *--socketid*
GTK+ GUI Vim only. Make gvim try to use GtkPlug mechanism, so
that it runs inside another window. See |gui-gtk-socketid|
! for details.
--windowid {id} *--windowid*
Win32 GUI Vim only. Make gvim try to use the window {id} as a
parent, so that it runs inside that window. See
! |gui-w32-windowid| for details.
--echo-wid *--echo-wid*
GTK+ GUI Vim only. Make gvim echo the Window ID on stdout,
which can be used to run gvim in a kpart widget. The format
of the output is: >
WID: 12345\n
--role {role} *--role*
GTK+ 2 GUI only. Set the role of the main window to {role}.
***************
*** 633,639 ****
identify a window, in order to restore window placement and
such. The --role argument is passed automatically when
restoring the session on login. See |gui-gnome-session|
- {not in Vi}
-P {parent-title} *-P* *MDI* *E671* *E672*
Win32 only: Specify the title of the parent application. When
--- 616,621 ----
***************
*** 1264,1279 ****
*:mk* *:mkexrc*
:mk[exrc] [file] Write current key mappings and changed options to
[file] (default ".exrc" in the current directory),
! unless it already exists. {not in Vi}
:mk[exrc]! [file] Always write current key mappings and changed
options to [file] (default ".exrc" in the current
! directory). {not in Vi}
*:mkv* *:mkvimrc*
:mkv[imrc][!] [file] Like ":mkexrc", but the default is ".vimrc" in the
current directory. The ":version" command is also
! written to the file. {not in Vi}
These commands will write ":map" and ":set" commands to a file, in such a way
that when these commands are executed, the current key mappings and options
--- 1246,1261 ----
*:mk* *:mkexrc*
:mk[exrc] [file] Write current key mappings and changed options to
[file] (default ".exrc" in the current directory),
! unless it already exists.
:mk[exrc]! [file] Always write current key mappings and changed
options to [file] (default ".exrc" in the current
! directory).
*:mkv* *:mkvimrc*
:mkv[imrc][!] [file] Like ":mkexrc", but the default is ".vimrc" in the
current directory. The ":version" command is also
! written to the file.
These commands will write ":map" and ":set" commands to a file, in such a way
that when these commands are executed, the current key mappings and options
***************
*** 1339,1346 ****
|-S| argument: >
vim -S Session.vim
<
! All this is {not in Vi} and {not available when compiled without the
! |+mksession| feature}.
*:mks* *:mksession*
:mks[ession][!] [file] Write a Vim script that restores the current editing
--- 1321,1327 ----
|-S| argument: >
vim -S Session.vim
<
! All this is {not available when compiled without the |+mksession| feature}.
*:mks* *:mksession*
:mks[ession][!] [file] Write a Vim script that restores the current editing
***************
*** 1599,1604 ****
--- 1580,1587 ----
- The "-i" Vim argument can be used to set another file name, |-i|. When the
file name given is "NONE" (all uppercase), no viminfo file is ever read or
written. Also not for the commands below!
+ - The 'viminfofile' option can be used like the "-i" argument. In fact, the
+ value form the "-i" argument is stored in the 'viminfofile' option.
- For the commands below, another file name can be given, overriding the
default and the name given with 'viminfo' or "-i" (unless it's NONE).
***************
*** 1653,1659 ****
:rv[iminfo][!] [file] Read from viminfo file [file] (default: see above).
If [!] is given, then any information that is
already set (registers, marks, |v:oldfiles|, etc.)
! will be overwritten {not in Vi}
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
--- 1636,1642 ----
:rv[iminfo][!] [file] Read from viminfo file [file] (default: see above).
If [!] is given, then any information that is
already set (registers, marks, |v:oldfiles|, etc.)
! will be overwritten
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
***************
*** 1666,1672 ****
check that no old temp files were left behind (e.g.
~/.viminf*) and that you can write in the directory of
the .viminfo file.
- {not in Vi}
*:ol* *:oldfiles*
:ol[dfiles] List the files that have marks stored in the viminfo
--- 1649,1654 ----
***************
*** 1676,1683 ****
The output can be filtered with |:filter|, e.g.: >
filter /\.vim/ oldfiles
< The filtering happens on the file name.
! {not in Vi, only when compiled with the |+eval|
! feature}
:bro[wse] ol[dfiles][!]
List file names as with |:oldfiles|, and then prompt
--- 1658,1664 ----
The output can be filtered with |:filter|, e.g.: >
filter /\.vim/ oldfiles
< The filtering happens on the file name.
! {only when compiled with the |+eval| feature}
:bro[wse] ol[dfiles][!]
List file names as with |:oldfiles|, and then prompt
***************
*** 1688,1691 ****
Use ! to abandon a modified buffer. |abandon|
{not when compiled with tiny or small features}
! vim:tw=78:ts=8:ft=help:norl:
--- 1669,1672 ----
Use ! to abandon a modified buffer. |abandon|
{not when compiled with tiny or small features}
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/syntax.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/syntax.txt 2019-03-29 20:27:11.231682590 +0100
***************
*** 1,4 ****
! *syntax.txt* For Vim version 8.1. Last change: 2018 Apr 30
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *syntax.txt* For Vim version 8.1. Last change: 2019 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 23,43 ****
1. Quick start |:syn-qstart|
2. Syntax files |:syn-files|
3. Syntax loading procedure |syntax-loading|
! 4. Syntax file remarks |:syn-file-remarks|
! 5. Defining a syntax |:syn-define|
! 6. :syntax arguments |:syn-arguments|
! 7. Syntax patterns |:syn-pattern|
! 8. Syntax clusters |:syn-cluster|
! 9. Including syntax files |:syn-include|
! 10. Synchronizing |:syn-sync|
! 11. Listing syntax items |:syntax|
! 12. Highlight command |:highlight|
! 13. Linking groups |:highlight-link|
! 14. Cleaning up |:syn-clear|
! 15. Highlighting tags |tag-highlight|
! 16. Window-local syntax |:ownsyntax|
! 17. Color xterms |xterm-color|
! 18. When syntax is slow |:syntime|
{Vi does not have any of these commands}
--- 23,44 ----
1. Quick start |:syn-qstart|
2. Syntax files |:syn-files|
3. Syntax loading procedure |syntax-loading|
! 4. Converting to HTML |2html.vim|
! 5. Syntax file remarks |:syn-file-remarks|
! 6. Defining a syntax |:syn-define|
! 7. :syntax arguments |:syn-arguments|
! 8. Syntax patterns |:syn-pattern|
! 9. Syntax clusters |:syn-cluster|
! 10. Including syntax files |:syn-include|
! 11. Synchronizing |:syn-sync|
! 12. Listing syntax items |:syntax|
! 13. Highlight command |:highlight|
! 14. Linking groups |:highlight-link|
! 15. Cleaning up |:syn-clear|
! 16. Highlighting tags |tag-highlight|
! 17. Window-local syntax |:ownsyntax|
! 18. Color xterms |xterm-color|
! 19. When syntax is slow |:syntime|
{Vi does not have any of these commands}
***************
*** 368,387 ****
syntax.
==============================================================================
! 4. Syntax file remarks *:syn-file-remarks*
! *b:current_syntax-variable*
! Vim stores the name of the syntax that has been loaded in the
! "b:current_syntax" variable. You can use this if you want to load other
! settings, depending on which syntax is active. Example: >
! :au BufReadPost * if b:current_syntax == "csh"
! :au BufReadPost * do-some-things
! :au BufReadPost * endif
!
!
! 2HTML *2html.vim* *convert-to-HTML*
!
! This is not a syntax file itself, but a script that converts the current
window into HTML. Vim opens a new window in which it builds the HTML file.
After you save the resulting file, you can view it with any browser. The
--- 369,377 ----
syntax.
==============================================================================
! 4. Conversion to HTML *2html.vim* *convert-to-HTML*
! 2html is not a syntax file itself, but a script that converts the current
window into HTML. Vim opens a new window in which it builds the HTML file.
After you save the resulting file, you can view it with any browser. The
***************
*** 671,682 ****
:let g:html_no_pre = 1
<
*g:html_expand_tabs*
! Default: 1 if 'tabstop' is 8, 'expandtab' is 0, and no fold column or line
! numbers occur in the generated HTML;
! 0 otherwise.
! When 0, <Tab> characters in the buffer text are replaced with an appropriate
number of space characters, or references if |g:html_no_pre| is 1.
! When 1, if |g:html_no_pre| is 0 or unset, <Tab> characters in the buffer text
are included as-is in the generated HTML. This is useful for when you want to
allow copy and paste from a browser without losing the actual whitespace in
the source document. Note that this can easily break text alignment and
--- 661,672 ----
:let g:html_no_pre = 1
<
*g:html_expand_tabs*
! Default: 0 if 'tabstop' is 8, 'expandtab' is 0, 'vartabstop' is not in use,
! and no fold column or line numbers occur in the generated HTML;
! 1 otherwise.
! When 1, <Tab> characters in the buffer text are replaced with an appropriate
number of space characters, or references if |g:html_no_pre| is 1.
! When 0, if |g:html_no_pre| is 0 or unset, <Tab> characters in the buffer text
are included as-is in the generated HTML. This is useful for when you want to
allow copy and paste from a browser without losing the actual whitespace in
the source document. Note that this can easily break text alignment and
***************
*** 773,778 ****
--- 763,780 ----
>
:let g:html_use_xhtml = 1
<
+ ==============================================================================
+ 5. Syntax file remarks *:syn-file-remarks*
+
+ *b:current_syntax-variable*
+ Vim stores the name of the syntax that has been loaded in the
+ "b:current_syntax" variable. You can use this if you want to load other
+ settings, depending on which syntax is active. Example: >
+ :au BufReadPost * if b:current_syntax == "csh"
+ :au BufReadPost * do-some-things
+ :au BufReadPost * endif
+
+
ABEL *abel.vim* *ft-abel-syntax*
***************
*** 939,944 ****
--- 941,949 ----
To disable them use ":unlet". Example: >
:unlet c_comment_strings
+ An alternative is to switch to the C++ highlighting: >
+ :set filetype=cpp
+
Variable Highlight ~
*c_gnu* GNU gcc specific items
*c_comment_strings* strings and numbers inside a comment
***************
*** 1265,1271 ****
doxygen_end_punctuation '[.]' Set to regexp match for the ending
punctuation of brief
! There are also some hilight groups worth mentioning as they can be useful in
configuration.
Highlight Effect ~
--- 1270,1276 ----
doxygen_end_punctuation '[.]' Set to regexp match for the ending
punctuation of brief
! There are also some highlight groups worth mentioning as they can be useful in
configuration.
Highlight Effect ~
***************
*** 1957,1963 ****
the parentheses and backquoted parentheses. Because of the quantity of
colorization levels, unlike non-rainbow highlighting, the rainbow mode
specifies its highlighting using ctermfg and guifg, thereby bypassing the
! usual colorscheme control using standard highlighting groups. The actual
highlighting used depends on the dark/bright setting (see |'bg'|).
--- 1962,1968 ----
the parentheses and backquoted parentheses. Because of the quantity of
colorization levels, unlike non-rainbow highlighting, the rainbow mode
specifies its highlighting using ctermfg and guifg, thereby bypassing the
! usual color scheme control using standard highlighting groups. The actual
highlighting used depends on the dark/bright setting (see |'bg'|).
***************
*** 1977,1983 ****
LPC *lpc.vim* *ft-lpc-syntax*
! LPC stands for a simple, memory-efficient language: Lars Pensj| C. The
file name of LPC is usually *.c. Recognizing these files as LPC would bother
users writing only C programs. If you want to use LPC syntax in Vim, you
should set a variable in your .vimrc file: >
--- 1982,1988 ----
LPC *lpc.vim* *ft-lpc-syntax*
! LPC stands for a simple, memory-efficient language: Lars Pensjö C. The
file name of LPC is usually *.c. Recognizing these files as LPC would bother
users writing only C programs. If you want to use LPC syntax in Vim, you
should set a variable in your .vimrc file: >
***************
*** 2641,2646 ****
--- 2646,2693 ----
commands than are actually available to you by the game.
+ R *r.vim* *ft-r-syntax*
+
+ The parsing of R code for syntax highlight starts 40 lines backwards, but you
+ can set a different value in your |vimrc|. Example: >
+ let r_syntax_minlines = 60
+
+ You can also turn off syntax highlighting of ROxygen: >
+ let r_syntax_hl_roxygen = 0
+
+ enable folding of code delimited by parentheses, square brackets and curly
+ braces: >
+ let r_syntax_folding = 1
+
+ and highlight as functions all keywords followed by an opening parenthesis: >
+ let r_syntax_fun_pattern = 1
+
+
+ R MARKDOWN *rmd.vim* *ft-rmd-syntax*
+
+ To disable syntax highlight of YAML header, add to your |vimrc|: >
+ let rmd_syn_hl_yaml = 0
+
+ To disable syntax highlighting of citation keys: >
+ let rmd_syn_hl_citations = 0
+
+ To highlight R code in knitr chunk headers: >
+ let rmd_syn_hl_chunk = 1
+
+ By default, chunks of R code will be highlighted following the rules of R
+ language. If you want proper syntax highlighting of chunks of other languages,
+ you should add them to either `markdown_fenced_languages` or
+ `rmd_fenced_languages`. For example to properly highlight both R and Python,
+ you may add this to your |vimrc|: >
+ let rmd_fenced_languages = ['r', 'python']
+
+
+ R RESTRUCTURED TEXT *rrst.vim* *ft-rrst-syntax*
+
+ To highlight R code in knitr chunk headers, add to your |vimrc|: >
+ let rrst_syn_hl_chunk = 1
+
+
READLINE *readline.vim* *ft-readline-syntax*
The readline library is primarily used by the BASH shell, which adds quite a
***************
*** 2655,2663 ****
RESTRUCTURED TEXT *rst.vim* *ft-rst-syntax*
! You may set what syntax definitions should be used for code blocks via >
let rst_syntax_code_list = ['vim', 'lisp', ...]
! <
REXX *rexx.vim* *ft-rexx-syntax*
--- 2702,2730 ----
RESTRUCTURED TEXT *rst.vim* *ft-rst-syntax*
! Syntax highlighting is enabled for code blocks within the document for a
! select number of file types. See $VIMRUNTIME/syntax/rst.vim for the default
! syntax list.
!
! To set a user-defined list of code block syntax highlighting: >
let rst_syntax_code_list = ['vim', 'lisp', ...]
!
! To assign multiple code block types to a single syntax, define
! `rst_syntax_code_list` as a mapping: >
! let rst_syntax_code_list = {
! \ 'cpp' = ['cpp', 'c++'],
! \ 'bash' = ['bash', 'sh'],
! ...
! }
!
! To use color highlighting for emphasis text: >
! let rst_use_emphasis_colors = 1
!
! To enable folding of sections: >
! let rst_fold_enabled = 1
!
! Note that folding can cause performance issues on some platforms.
!
REXX *rexx.vim* *ft-rexx-syntax*
***************
*** 2876,2892 ****
shells such as bash, dash, posix, and the Korn shells.
Vim attempts to determine which shell type is in use by specifying that
! various filenames are of specific types: >
ksh : .kshrc* *.ksh
bash: .bashrc* bashrc bash.bashrc .bash_profile* *.bash
<
! If none of these cases pertain, then the first line of the file is examined
! (ex. looking for /bin/sh /bin/ksh /bin/bash). If the first line specifies a
! shelltype, then that shelltype is used. However some files (ex. .profile) are
! known to be shell files but the type is not apparent. Furthermore, on many
! systems sh is symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh"
! (Posix).
One may specify a global default by instantiating one of the following
variables in your <.vimrc>:
--- 2943,2959 ----
shells such as bash, dash, posix, and the Korn shells.
Vim attempts to determine which shell type is in use by specifying that
! various filenames are of specific types, e.g.: >
ksh : .kshrc* *.ksh
bash: .bashrc* bashrc bash.bashrc .bash_profile* *.bash
<
! See $VIMRUNTIME/filetype.vim for the full list of patterns. If none of these
! cases pertain, then the first line of the file is examined (ex. looking for
! /bin/sh /bin/ksh /bin/bash). If the first line specifies a shelltype, then
! that shelltype is used. However some files (ex. .profile) are known to be
! shell files but the type is not apparent. Furthermore, on many systems sh is
! symbolically linked to "bash" (Linux, Windows+cygwin) or "ksh" (Posix).
One may specify a global default by instantiating one of the following
variables in your <.vimrc>:
***************
*** 3169,3174 ****
--- 3236,3247 ----
which typically would go in $HOME/after/syntax/tex/[pkgname].vim, to
http://vim.sf.net/.
+ I've included some support for various popular packages on my website: >
+
+
http://www.drchip.org/astronaut/vim/index.html#LATEXPKGS
+ <
+ The syntax files there go into your .../after/syntax/tex/ directory.
+
*tex-error* *g:tex_no_error*
Tex: Excessive Error Highlighting? ~
***************
*** 3433,3439 ****
:let g:zsh_fold_enable = 1
==============================================================================
! 5. Defining a syntax *:syn-define* *E410*
Vim understands three types of syntax items:
--- 3506,3512 ----
:let g:zsh_fold_enable = 1
==============================================================================
! 6. Defining a syntax *:syn-define* *E410*
Vim understands three types of syntax items:
***************
*** 3792,3798 ****
The maximum number of syntax groups is 19999.
==============================================================================
! 6. :syntax arguments *:syn-arguments*
The :syntax commands that define syntax items take a number of arguments.
The common ones are explained here. The arguments may be given in any order
--- 3865,3871 ----
The maximum number of syntax groups is 19999.
==============================================================================
! 7. :syntax arguments *:syn-arguments*
The :syntax commands that define syntax items take a number of arguments.
The common ones are explained here. The arguments may be given in any order
***************
*** 4113,4119 ****
Show either "syntax conceal on" or "syntax conceal off" (translated).
==============================================================================
! 7. Syntax patterns *:syn-pattern* *E401* *E402*
In the syntax commands, a pattern must be surrounded by two identical
characters. This is like it works for the ":s" command. The most common to
--- 4186,4192 ----
Show either "syntax conceal on" or "syntax conceal off" (translated).
==============================================================================
! 8. Syntax patterns *:syn-pattern* *E401* *E402*
In the syntax commands, a pattern must be surrounded by two identical
characters. This is like it works for the ":s" command. The most common to
***************
*** 4291,4297 ****
cannot be referred to.
==============================================================================
! 8. Syntax clusters *:syn-cluster* *E400*
:sy[ntax] cluster {cluster-name} [contains={group-name}..]
[add={group-name}..]
--- 4364,4370 ----
cannot be referred to.
==============================================================================
! 9. Syntax clusters *:syn-cluster* *E400*
:sy[ntax] cluster {cluster-name} [contains={group-name}..]
[add={group-name}..]
***************
*** 4337,4343 ****
The maximum number of clusters is 9767.
==============================================================================
! 9. Including syntax files *:syn-include* *E397*
It is often useful for one language's syntax file to include a syntax file for
a related language. Depending on the exact relationship, this can be done in
--- 4410,4416 ----
The maximum number of clusters is 9767.
==============================================================================
! 10. Including syntax files *:syn-include* *E397*
It is often useful for one language's syntax file to include a syntax file for
a related language. Depending on the exact relationship, this can be done in
***************
*** 4378,4384 ****
The maximum number of includes is 999.
==============================================================================
! 10. Synchronizing *:syn-sync* *E403* *E404*
Vim wants to be able to start redrawing in any position in the document. To
make this possible it needs to know the syntax state at the position where
--- 4451,4457 ----
The maximum number of includes is 999.
==============================================================================
! 11. Synchronizing *:syn-sync* *E403* *E404*
Vim wants to be able to start redrawing in any position in the document. To
make this possible it needs to know the syntax state at the position where
***************
*** 4570,4576 ****
:syntax sync clear {sync-group-name} ..
==============================================================================
! 11. Listing syntax items *:syntax* *:sy* *:syn* *:syn-list*
This command lists all the syntax items: >
--- 4643,4649 ----
:syntax sync clear {sync-group-name} ..
==============================================================================
! 12. Listing syntax items *:syntax* *:sy* *:syn* *:syn-list*
This command lists all the syntax items: >
***************
*** 4590,4596 ****
is mostly used, because it looks better.
==============================================================================
! 12. Highlight command *:highlight* *:hi* *E28* *E411* *E415*
There are three types of highlight groups:
- The ones used for specific languages. For these the name starts with the
--- 4663,4669 ----
is mostly used, because it looks better.
==============================================================================
! 13. Highlight command *:highlight* *:hi* *E28* *E411* *E415*
There are three types of highlight groups:
- The ones used for specific languages. For these the name starts with the
***************
*** 4621,4629 ****
Doesn't work recursively, thus you can't use
":colorscheme" in a color scheme script.
! To customize a colorscheme use another name, e.g.
"~/.vim/colors/mine.vim", and use `:runtime` to load
! the original colorscheme: >
runtime colors/evening.vim
hi Statement ctermfg=Blue guifg=Blue
--- 4694,4702 ----
Doesn't work recursively, thus you can't use
":colorscheme" in a color scheme script.
! To customize a color scheme use another name, e.g.
"~/.vim/colors/mine.vim", and use `:runtime` to load
! the original color scheme: >
runtime colors/evening.vim
hi Statement ctermfg=Blue guifg=Blue
***************
*** 4631,4637 ****
|ColorSchemePre| autocommand event is triggered.
After the color scheme has been loaded the
|ColorScheme| autocommand event is triggered.
! For info about writing a colorscheme file: >
:edit $VIMRUNTIME/colors/README.txt
:hi[ghlight] List all the current highlight groups that have
--- 4704,4710 ----
|ColorSchemePre| autocommand event is triggered.
After the color scheme has been loaded the
|ColorScheme| autocommand event is triggered.
! For info about writing a color scheme file: >
:edit $VIMRUNTIME/colors/README.txt
:hi[ghlight] List all the current highlight groups that have
***************
*** 4828,4834 ****
explicitly. This causes the highlight groups that depend on
'background' to change! This means you should set the colors for
Normal first, before setting other colors.
! When a colorscheme is being used, changing 'background' causes it to
be reloaded, which may reset all colors (including Normal). First
delete the "g:colors_name" variable when you don't want this.
--- 4901,4907 ----
explicitly. This causes the highlight groups that depend on
'background' to change! This means you should set the colors for
Normal first, before setting other colors.
! When a color scheme is being used, changing 'background' causes it to
be reloaded, which may reset all colors (including Normal). First
delete the "g:colors_name" variable when you don't want this.
***************
*** 5083,5089 ****
set.
==============================================================================
! 13. Linking groups *:hi-link* *:highlight-link* *E412* *E413*
When you want to use the same highlighting for several syntax groups, you
can do this more easily by linking the groups into one common highlight
--- 5156,5162 ----
set.
==============================================================================
! 14. Linking groups *:hi-link* *:highlight-link* *E412* *E413*
When you want to use the same highlighting for several syntax groups, you
can do this more easily by linking the groups into one common highlight
***************
*** 5121,5127 ****
overruled when the syntax file is loaded.
==============================================================================
! 14. Cleaning up *:syn-clear* *E391*
If you want to clear the syntax stuff for the current buffer, you can use this
command: >
--- 5194,5200 ----
overruled when the syntax file is loaded.
==============================================================================
! 15. Cleaning up *:syn-clear* *E391*
If you want to clear the syntax stuff for the current buffer, you can use this
command: >
***************
*** 5212,5218 ****
them.
==============================================================================
! 15. Highlighting tags *tag-highlight*
If you want to highlight all the tags in your file, you can use the following
mappings.
--- 5285,5291 ----
them.
==============================================================================
! 16. Highlighting tags *tag-highlight*
If you want to highlight all the tags in your file, you can use the following
mappings.
***************
*** 5247,5253 ****
autocmd BufRead,BufNewFile *.[ch] endif
==============================================================================
! 16. Window-local syntax *:ownsyntax*
Normally all windows on a buffer share the same syntax settings. It is
possible, however, to set a particular window on a file to have its own
--- 5320,5326 ----
autocmd BufRead,BufNewFile *.[ch] endif
==============================================================================
! 17. Window-local syntax *:ownsyntax*
Normally all windows on a buffer share the same syntax settings. It is
possible, however, to set a particular window on a file to have its own
***************
*** 5277,5283 ****
When splitting the window, the new window will use the original syntax.
==============================================================================
! 17. Color xterms *xterm-color* *color-xterm*
Most color xterms have only eight colors. If you don't get colors with the
default setup, it should work with these lines in your .vimrc: >
--- 5350,5356 ----
When splitting the window, the new window will use the original syntax.
==============================================================================
! 18. Color xterms *xterm-color* *color-xterm*
Most color xterms have only eight colors. If you don't get colors with the
default setup, it should work with these lines in your .vimrc: >
***************
*** 5421,5427 ****
==============================================================================
! 18. When syntax is slow *:syntime*
This is aimed at authors of a syntax file.
--- 5494,5500 ----
==============================================================================
! 19. When syntax is slow *:syntime*
This is aimed at authors of a syntax file.
***************
*** 5478,5481 ****
"<\@1<=span" Matches the same, but only tries one byte before "span".
! vim:tw=78:sw=4:ts=8:ft=help:norl:
--- 5551,5554 ----
"<\@1<=span" Matches the same, but only tries one byte before "span".
! vim:tw=78:sw=4:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/tabpage.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/tabpage.txt 2019-05-05 17:50:51.295546075 +0200
***************
*** 1,4 ****
! *tabpage.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *tabpage.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 16,22 ****
4. Setting 'tabline' |setting-tabline|
5. Setting 'guitablabel' |setting-guitablabel|
- {Vi does not have any of these commands}
{not able to use multiple tab pages when the |+windows| feature was disabled
at compile time}
--- 16,21 ----
***************
*** 213,219 ****
:tabN[ext] {count}
{count}<C-PageUp>
{count}gT Go {count} tab pages back. Wraps around from the first one
! to the last one.
:tabr[ewind] *:tabfir* *:tabfirst* *:tabr* *:tabrewind*
:tabfir[st] Go to the first tab page.
--- 212,219 ----
:tabN[ext] {count}
{count}<C-PageUp>
{count}gT Go {count} tab pages back. Wraps around from the first one
! to the last one. Note that the use of {count} is different
! from |:tabnext|, where it is used as the tab page number.
:tabr[ewind] *:tabfir* *:tabfirst* *:tabr* *:tabrewind*
:tabfir[st] Go to the first tab page.
***************
*** 240,247 ****
: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. >
:.tabmove " do nothing
:-tabmove " move the tab page to the left
:+tabmove " move the tab page to the right
--- 240,249 ----
: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. 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
***************
*** 286,292 ****
current tab page.
{cmd} can contain '|' to concatenate several commands.
{cmd} must not open or close tab pages or reorder them.
- {not in Vi}
Also see |:windo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|, |:cfdo|
and |:lfdo|
--- 288,293 ----
***************
*** 471,474 ****
tab page local variable. |t:var|
! vim:tw=78:ts=8:ft=help:norl:
--- 472,475 ----
tab page local variable. |t:var|
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/tagsrch.txt 2019-04-28 18:04:56.054492198 +0200
--- runtime/doc/tagsrch.txt 2019-05-05 17:53:15.690761399 +0200
***************
*** 1,4 ****
! *tagsrch.txt* For Vim version 8.1. Last change: 2018 May 04
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *tagsrch.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 60,66 ****
*v_CTRL-]*
{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
! is highlighted. {not in Vi}
*telnet-CTRL-]*
CTRL-] is the default telnet escape key. When you type CTRL-] to jump to a
--- 60,66 ----
*v_CTRL-]*
{Visual}CTRL-] Same as ":tag {name}", where {name} is the text that
! is highlighted.
*telnet-CTRL-]*
CTRL-] is the default telnet escape key. When you type CTRL-] to jump to a
***************
*** 112,129 ****
g<RightMouse> *g<RightMouse>*
<C-RightMouse> *<C-RightMouse>* *CTRL-T*
CTRL-T Jump to [count] older entry in the tag stack
! (default 1). {not in Vi}
*:po* *:pop* *E555* *E556*
:[count]po[p][!] Jump to [count] older entry in tag stack (default 1).
! See |tag-!| for [!]. {not in Vi}
:[count]ta[g][!] Jump to [count] newer entry in tag stack (default 1).
! See |tag-!| for [!]. {not in Vi}
*:tags*
:tags Show the contents of the tag stack. The active
! entry is marked with a '>'. {not in Vi}
The output of ":tags" looks like this:
--- 112,129 ----
g<RightMouse> *g<RightMouse>*
<C-RightMouse> *<C-RightMouse>* *CTRL-T*
CTRL-T Jump to [count] older entry in the tag stack
! (default 1).
*:po* *:pop* *E555* *E556*
:[count]po[p][!] Jump to [count] older entry in tag stack (default 1).
! See |tag-!| for [!].
:[count]ta[g][!] Jump to [count] newer entry in tag stack (default 1).
! See |tag-!| for [!].
*:tags*
:tags Show the contents of the tag stack. The active
! entry is marked with a '>'.
The output of ":tags" looks like this:
***************
*** 204,210 ****
the current position in the list (if there is one).
[name] can be a regexp pattern, see |tag-regexp|.
See |tag-priority| for the priorities used in the
! listing. {not in Vi}
Example output:
>
--- 204,210 ----
the current position in the list (if there is one).
[name] can be a regexp pattern, see |tag-regexp|.
See |tag-priority| for the priorities used in the
! listing.
Example output:
>
***************
*** 231,284 ****
*:sts* *:stselect*
:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
! the selected tag. {not in Vi}
*g]*
g] Like CTRL-], but use ":tselect" instead of ":tag".
- {not in Vi}
*v_g]*
{Visual}g] Same as "g]", but use the highlighted text as the
! identifier. {not in Vi}
*:tj* *:tjump*
:tj[ump][!] [name] Like ":tselect", but jump to the tag directly when
! there is only one match. {not in Vi}
*:stj* *:stjump*
:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
! selected tag. {not in Vi}
*g_CTRL-]*
g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
- {not in Vi}
*v_g_CTRL-]*
{Visual}g CTRL-] Same as "g CTRL-]", but use the highlighted text as
! the identifier. {not in Vi}
*:tn* *:tnext*
:[count]tn[ext][!] Jump to [count] next matching tag (default 1). See
! |tag-!| for [!]. {not in Vi}
*:tp* *:tprevious*
:[count]tp[revious][!] Jump to [count] previous matching tag (default 1).
! See |tag-!| for [!]. {not in Vi}
*:tN* *:tNext*
! :[count]tN[ext][!] Same as ":tprevious". {not in Vi}
*:tr* *:trewind*
:[count]tr[ewind][!] Jump to first matching tag. If [count] is given, jump
! to [count]th matching tag. See |tag-!| for [!]. {not
! in Vi}
*:tf* *:tfirst*
! :[count]tf[irst][!] Same as ":trewind". {not in Vi}
*:tl* *:tlast*
! :tl[ast][!] Jump to last matching tag. See |tag-!| for [!]. {not
! in Vi}
*:lt* *:ltag*
:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
--- 231,280 ----
*:sts* *:stselect*
:sts[elect][!] [name] Does ":tselect[!] [name]" and splits the window for
! the selected tag.
*g]*
g] Like CTRL-], but use ":tselect" instead of ":tag".
*v_g]*
{Visual}g] Same as "g]", but use the highlighted text as the
! identifier.
*:tj* *:tjump*
:tj[ump][!] [name] Like ":tselect", but jump to the tag directly when
! there is only one match.
*:stj* *:stjump*
:stj[ump][!] [name] Does ":tjump[!] [name]" and splits the window for the
! selected tag.
*g_CTRL-]*
g CTRL-] Like CTRL-], but use ":tjump" instead of ":tag".
*v_g_CTRL-]*
{Visual}g CTRL-] Same as "g CTRL-]", but use the highlighted text as
! the identifier.
*:tn* *:tnext*
:[count]tn[ext][!] Jump to [count] next matching tag (default 1). See
! |tag-!| for [!].
*:tp* *:tprevious*
:[count]tp[revious][!] Jump to [count] previous matching tag (default 1).
! See |tag-!| for [!].
*:tN* *:tNext*
! :[count]tN[ext][!] Same as ":tprevious".
*:tr* *:trewind*
:[count]tr[ewind][!] Jump to first matching tag. If [count] is given, jump
! to [count]th matching tag. See |tag-!| for [!].
*:tf* *:tfirst*
! :[count]tf[irst][!] Same as ":trewind".
*:tl* *:tlast*
! :tl[ast][!] Jump to last matching tag. See |tag-!| for [!].
*:lt* *:ltag*
:lt[ag][!] [name] Jump to tag [name] and add the matching tags to a new
***************
*** 290,296 ****
characters (very nomagic). The location list showing
the matching tags is independent of the tag stack.
See |tag-!| for [!].
- {not in Vi}
When there is no other message, Vim shows which matching tag has been jumped
to, and the number of matching tags: >
--- 286,291 ----
***************
*** 317,350 ****
*:pts* *:ptselect*
:pts[elect][!] [name] Does ":tselect[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
- {not in Vi}
*:ptj* *:ptjump*
:ptj[ump][!] [name] Does ":tjump[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
- {not in Vi}
*:ptn* *:ptnext*
:[count]ptn[ext][!] ":tnext" in the preview window. See |:ptag|.
- {not in Vi}
*:ptp* *:ptprevious*
:[count]ptp[revious][!] ":tprevious" in the preview window. See |:ptag|.
- {not in Vi}
*:ptN* *:ptNext*
! :[count]ptN[ext][!] Same as ":ptprevious". {not in Vi}
*:ptr* *:ptrewind*
:[count]ptr[ewind][!] ":trewind" in the preview window. See |:ptag|.
- {not in Vi}
*:ptf* *:ptfirst*
! :[count]ptf[irst][!] Same as ":ptrewind". {not in Vi}
*:ptl* *:ptlast*
:ptl[ast][!] ":tlast" in the preview window. See |:ptag|.
- {not in Vi}
==============================================================================
4. Tags details *tag-details*
--- 312,339 ----
*:pts* *:ptselect*
:pts[elect][!] [name] Does ":tselect[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
*:ptj* *:ptjump*
:ptj[ump][!] [name] Does ":tjump[!] [name]" and shows the new tag in a
"Preview" window. See |:ptag| for more info.
*:ptn* *:ptnext*
:[count]ptn[ext][!] ":tnext" in the preview window. See |:ptag|.
*:ptp* *:ptprevious*
:[count]ptp[revious][!] ":tprevious" in the preview window. See |:ptag|.
*:ptN* *:ptNext*
! :[count]ptN[ext][!] Same as ":ptprevious".
*:ptr* *:ptrewind*
:[count]ptr[ewind][!] ":trewind" in the preview window. See |:ptag|.
*:ptf* *:ptfirst*
! :[count]ptf[irst][!] Same as ":ptrewind".
*:ptl* *:ptlast*
:ptl[ast][!] ":tlast" in the preview window. See |:ptag|.
==============================================================================
4. Tags details *tag-details*
***************
*** 630,639 ****
"?"), some special handling is done:
- Searching starts on line 1 of the file.
The direction of the search is forward for "/", backward for "?".
! Note that 'wrapscan' does not matter, the whole file is always searched. (Vi
! does use 'wrapscan', which caused tags sometimes not be found.) {Vi starts
! searching in line 2 of another file. It does not find a tag in line 1 of
! another file when 'wrapscan' is not set}
- If the search fails, another try is done ignoring case. If that fails too,
a search is done for:
"^tagname[ \t]*("
--- 619,625 ----
"?"), some special handling is done:
- Searching starts on line 1 of the file.
The direction of the search is forward for "/", backward for "?".
! Note that 'wrapscan' does not matter, the whole file is always searched.
- If the search fails, another try is done ignoring case. If that fails too,
a search is done for:
"^tagname[ \t]*("
***************
*** 644,650 ****
"^[#a-zA-Z_].*\<tagname[ \t]*("
This means: A line starting with '#' or an identifier and containing the tag
followed by white space and a '('. This will find macro names and function
! names with a type prepended. {the extra searches are not in Vi}
*tag-old-static*
--- 630,636 ----
"^[#a-zA-Z_].*\<tagname[ \t]*("
This means: A line starting with '#' or an identifier and containing the tag
followed by white space and a '('. This will find macro names and function
! names with a type prepended.
*tag-old-static*
***************
*** 720,752 ****
of the file. Lines that look like a comment are
ignored (see 'comments' option). If a count is given,
the count'th matching line is displayed, and comment
! lines are not ignored. {not in Vi}
*]i*
]i like "[i", but start at the current cursor position.
- {not in Vi}
*:is* *:isearch*
:[range]is[earch][!] [count] [/]pattern[/]
Like "[i" and "]i", but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!]. {not in Vi}
*[I*
[I Display all lines that contain the keyword under the
cursor. Filenames and line numbers are displayed
for the found lines. The search starts at the
! beginning of the file. {not in Vi}
*]I*
]I like "[I", but start at the current cursor position.
- {not in Vi}
*:il* *:ilist*
:[range]il[ist][!] [/]pattern[/]
Like "[I" and "]I", but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!]. {not in Vi}
*[_CTRL-I*
[ CTRL-I Jump to the first line that contains the keyword
--- 706,736 ----
of the file. Lines that look like a comment are
ignored (see 'comments' option). If a count is given,
the count'th matching line is displayed, and comment
! lines are not ignored.
*]i*
]i like "[i", but start at the current cursor position.
*:is* *:isearch*
:[range]is[earch][!] [count] [/]pattern[/]
Like "[i" and "]i", but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!].
*[I*
[I Display all lines that contain the keyword under the
cursor. Filenames and line numbers are displayed
for the found lines. The search starts at the
! beginning of the file.
*]I*
]I like "[I", but start at the current cursor position.
*:il* *:ilist*
:[range]il[ist][!] [/]pattern[/]
Like "[I" and "]I", but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!].
*[_CTRL-I*
[ CTRL-I Jump to the first line that contains the keyword
***************
*** 754,770 ****
of the file. Lines that look like a comment are
ignored (see 'comments' option). If a count is given,
the count'th matching line is jumped to, and comment
! lines are not ignored. {not in Vi}
*]_CTRL-I*
] CTRL-I like "[ CTRL-I", but start at the current cursor
! position. {not in Vi}
*:ij* *:ijump*
:[range]ij[ump][!] [count] [/]pattern[/]
Like "[ CTRL-I" and "] CTRL-I", but search in
[range] lines (default: whole file).
! See |:search-args| for [/] and [!]. {not in Vi}
CTRL-W CTRL-I *CTRL-W_CTRL-I* *CTRL-W_i*
CTRL-W i Open a new window, with the cursor on the first line
--- 738,754 ----
of the file. Lines that look like a comment are
ignored (see 'comments' option). If a count is given,
the count'th matching line is jumped to, and comment
! lines are not ignored.
*]_CTRL-I*
] CTRL-I like "[ CTRL-I", but start at the current cursor
! position.
*:ij* *:ijump*
:[range]ij[ump][!] [count] [/]pattern[/]
Like "[ CTRL-I" and "] CTRL-I", but search in
[range] lines (default: whole file).
! See |:search-args| for [/] and [!].
CTRL-W CTRL-I *CTRL-W_CTRL-I* *CTRL-W_i*
CTRL-W i Open a new window, with the cursor on the first line
***************
*** 773,817 ****
that look like a comment line are ignored (see
'comments' option). If a count is given, the count'th
matching line is jumped to, and comment lines are not
! ignored. {not in Vi}
*:isp* *:isplit*
:[range]isp[lit][!] [count] [/]pattern[/]
Like "CTRL-W i" and "CTRL-W i", but search in
[range] lines (default: whole file).
! See |:search-args| for [/] and [!]. {not in Vi}
*[d*
[d Display the first macro definition that contains the
macro under the cursor. The search starts from the
beginning of the file. If a count is given, the
! count'th matching line is displayed. {not in Vi}
*]d*
]d like "[d", but start at the current cursor position.
- {not in Vi}
*:ds* *:dsearch*
:[range]ds[earch][!] [count] [/]string[/]
Like "[d" and "]d", but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!]. {not in Vi}
*[D*
[D Display all macro definitions that contain the macro
under the cursor. Filenames and line numbers are
displayed for the found lines. The search starts
! from the beginning of the file. {not in Vi}
*]D*
]D like "[D", but start at the current cursor position.
- {not in Vi}
*:dli* *:dlist*
:[range]dli[st][!] [/]string[/]
Like `[D` and `]D`, but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!]. {not in Vi}
Note that `:dl` works like `:delete` with the "l"
flag, not `:dlist`.
--- 757,799 ----
that look like a comment line are ignored (see
'comments' option). If a count is given, the count'th
matching line is jumped to, and comment lines are not
! ignored.
*:isp* *:isplit*
:[range]isp[lit][!] [count] [/]pattern[/]
Like "CTRL-W i" and "CTRL-W i", but search in
[range] lines (default: whole file).
! See |:search-args| for [/] and [!].
*[d*
[d Display the first macro definition that contains the
macro under the cursor. The search starts from the
beginning of the file. If a count is given, the
! count'th matching line is displayed.
*]d*
]d like "[d", but start at the current cursor position.
*:ds* *:dsearch*
:[range]ds[earch][!] [count] [/]string[/]
Like "[d" and "]d", but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!].
*[D*
[D Display all macro definitions that contain the macro
under the cursor. Filenames and line numbers are
displayed for the found lines. The search starts
! from the beginning of the file.
*]D*
]D like "[D", but start at the current cursor position.
*:dli* *:dlist*
:[range]dli[st][!] [/]string[/]
Like `[D` and `]D`, but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!].
Note that `:dl` works like `:delete` with the "l"
flag, not `:dlist`.
***************
*** 819,854 ****
[ CTRL-D Jump to the first macro definition that contains the
keyword under the cursor. The search starts from
the beginning of the file. If a count is given, the
! count'th matching line is jumped to. {not in Vi}
*]_CTRL-D*
] CTRL-D like "[ CTRL-D", but start at the current cursor
! position. {not in Vi}
*:dj* *:djump*
:[range]dj[ump][!] [count] [/]string[/]
Like "[ CTRL-D" and "] CTRL-D", but search in
[range] lines (default: whole file).
! See |:search-args| for [/] and [!]. {not in Vi}
CTRL-W CTRL-D *CTRL-W_CTRL-D* *CTRL-W_d*
CTRL-W d Open a new window, with the cursor on the first
macro definition line that contains the keyword
under the cursor. The search starts from the
beginning of the file. If a count is given, the
! count'th matching line is jumped to. {not in Vi}
*:dsp* *:dsplit*
:[range]dsp[lit][!] [count] [/]string[/]
Like "CTRL-W d", but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!]. {not in Vi}
*:che* *:checkpath*
:che[ckpath] List all the included files that could not be found.
- {not in Vi}
! :che[ckpath]! List all the included files. {not in Vi}
*:search-args*
Common arguments for the commands above:
--- 801,835 ----
[ CTRL-D Jump to the first macro definition that contains the
keyword under the cursor. The search starts from
the beginning of the file. If a count is given, the
! count'th matching line is jumped to.
*]_CTRL-D*
] CTRL-D like "[ CTRL-D", but start at the current cursor
! position.
*:dj* *:djump*
:[range]dj[ump][!] [count] [/]string[/]
Like "[ CTRL-D" and "] CTRL-D", but search in
[range] lines (default: whole file).
! See |:search-args| for [/] and [!].
CTRL-W CTRL-D *CTRL-W_CTRL-D* *CTRL-W_d*
CTRL-W d Open a new window, with the cursor on the first
macro definition line that contains the keyword
under the cursor. The search starts from the
beginning of the file. If a count is given, the
! count'th matching line is jumped to.
*:dsp* *:dsplit*
:[range]dsp[lit][!] [count] [/]string[/]
Like "CTRL-W d", but search in [range] lines
(default: whole file).
! See |:search-args| for [/] and [!].
*:che* *:checkpath*
:che[ckpath] List all the included files that could not be found.
! :che[ckpath]! List all the included files.
*:search-args*
Common arguments for the commands above:
*** ../vim-8.1.1279/runtime/doc/terminal.txt 2019-02-22 17:56:02.787842436 +0100
--- runtime/doc/terminal.txt 2019-05-05 17:53:28.734690163 +0200
***************
*** 1,4 ****
! *terminal.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *terminal.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 42,48 ****
Communication |termdebug-communication|
Customizing |termdebug-customizing|
- {Vi does not have any of these commands}
{only available when compiled with the |+terminal| feature}
The terminal feature requires the |+job| and |+channel| features.
--- 42,47 ----
***************
*** 66,87 ****
the job. This uses a pty when possible. You can click outside of the
terminal window to move keyboard focus elsewhere.
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
CTRL-W CTRL-W move focus to the next window
CTRL-W : enter an Ex command
See |CTRL-W| for more commands.
! Special in the terminal window: *CTRL-W_.* *CTRL-W_N*
CTRL-W . send a CTRL-W to the job in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
CTRL-W N go to Terminal-Normal mode, see |Terminal-mode|
CTRL-\ CTRL-N go to Terminal-Normal mode, see |Terminal-mode|
! CTRL-W " {reg} paste register {reg} *CTRL-W_quote*
Also works with the = register to insert the result of
evaluating an expression.
CTRL-W CTRL-C ends the job, see below |t_CTRL-W_CTRL-C|
! CTRL-W gt go to next tabpage, same as `gt`
! CTRL-W gT go to previous tabpage, same as `gT`
See option 'termwinkey' for specifying another key instead of CTRL-W that
will work like CTRL-W. However, typing 'termwinkey' twice sends 'termwinkey'
--- 65,87 ----
the job. This uses a pty when possible. You can click outside of the
terminal window to move keyboard focus elsewhere.
+ *t_CTRL-W_CTRL-W* *t_CTRL-W_:*
CTRL-W can be used to navigate between windows and other CTRL-W commands, e.g.:
CTRL-W CTRL-W move focus to the next window
CTRL-W : enter an Ex command
See |CTRL-W| for more commands.
! Special in the terminal window: *t_CTRL-W_.* *t_CTRL-W_N*
CTRL-W . send a CTRL-W to the job in the terminal
CTRL-W CTRL-\ send a CTRL-\ to the job in the terminal
CTRL-W N go to Terminal-Normal mode, see |Terminal-mode|
CTRL-\ CTRL-N go to Terminal-Normal mode, see |Terminal-mode|
! CTRL-W " {reg} paste register {reg} *t_CTRL-W_quote*
Also works with the = register to insert the result of
evaluating an expression.
CTRL-W CTRL-C ends the job, see below |t_CTRL-W_CTRL-C|
! CTRL-W gt go to next tabpage, same as `gt` *t_CTRL-W_gt*
! CTRL-W gT go to previous tabpage, same as `gT` *t_CTRL-W_gT*
See option 'termwinkey' for specifying another key instead of CTRL-W that
will work like CTRL-W. However, typing 'termwinkey' twice sends 'termwinkey'
***************
*** 92,99 ****
'termwinkey' . send 'termwinkey' to the job in the terminal
'termwinkey' CTRL-\ send a CTRL-\ to the job in the terminal
'termwinkey' N go to terminal Normal mode, see below
! 'termwinkey' CTRL-N same as CTRL-W N
! 'termwinkey' CTRL-C same as |t_CTRL-W_CTRL-C|
*t_CTRL-\_CTRL-N*
The special key combination CTRL-\ CTRL-N can be used to switch to Normal
mode, just like this works in any other mode.
--- 92,99 ----
'termwinkey' . send 'termwinkey' to the job in the terminal
'termwinkey' CTRL-\ send a CTRL-\ to the job in the terminal
'termwinkey' N go to terminal Normal mode, see below
! 'termwinkey' CTRL-N same as CTRL-W N |t_CTRL-W_N|
! 'termwinkey' CTRL-C same as CTRL-W CTRL-C |t_CTRL-W_CTRL-C|
*t_CTRL-\_CTRL-N*
The special key combination CTRL-\ CTRL-N can be used to switch to Normal
mode, just like this works in any other mode.
*** ../vim-8.1.1279/runtime/doc/term.txt 2018-08-07 22:30:26.662240885 +0200
--- runtime/doc/term.txt 2019-04-11 17:11:03.153605154 +0200
***************
*** 1,4 ****
! *term.txt* For Vim version 8.1. Last change: 2017 Oct 14
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *term.txt* For Vim version 8.1. Last change: 2019 Apr 11
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 111,116 ****
--- 111,126 ----
If this is done while Vim is running the 't_BD' will be sent to the terminal
to disable bracketed paste.
+ If your terminal supports bracketed paste, but the options are not set
+ automatically, you can try using something like this: >
+
+ if &term =~ "screen"
+ let &t_BE = "\e[?2004h"
+ let &t_BD = "\e[?2004l"
+ exec "set t_PS=\e[200~"
+ exec "set t_PE=\e[201~"
+ endif
+ <
*cs7-problem*
Note: If the terminal settings are changed after running Vim, you might have
an illegal combination of settings. This has been reported on Solaris 2.5
***************
*** 324,334 ****
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|termcap-cursor-shape|
t_RV request terminal version string (for xterm) *t_RV* *'t_RV'*
! |xterm-8bit| |v:termresponse| |'ttymouse'| |xterm-codes|
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
see |'ambiwidth'|
t_RF request terminal foreground color *t_RF* *'t_RF'*
t_RB request terminal background color *t_RB* *'t_RB'*
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|xterm-true-color|
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
--- 334,348 ----
t_EI end insert or replace mode (block cursor shape) *t_EI* *'t_EI'*
|termcap-cursor-shape|
t_RV request terminal version string (for xterm) *t_RV* *'t_RV'*
! The response is stored in |v:termresponse|
! |xterm-8bit| |'ttymouse'| |xterm-codes|
t_u7 request cursor position (for xterm) *t_u7* *'t_u7'*
see |'ambiwidth'|
+ The response is stored in |v:termu7resp|
t_RF request terminal foreground color *t_RF* *'t_RF'*
+ The response is stored in |v:termrfgresp|
t_RB request terminal background color *t_RB* *'t_RB'*
+ The response is stored in |v:termrbgresp|
t_8f set foreground color (R, G, B) *t_8f* *'t_8f'*
|xterm-true-color|
t_8b set background color (R, G, B) *t_8b* *'t_8b'*
***************
*** 341,347 ****
--- 355,363 ----
t_EC set cursor color end *t_EC* *'t_EC'*
t_SH set cursor shape *t_SH* *'t_SH'*
t_RC request terminal cursor blinking *t_RC* *'t_RC'*
+ The response is stored in |v:termblinkresp|
t_RS request terminal cursor style *t_RS* *'t_RS'*
+ The response is stored in |v:termstyleresp|
t_ST save window title to stack *t_ST* *'t_ST'*
t_RT restore window title from stack *t_RT* *'t_RT'*
t_Si save icon text to stack *t_Si* *'t_Si'*
***************
*** 523,529 ****
Note about colors: The 't_Co' option tells Vim the number of colors available.
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
! to reset to the default colors.
*termcap-cursor-shape* *termcap-cursor-color*
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim
--- 539,545 ----
Note about colors: The 't_Co' option tells Vim the number of colors available.
When it is non-zero, the 't_AB' and 't_AF' options are used to set the color.
If one of these is not available, 't_Sb' and 't_Sf' are used. 't_me' is used
! to reset to the default colors. Also see 'termguicolors'.
*termcap-cursor-shape* *termcap-cursor-color*
When Vim enters Insert mode the 't_SI' escape sequence is sent. When Vim
***************
*** 971,974 ****
:noremap! <RightDrag> <LeftDrag>
:noremap! <RightRelease> <LeftRelease>
<
! vim:tw=78:ts=8:ft=help:norl:
--- 987,990 ----
:noremap! <RightDrag> <LeftDrag>
:noremap! <RightRelease> <LeftRelease>
<
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/textprop.txt 2019-05-05 15:47:37.821923550 +0200
--- runtime/doc/textprop.txt 2019-05-05 17:34:42.564911374 +0200
***************
*** 1,4 ****
! *textprop.txt* For Vim version 8.1. Last change: 2018 Dec 30
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *textprop.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 20,26 ****
3. When text changes |text-prop-changes|
- {Vi does not have text properties}
{not able to use text properties when the |+textprop| feature was
disabled at compile time}
--- 20,25 ----
*** ../vim-8.1.1279/runtime/doc/tips.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/tips.txt 2018-07-29 14:23:36.371157528 +0200
***************
*** 408,421 ****
==============================================================================
Executing shell commands in a window *shell-window*
! There have been questions for the possibility to execute a shell in a window
! inside Vim. The answer: you can't! Including this would add a lot of code to
! Vim, which is a good reason not to do this. After all, Vim is an editor, it
! is not supposed to do non-editing tasks. However, to get something like this,
! you might try splitting your terminal screen or display window with the
"splitvt" program. You can probably find it on some ftp server. The person
that knows more about this is Sam Lantinga <
slo...@cs.ucdavis.edu>.
! An alternative is the "window" command, found on BSD Unix systems, which
supports multiple overlapped windows. Or the "screen" program, found at
www.uni-erlangen.de, which supports a stack of windows.
--- 408,420 ----
==============================================================================
Executing shell commands in a window *shell-window*
! See |terminal|.
!
! Another solution is splitting your terminal screen or display window with the
"splitvt" program. You can probably find it on some ftp server. The person
that knows more about this is Sam Lantinga <
slo...@cs.ucdavis.edu>.
!
! Another alternative is the "window" command, found on BSD Unix systems, which
supports multiple overlapped windows. Or the "screen" program, found at
www.uni-erlangen.de, which supports a stack of windows.
***************
*** 531,534 ****
autocmd InsertEnter * match none
<
! vim:tw=78:ts=8:ft=help:norl:
--- 530,533 ----
autocmd InsertEnter * match none
<
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/todo.txt 2018-06-03 14:42:17.836505122 +0200
--- runtime/doc/todo.txt 2019-05-05 17:22:02.360947099 +0200
***************
*** 1,4 ****
! *todo.txt* For Vim version 8.1. Last change: 2018 May 17
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *todo.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 34,66 ****
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
!
*known-bugs*
-------------------- Known bugs and current work -----------------------
Prompt buffer:
- Add a command line history.
- delay next prompt until plugin gives OK?
! end?
Terminal emulator window:
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
#2977)
! - When typing : at the more prompt, instead of entering a new Vim command, the
! : is inserted in the terminal window. Should skip terminal_loop here.
! ()
! - How to access selection in Terminal running a shell? (damnskippy, 2018 May
! 27, #29620 When terminal doesn't use the mouse, use modeless selection.
! - Win32: Termdebug doesn't work, because gdb does not support mi2 on a tty.
! This plugin:
https://github.com/cpiger/NeoDebug runs gdb as a job,
! redirecting input and output.
! Open new console for for program with: "set new-console on"
- Win32: Redirecting input does not work, half of Test_terminal_redir_file()
is disabled.
- Win32: Redirecting output works but includes escape sequences.
- Win32: Make terminal used for :!cmd in the GUI work better. Allow for
redirection.
- - Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
- When the job only outputs lines, we could handle resizing the terminal
better: store lines separated by line breaks, instead of screen lines,
then when the window is resized redraw those lines.
--- 34,100 ----
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 -----------------------
+ 'incsearch' with :s: (#3321)
+ - Get E20 when using command history to get "'<,'>s/a/b" and no Visual area
+ was set. (#3837)
+ - :s/foo using CTRL-G moves to another line, should not happen, or use the
+ correct line (it uses the last but one line) (Lifepillar, Aug 18, #3345)
+ - :s@pat/tern@ doesn't include "/" in the pattern. (Takahiro Yoshihara, #3637)
+ pass delim to do_search() ?
+ - Also support range: :/foo/,/bar/delete
+ - Also support for user command, e.g. Cfilter
+ - :%s/foo should take the first match below the cursor line, unless there
+ isn't one?
+ Then :%s?foo should take the first match above the cursor line.
+
Prompt buffer:
- Add a command line history.
- delay next prompt until plugin gives OK?
! - add prompt_addtext({buf}, {expr}) none add text to a prompt buffer
!
! Terminal debugger:
! - Make prompt-buffer variant work better.
! - 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.
! - Add support for lldb? #3565
! - Could we do something similar for debugging Vim scripts? At least see the
! script while stepping through it. Simple version would use an extra window.
! More complete solution would actually run Vim in a Terminal and control it
! with another Vim instance.
Terminal emulator window:
+ - When the job in the terminal doesn't use mouse events, let the scroll wheel
+ scroll the scrollback, like a terminal does at the shell prompt. #2490
+ And use modeless selection. #2962
+ - When Vim runs in the terminal and changes the title, the statusline needs to
+ be redrawn.
+ - GUI: When using ":set go+=!" a system() call causes the hit-enter prompt.
+ (#3327)
+ - Terminal API: Add more functionality? (Ozaki Kiichi 2018 May 13, #2907)
+ - GUI: hang until key typed. (#3530)
+ - Allow for specifying the directory, with ++cwd={dir}.
- With a vertical split only one window is updated. (Linwei, 2018 Jun 2,
#2977)
! - Add a way to make ":term cmd" run "cmd" in a shell, instead of executing it
! directly. Perhaps ":term ++shell cmd". (#3340)
! - When pasting should call vterm_keyboard_start_paste(), e.g. when using
! K_MIDDLEMOUSE, calling insert_reg().
! - Users expect parsing the :term argument like a shell does, also support
! single quotes. E.g. with: :term grep 'alice says "hello"' (#1999)
- Win32: Redirecting input does not work, half of Test_terminal_redir_file()
is disabled.
- Win32: Redirecting output works but includes escape sequences.
- Win32: Make terminal used for :!cmd in the GUI work better. Allow for
redirection.
- When the job only outputs lines, we could handle resizing the terminal
better: store lines separated by line breaks, instead of screen lines,
then when the window is resized redraw those lines.
***************
*** 69,79 ****
http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
- - 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.
! Patch to fix that ++bad no longer works. (Christian Brabandt, on #2947)
Does not build with MinGW out of the box:
- _stat64 is not defined, need to use "struct stat" in vim.h
--- 103,121 ----
http://bazaar.launchpad.net/~leonerd/pangoterm/trunk/view/head:/main.c#L134
- When 'encoding' is not utf-8, or the job is using another encoding, setup
conversions.
! Support for popup widows:
! - Use text properties to define highlighting.
! - Proposal on issue #4063
!
! Notifications for text changes, could be used for LSP.
! - New event, similar to TextChanged, but guaranteed to provide sequential
! information of all text changes.
! Possibly build on undo info (but undo itself is also a change).
! How to deal with ":%s/this/that" ?
!
! Adding "10" to 'spellsuggest' causes spell suggestions to become very slow.
! (#4087)
Does not build with MinGW out of the box:
- _stat64 is not defined, need to use "struct stat" in vim.h
***************
*** 82,121 ****
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
13, #2910) Can't reproduce?
! On Win32 when not in the console and t_Co >= 256, allow using 'tgc'.
! (Nobuhiro Takasaki, #2833) Also check t_Co.
! Patch to fix arguments of :edit. (Dominique Pelle, 2018 May 28 #2966)
! Ptch to update html syntax. (Jorge Maldonado Ventura, #2974)
! Patch to fix that restoring window doesn't work when 'winheight' is large.
! (Darrell Nash, 2018 May 30, #2971) Doesn't work? Issue #2970
! Patch to add completion to :unlet for environment vars. (Jason Franklin, 2018
! May 30) Last update.
! Errors found with random data:
! heap-buffer-overflow in alist_add (#2472)
More warnings from static analysis:
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
! Patch to make "is" and "as" work bettter. (Jason Franklin, 2018 May 19)
! Patch to add tests for user and language completion. (Dominique Pelle, 2018
! Jun 2, #2978)
! Using ":file" in quickfix window during an autocommand doesn't work.
! (Jason Franklin, 2018 May 23) Allow for using it when there is no argument.
! Pull request #2967: Allow white space in sign text. (Ben Jackson)
! Patch for xterm and vt320 builtin termcap. (Kouichi Iwamoto, 2018 May 31,
! #2973)
! Patch to add more testing for :cd command. (Dominique Pelle, 2018 May 30,
! #2972)
Script generated by :mksession does not work well if there are windows with
modified buffers
--- 124,406 ----
Crash when mixing matchadd and substitute()? (Max Christian Pohle, 2018 May
13, #2910) Can't reproduce?
! Errors found with random data:
! heap-buffer-overflow in alist_add (#2472)
! Improve fallback for menu translations, to avoid having to create lots of
! files that source the actual file. E.g. menu_da_de -> menu_da
! Include part of #3242?
! When a terminal exit_cb closes the window, a following typed key is lost, if
! it's in a mapping. (2018 Oct 6, #2302, #3522)
! 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)
! Internal diff doesn't handle binary file like external diff does. (Mike
! Williams, 2018 Oct 30)
! Problem with :tlmenu: Detach item added with all modes? Issue #3563.
!
! The quoting of the [command] argument of :terminal is not clearly documented.
! Give a few examples. (#4288)
!
! Bug: script written with "-W scriptout" contains Key codes, while the script
! read with "-s scriptin" expects escape codes. Probably "scriptout" needs to
! be adjusted. (Daniel Steinberg, 2019 Feb 24, #4041)
!
! Bug: "vipgw" does not put cursor back where it belongs. (Jason Franklin, 2019
! Mar 5)
!
! When using a timer callback vgetc_busy is reset, allowing for using input().
! But in a channel callback this does not happen. We need to do something
! similar to check_due_timer(). Also see #3809.
!
! C syntax: {} inside () causes following {} to be highlighted as error.
! (Michalis Giannakidis, 2006 Jun 1)
!
! Support setting the character displayed below the last line? Neovim uses
! "eob:X" in 'fillchars'.
!
! Check: __attribute__((format(printf, on semsg() and siemsg(). Where was this
! added?
!
! Add test for urxvt mouse codes. Also test that mouse coordinates can be
! negative. (see #4326)
!
! 'cmdheight' has a tab-local value, but it cannot be obtained with
! `:echo gettabwinvar(2, 1, '&cmdheight')` returns the value for the _current_
! tab page. (Ingo Karkat, #4324)
! :call settabwinvar(1, 1, '&cmdheight', 2) also doesn't work well.
!
! Add a chdir() function, which will set the window-local, tab-local or global
! directory, first one that is currently used. Returns the current directory,
! so that this works:
! let save_dir = chdir('somewhere')
! ...
! call chdir(save_dir)
!
! This modeline throws unexpected errors: (#4165)
! vim: syn=nosyntax
!
! ":doau SomeEvent" gives "No matching autocommands". This message doesn't give
! a hint about how to fix it. (#4300)
!
! Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
! #2948. (related to #1512?)
! On Win32 it stops showing, because showState is already ShS_SHOWING.
! balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
! 20, #2481)
! Also see #2352, want better control over balloon, perhaps set the position.
! 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)
! Another request: #3811.
More warnings from static analysis:
https://lgtm.com/projects/g/vim/vim/alerts/?mode=list
! Still a E315 error when using terminal. (Masato Nishihata, #3959)
!
! Use dict_iterate_start() / dict_iterate_next() instead of relying on the
! internals of the dict structure.
!
! Running test_gui and test_gui_init with Motif sometimes kills the window
! manager. Problem with Motif? Now test_gui crashes in submenu_change().
! Athena is OK.
! Motif: Build on Ubuntu can't enter any text in dialog text fields.
!
! nvo-mode mapping works on Windows, not on Linux. (#3678)
!
! Missing tests for:
! - add_termcap_entry()
!
! When using exclusive selection and vi" that fails, cursor moves to the left.
! Cursor should not move. (#4024)
!
! Incsearch test fails when locale is "C". (Dominique Pelle, #3986)
! Also run all tests with C locale?
!
! "vat" doesn't work well on XML when the closing > is on another line.
! #3927
!
! 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.
!
! Add <aevent>, which expands to the currently triggered autocommand event name.
! (Daniel Hahler, #4232) Or add it to v:event (easier to use but slightly more
! expensive).
!
! Some xterm responses are not properly handled: (Markus Gömmel, 2019 Apr 1)
! DCS 0 $ r Pt ST should be ignored.
! DCS 0 + r/Pt/ ST already ignored?
!
! Using CTRL-L to add a character to the search string that contains \v,
! punctuation is repeated. (Smylers, 2018 Nov 17, #3621)
!
! ml_get error: (Israel Chauca Fuentes, 2018 Oct 17, #3550).
!
! Using single wide base character with double wide composing character gives
! drawing errors. Fill up the base character? (Dominique, #4328)
!
! Problem with two buffers with the same name a/b, if it didn't exist before and
! is created outside of Vim. (dskloetg, 2018 Jul 16, #3219)
!
! 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)
!
! 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)
!
! Add function to make use of internal diff, working on two lists and returning
! unified diff (list of lines).
! When splitting a window with few text lines, the relative cursor position is
! kept, which means part of the text isn't displayed. Better show all the text
! when possible. (Dylan Lloyd, #3973)
! Make ":interactive !cmd" stop termcap mode, also when used in an autocommand.
! (#3692)
! Patch to add environ(), gets a dict with all environment vars, and getenv(),
! useful for environment vars that are not made of keyword chars.
! (Yasuhiro Matsumoto, #2875)
! Add buffer argument to undotree(). (#4001)
! Patch to restore X11 connection. (#844)
!
! Patch to add optional arguments with default values.
! (Andy Massimino, #3952) Needs to be reviewed.
!
! Patch to add more info to OptionSet. Should mention what triggered the change
! ":set", ":setlocal", ":setglobal", "modeline"; and the old global value.
! #4118. Proposed implementation: 2019 Mar 27.
! Updated 2019 Apr 9: ASAN fails.
!
! 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.
!
! Patch for larger icons in installer. (#978) Still not good.
!
! Patch to add commands to jump to quickfix entry above/below the cursor.
! (Yegappan Lakshmanan, #4316) Also do :cbefore and :cafter.
!
! Patch to fix that using "5gj" starting inside a closed fold does not work on
! screen lines but on text lines. (Julius Hulsmann, #4095) Lacks a test.
!
! Patch to implement 'diffref' option. (#3535)
! Easier to use a 'diffmaster' option, is the extra complexity needed?
! Not ready to include.
!
! Memory leaks in test_channel? (or is it because of fork())
! Using uninitialized value in test_crypt.
! Memory leak in test_terminal:
! ==23530== by 0x2640D7: alloc (misc2.c:874)
! ==23530== by 0x2646D6: vim_strsave (misc2.c:1315)
! ==23530== by 0x25841D: FullName_save (misc1.c:5443)
! ==23530== by 0x17CB4F: fix_fname (buffer.c:4794)
! ==23530== by 0x17CB9A: fname_expand (buffer.c:4838)
! ==23530== by 0x1759AB: buflist_new (buffer.c:1889)
! ==23530== by 0x35C923: term_start (terminal.c:421)
! ==23530== by 0x2AFF30: mch_call_shell_terminal (os_unix.c:4377)
! ==23530== by 0x2B16BE: mch_call_shell (os_unix.c:5383)
! Memory leak in test_alot with pyeval() (allocating partial)
!
! gethostbyname() is old, use getaddrinfo() if available. (#3227)
!
! matchaddpos() gets slow with many matches. Proposal by Rick Howe, 2018 Jul
! 19.
!
! Patch to specify color for cterm=underline and cterm=undercurl, like "guisp".
! Does #2405 do this?
!
! Patch to add an interrupt() function: sets got_int. Useful in an autocommand
! such as BufWritePre that checks the file name or contents.
!
! More patches to check:
! - #4098 improve Travis config
!
! 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)
!
! Patch to support ":tag <tagkind> <tagname>". (emmrk, 2018 May 7, #2871)
! Use something like ":tag {kind}/{tagname}".
! Not ready to include.
!
! :pedit resets the 'buflisted' option unexpectedly. (Wang Shidong, 2018 Oct 12,
! #3536)
!
! 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)
!
! Set g:actual_curbuf when evaluating 'statusline', not just with an expression.
! (Daniel Hahler, 2018 Aug 8, #3299)
!
! Update for xim-input-style help (Tony Mechelynck, 2019 Jan 10).
! Feedback from someone who uses this?
!
! ml_get error. (Dominique Pelle, 2018 Sep 14, #3434)
!
! Patch to use forward slash for completion even when 'shellslash' is set.
! Adds 'completepathslash'. (Yasuhiro Matsumoto, 2018 Nov 15, #3612)
!
! Only output t_Cs when t_Ce is also set. do not use Cs and Ce termcap entries. (Daniel Hahler, 2018 Sep 25)
! Add t_cS and t_cR for cursor color select and reset. Use Cs and Cr terminfo
! values.
!
! Further xdiff changes:
! - More options, e.g. different kind of whitespace diff.
! - when editing text, update the surrounding diff blocks.
! - omit diff.exe from distribution
! - Can we make this show differences within a line?
! - add option to use external diff above a certain size.
!
! 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?
!
! When the last line wraps, selecting with the mouse below that line only
! includes the first screen line. (2018 Aug 23, #3368)
!
! Refactored HTML indent file. (Michael Lee, #1821)
! Ask to write a test first.
!
! Patch to add getregpoint() and setreg() with an option to set "".
! (Andy Massimino, 2018 Aug 24, #3370)
! Better name?
!
! MS-Windows: .lnk file not resolved properly when 'encoding' is set.
! (lkintact, 2018 Sep 22, #3473)
!
! Merge checking for 'cursorline' and 'concealcursor', see neovim #9492.
!
! 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?
Script generated by :mksession does not work well if there are windows with
modified buffers
***************
*** 124,149 ****
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)
-
Compiler warnings (geeknik, 2017 Oct 26):
- signed integer overflow in do_sub() (#2249)
- signed integer overflow in get_address() (#2248)
- signed integer overflow in getdecchrs() (#2254)
- undefined left shift in get_string_tv() (#2250)
! Patch for more quickfix refactoring. (Yegappan Lakshmanan, #2950)
Tests failing for "make testgui" with GTK:
- Test_setbufvar_options()
- Test_exit_callback_interval()
! Make balloon_show() work outside of 'balloonexpr'? Users expect it to work:
! #2948. (related to #1512?)
! On Win32 it stops showing, because showState is already ShS_SHOWING.
! balloon_show() does not work properly in the terminal. (Ben Jackson, 2017 Dec
! 20, #2481)
! Also see #2352, want better control over balloon, perhaps set the position.
Try out background make plugin:
https://github.com/AndrewVos/vim-make-background
--- 409,449 ----
skip "badd fname" if "fname" is already in the buffer list
remove remark about unloading buffers from documentation
Compiler warnings (geeknik, 2017 Oct 26):
- signed integer overflow in do_sub() (#2249)
- signed integer overflow in get_address() (#2248)
- signed integer overflow in getdecchrs() (#2254)
- undefined left shift in get_string_tv() (#2250)
! Win32 console: <F11> and <F12> typed in Insert mode don't result in normal
! characters. (#3246)
!
! 'foldtext' is evaluated too often. (Daniel Hahler, #2773)
!
! Add Native language protocol server (LSP) support. (Yegappan Lakshmanan, 2018
! Oct 28)
!
! ml_get error when using a Python script. (Yggdroot, 2017 Jun 1, #1737)
! Lemonboy can reproduce (2017 Jun 5)
! Also reproduced by Benjamin Doherty, 2018 Oct 4.
! Simpler way: Ken Takata, Oct 6.
!
! Add more testing of the GTK GUI.
! - gtk_test_widget_click() can be used to simulate a click in a widget.
Tests failing for "make testgui" with GTK:
- Test_setbufvar_options()
- Test_exit_callback_interval()
! 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 be able to disable default digraphs (incomplete) (Eric Pruitt, 2018
! Nov 22).
!
! Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
!
! Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
! 24)
Try out background make plugin:
https://github.com/AndrewVos/vim-make-background
***************
*** 151,157 ****
https://github.com/yegappan/asyncmake
Add a ModeChanged autocommand that has an argument indicating the old and new
! mode. Also used for switching Terminal mode.
Add an option with file patterns, to be used when unloading a buffer: If there
is a match, remove entries for the buffer from marks, jumplist, etc. To be
--- 451,457 ----
https://github.com/yegappan/asyncmake
Add a ModeChanged autocommand that has an argument indicating the old and new
! mode, as what's returned from mode(). Also used for switching Terminal mode.
Add an option with file patterns, to be used when unloading a buffer: If there
is a match, remove entries for the buffer from marks, jumplist, etc. To be
***************
*** 159,201 ****
Cursor in wrong position when line wraps. (#2540)
! Patch for Lua support. (Kazunobu Kuriyama, 2018 May 26)
Add an option similar to 'lazyredraw' to skip redrawing while executing a
script or function.
MS-Windows: write may fail if another program is reading the file.
If 'readonly' is not set but the file appears to be readonly later, try again
(wait a little while).
CreateFile() returns ERROR_SHARING_VIOLATION (Linwei, 2018 May 5)
Should add a test for every command line argument. Check coverage for what is
missing: --nofork, -A , -b, -h, etc.
! Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
! Update 2018 March 12, #2711
!
! Improve the installer for MS-Windows. There are a few alternatives:
! - Add silent install option. (Shane Lee, #751)
! - Installer from Cream (Steve Hall).
! - Modern UI 2.0 for the Nsis installer. (Guopeng Wen)
!
https://github.com/gpwen/vim-installer-mui2
! - make it possible to do a silent install, see
!
http://nsis.sourceforge.net/Docs/Chapter4.html#4.12
! Version from Guopeng Wen does this.
! - MSI installer:
https://github.com/petrkle/vim-msi/
! - The one on Issue 279.
! Problem: they all work slightly different (e.g. don't install vimrun.exe).
! How to test that it works well for all Vim users?
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
! Patch to use NGETTEXT() in many more places. (Sergey Alyoshin, 2018 May 25)
! Updated ptach May 27.
! 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)
When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994)
--- 459,508 ----
Cursor in wrong position when line wraps. (#2540)
! Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
! #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
! pass an expression to evaluate. Allow passing zero for "never skip".
Add an option similar to 'lazyredraw' to skip redrawing while executing a
script or function.
+ Universal solution to detect if t_RS is working, using cursor position.
+ Koichi Iwamoto, #2126
+
+ When using a menu item while the "more" prompt is displayed doesn't work well.
+ E.g. after using help->version. Have a key that ends the "more" prompt and
+ does nothing otherwise?
+
MS-Windows: write may fail if another program is reading the file.
If 'readonly' is not set but the file appears to be readonly later, try again
(wait a little while).
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
missing: --nofork, -A , -b, -h, etc.
! ":au * * command" should not be allowed, only use * for event when listing or
! deleting autocmds, not when adding them.
Alternative manpager.vim. (Enno, 2018 Jan 5, #2529)
! Delete all the specific stuff for the Borland compiler? (#3374)
! Patch in #3377 (Thomas Dziedzic)
! 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.
! (Oleg Koshovetc, 2018 Jul 15, #3214)
When using :packadd files under "later" are not used, which is inconsistent
with packages under "start". (xtal8, #1994)
***************
*** 222,237 ****
Add the debug command line history to viminfo.
- Avoid that "sign unplace id" does a redraw right away, esp. when there is a
- sequence of these commands. (Andy Stewart, 2018 Mar 16)
-
- ch_sendraw() with long string does not try to read inbetween, which may cause
- a deadlock if the reading side is waiting for the write to finish. (Nate
- Bosch, 2018 Jan 13, #2548)
-
- Patch to include a cfilter plugin to filter quickfix/location lists.
- (Yegappan Lakshmanan, 2018 May 12)
-
Add Makefiles to the runtime/spell directory tree, since nobody uses Aap.
Will have to explain the manual steps (downloading the .aff and .dic files,
applying the diff, etc.
--- 529,534 ----
***************
*** 250,256 ****
Using 'wildignore' also applies to literally entered file name. Also with
:drop (remote commands).
! Patch to support ":tag <tagkind> <tagname". (emmrk, 2018 May 7, #2871)
Implement option_save() and option_restore():
option_restore({list}) *option_restore()*
--- 547,554 ----
Using 'wildignore' also applies to literally entered file name. Also with
:drop (remote commands).
! Inserting a line in a CompleteDone autocommand may confuse undo. (micbou,
! 2018 Jun 18, #3027)
Implement option_save() and option_restore():
option_restore({list}) *option_restore()*
***************
*** 275,322 ****
values are handled and the script ID is restored, so that
`:verbose set` will show where the option was originally set,
not where it was restored.
"gvim --remote" from a directory with non-word characters changes the current
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
Also see #1689.
- ml_get error when using a Python script. (Yggdroot, 2017 Jun 1, #1737)
- Lemonboy can reproduce (2017 Jun 5)
-
crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
17, #2652)
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
! Patch to parse ":line" in tags file and use it for search. (Daniel Hahler,
! #2546) Fixes #1057. Missing a test.
!
! Patch to add winlayout() function. (Yegappan Lakshmanan, 2018 Jan 4)
No profile information for function that executes ":quit". (Daniel Hahler,
2017 Dec 26, #2501)
! Get a "No Name" buffer when 'hidden' is set and opening a new window from the
! quickfix list. (bfrg, 2018 Jan 22, #2574)
! CTRL-X on zero gets stuck on 0xfffffffffffffffe. (Hengyang Zhao, #2746)
! A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
Invalid range error when using BufWinLeave for closing terminal.
(Gabriel Barta, 2017 Nov 15, #2339)
- Using an external diff is inefficient. Not all systems have a good diff
- 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.
- Olaf Dabrunz is working on this. (10 Jan 2016)
- 9 Instead invoking an external diff program, use builtin code. One can be
- found here:
http://www.ioplex.com/~miallen/libmba/dl/src/diff.c
- It's complicated and badly documented.
- Alternative: use the xdiff library. Patch from Christian Brabandt, 2018 Mar
- 20, #2732)
-
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
--- 573,608 ----
values are handled and the script ID is restored, so that
`:verbose set` will show where the option was originally set,
not where it was restored.
+ Alternatively: save and restore ALL options. Implementation needs to use
+ copy-on-write. Return an ID from option_save(), when
+ option_restore(ID) is called give an error if another option_save()
+ was called in the meantime, they must be balanced.
"gvim --remote" from a directory with non-word characters changes the current
directory (Paulo Marcel Coelho Arabic, 2017 Oct 30, #2266)
Also see #1689.
crash when removing an element while inside map(). (Nikolai Pavlov, 2018 Feb
17, #2652)
When 'virtualedit' is "all" and 'cursorcolumn' is set, the wrong column may be
highlighted. (van-de-bugger, 2018 Jan 23, #2576)
! ":file" does not show anything when 'shortmess' contains 'F'. (#3070)
No profile information for function that executes ":quit". (Daniel Hahler,
2017 Dec 26, #2501)
! A function on a dictionary is not profiled. (ZyX, 2010 Dec 25)
! Add script number to profile? (#3330 breaks tests).
! A function defined locally and lambda's are not easily recognized.
! Mention where they were defined somewhere.
Invalid range error when using BufWinLeave for closing terminal.
(Gabriel Barta, 2017 Nov 15, #2339)
ml_get errors with buggy script. (Dominique, 2017 Apr 30)
Error in emsg with buggy script. (Dominique, 2017 Apr 30)
***************
*** 337,351 ****
In an optional package the "after" directory is not scanned?
(Renato Fabbri, 2018 Feb 22)
- Universal solution to detect if t_RS is working, using cursor position.
- Koichi Iwamoto, #2126
-
Patch for Neovim concerning restoring when closing help window. (glacambre
neovim #7431)
- Default install on MS-Windows should source defaults.vim.
- Ask whether to use Windows or Vim key behavior?
-
Patch for improving detecting Ruby on Mac in configure. (Ilya Mikhaltsou, 2017
Nov 21)
--- 623,631 ----
***************
*** 363,378 ****
matchit hasn't been maintained for a long time. #955.
- Patch to add variable name after "scope add". (Eddie Lebow, 2018 Feb 7, #2620)
- Maybe not needed?
-
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
MS-Windows: buffer completion doesn't work when using backslash (or slash)
for a path separator. (xtal8, #2201)
! Patch to adjust to DPI setting for GTK. (Roel van de Kraats, 2017 Nov 20,
! #2357)
Test runtime files.
Start with filetype detection: testdir/test_filetype.vim
--- 643,655 ----
matchit hasn't been maintained for a long time. #955.
Problem with 'delcombine'. (agguser, 2017 Nov 10, #2313)
MS-Windows: buffer completion doesn't work when using backslash (or slash)
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 completion).
Test runtime files.
Start with filetype detection: testdir/test_filetype.vim
***************
*** 386,394 ****
After using :noautocmd CursorMoved may still trigger. (Andy Stewart, 2017 Sep
13, #2084). Set old position after the command.
- Illegal memory access, requires ASAN to see. (Dominique Pelle, 2015 Jul 28)
- Still happens (2017 Jul 9)
-
When bracketed paste is used, pasting at the ":append" prompt does not get the
line breaks. (Ken Takata, 2017 Aug 22)
--- 663,668 ----
***************
*** 397,406 ****
Patch to fix increment/decrement not working properly when 'virtualedit' is
set. (Hirohito Higashi, 2016 Aug 1, #923)
- Memory leaks in test_channel? (or is it because of fork())
- Using uninitialized value in test_crypt.
- Memory leaks in test_escaped_glob
-
Patch to make gM move to middle of line. (Yasuhiro Matsumoto, Sep 8, #2070)
Cannot copy modeless selection when cursor is inside it. (lkintact, #2300)
--- 671,676 ----
***************
*** 410,417 ****
Now on github: #1856. Updated Oct 2017
Got permission to include this under the Vim license.
- Refactored HTML indent file. (Michael Lee, #1821)
-
Test_writefile_fails_conversion failure on Solaris because if different iconv
behavior. Skip when "uname" returns "SunOS"? (Pavel Heimlich, #1872)
--- 680,685 ----
***************
*** 473,484 ****
Cindent: returning a structure has more indent for the second item.
(Sam Pagenkopf, 2017 Sep 14, #2090)
- 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)
-
Patch from Christian Brabandt to preserve upper case marks when wiping out a
buffer. (2013 Dec 9)
Also fixes #2166?
--- 741,746 ----
***************
*** 491,499 ****
Profile of a dict function is lost when the dict is deleted. Would it be
possible to collect this? (Daniel Hahler, #2350)
- Add `:filter` support for various commands (Marcin Szamotulski, 2017 Nov 12
- #2322) Now in #2327?
-
When checking if a bufref is valid, also check the buffer number, to catch the
case of :bwipe followed by :new.
--- 753,758 ----
***************
*** 527,535 ****
Problem with using :cd when remotely editing a file. (Gerd Wachsmuth, 2017 May
8, #1690)
- Running test_gui and test_gui_init with Motif sometimes kills the window
- manager. Problem with Motif?
-
Bogus characters inserted when triggering indent while changing text.
(Vitor Antunes, 2016 Nov 22, #1269)
--- 786,791 ----
***************
*** 545,553 ****
Memory leak in test97? The string is actually freed. Weird.
- Patch to add configure flags to skip rtl, farsi and arabic support.
- (Diego Carrión, #1867)
-
assert_fails() can only check for the first error. Make it possible to have
it catch multiple errors and check all of them.
--- 801,806 ----
***************
*** 586,594 ****
buffer is not deleted when using the session file. (#1393)
Should add the buffer in hidden state.
- When an item in the quickfix list has a file name that does not exist, behave
- like the item was not a match for :cnext.
-
Wrong diff highlighting with three files. (2016 Oct 20, #1186)
Also get E749 on exit.
Another example in #1309
--- 839,844 ----
***************
*** 637,646 ****
call Foo(12, all = 0)
call Foo(12, 15, 0)
- Change the Farsi code to work with UTF-8. Possibly combined with the Arabic
- support, or similar.
- Invalid read error in Farsi mode. (Dominique Pelle, 2009 Aug 2)
-
Add a command to take a range of lines, filter them and put the output
somewhere else. :{range}copy {dest} !cmd
--- 887,892 ----
***************
*** 668,682 ****
Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11,
#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
vertical split. (Haldean Brown, 2017 Mar 1)
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
Add tests for using number larger than number of lines in buffer.
Might be useful to have isreadonly(), like we have islocked().
--- 914,924 ----
Problem passing non-UTF-8 strings to Python 3. (Björn Linse, 2016 Sep 11,
#1053) With patch, does it work?
":sbr" docs state it respects 'switchbuf', but "vsplit" does not cause a
vertical split. (Haldean Brown, 2017 Mar 1)
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
+ E.g. all the location list commands use a count.
Add tests for using number larger than number of lines in buffer.
Might be useful to have isreadonly(), like we have islocked().
***************
*** 696,716 ****
Patch for 'cursorlinenr' option. (Ozaki Kiichi, 2016 Nov 30)
- Patch to fix profiling condition lines. (Ozaki Kiichi,, 2017 Dec 26, #2499)
-
- Patch to be able to separately map CTRL-H and BS on Windows.
- (Linwei, 2017 Jul 11, #1833)
-
When 'completeopt' has "noselect" does not insert a newline. (Lifepillar, 2017
Apr 23, #1653)
Window resizing with 'winfixheight': With a vertical split the height changes
anyway. (Tommy allen, 2017 Feb 21, #1502)
- When adding an item to a new quickfix list make ":cnext" jump to that item.
- Make a difference being at the first item and not having used :cnext at all.
- (Afanasiy Fet, 2017 Jan 3)
-
Invalid behavior with NULL list. (Nikolai Pavlov, #768)
E.g. deepcopy(test_null_list())
--- 938,949 ----
***************
*** 750,755 ****
--- 983,990 ----
- When out_cb executes :sleep, the close_cb may be invoked. (Daniel Hahler,
2016 Dec 11, #1320)
- Implement |job-term| ?
+ - Calling a function when receiving a "call" on a channel, using feedkeys()
+ does not work. It does work from a timer. (Qiming Zhao, #3852)
- Channel test fails with Motif. Sometimes kills the X11 server.
- When a message in the queue but there is no callback, drop it after a while?
Add timestamp to queued messages and callbacks with ID, remove after a
***************
*** 766,771 ****
--- 1001,1012 ----
Although user could use "xterm -e 'cmd arg'".
Regexp problems:
+ - NFA engine can be slow for some patterns. Dominique found out that most
+ time is spent in addstate_here() copying the threads. Instead of copying,
+ let each thread point to the next one (by offset, the list is reallocated).
+ (Dominique Pelle, 2019 Feb 18)
+ - Old engine: using 'incsearch' /\Zabc does not highlight the "c" if it has a
+ composing character. New engine is OK. (Tony Mechelynck, 2019 May 5)
- When search pattern has the base character both with and without combining
character, search fails. E.g. "รรีบ" in "การรีบรักใคร". (agguser, #2312)
- [:space:] only matches ASCII spaces. Add [:white:] for all space-like
***************
*** 827,835 ****
use the current behavior.
Include the test.
- Patch to add tagfunc(). Cleaned up by Christian Brabandt, 2013 Jun 22.
- New update 2017 Apr 10, #1628
-
When 'keywordprg' starts with ":" the argument is still escaped as a shell
command argument. (Romain Lafourcade, 2016 Oct 16, #1175)
--- 1068,1073 ----
***************
*** 898,906 ****
Second problem in #966: ins_compl_add_tv() uses get_dict_string() multiple
times, overwrites the one buffer. (Nikolay Pavlov, 2016 Aug 5)
- This does not work: :set cscopequickfix=a-
- (Linewi, 2015 Jul 12, #914)
-
Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
Filetype plugin for awk. (Doug Kearns, 2016 Sep 5)
--- 1136,1141 ----
***************
*** 943,949 ****
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
but the reference remains valid.
! Need to try out instructions in INSSTALLpc.txt about how to install all
interfaces and how to build Vim with them.
Appveyor build with self-installing executable, includes getting most
interfaces:
https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
--- 1178,1184 ----
Add a way to restart a timer. It's similar to timer_stop() and timer_start(),
but the reference remains valid.
! Need to try out instructions in INSTALLpc.txt about how to install all
interfaces and how to build Vim with them.
Appveyor build with self-installing executable, includes getting most
interfaces:
https://github.com/k-takata/vim/tree/chrisbra-appveyor-build
***************
*** 994,1002 ****
Feature request: add the "al" text object, to manipulate a screen line.
Especially useful when using 'linebreak'
- Access to uninitialized memory in match_backref() regexp_nda.c:4882
- (Dominique Pelle, 2015 Nov 6)
-
":cd C:\Windows\System32\drivers\etc*" does not work, even though the
directory exists. (Sergio Gallelli, 2013 Dec 29)
--- 1229,1234 ----
***************
*** 1012,1020 ****
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
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)
When the CursorMovedI event triggers, and CTRL-X was typed, a script cannot
--- 1244,1249 ----
***************
*** 1029,1037 ****
6, 2nd message)
Alternative: ":keeppos" command modifier: ":keeppos windo {cmd}".
- Patch to fix that executable() may fail on very long filename in MS-Windows.
- (Ken Takata, 2016 Feb 1)
-
Patch to fix display of listchars on the cursorline. (Nayuri Aohime, 2013)
Update suggested by Yasuhiro Matsumoto, 2014 Nov 25:
https://gist.github.com/presuku/d3d6b230b9b6dcfc0477
--- 1258,1263 ----
***************
*** 1046,1052 ****
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)
Only remembers one error.
! Gvim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
Unexpected delay when using CTRL-O u. It's not timeoutlen.
(Gary Johnson, 2015 Aug 28)
--- 1272,1278 ----
Patch to add Error autocommand. (Anton Lindqvist, 2016 Feb 17)
Only remembers one error.
! GVim: when both Tab and CTRL-I are mapped, use CTRL-I not for Tab.
Unexpected delay when using CTRL-O u. It's not timeoutlen.
(Gary Johnson, 2015 Aug 28)
***************
*** 1093,1102 ****
Build with Python on Mac does not always use the right library.
(Kazunobu Kuriyama, 2015 Mar 28)
- Patch to add arguments to argc() and argv(). (Yegappan Lakshmanan, 2016 Jan
- 24) Also need a way to get the global arg list? Update later on Jan 24
- Update Mar 5. Update Apr 7. Update Jun 5.
-
To support Thai (and other languages) word boundaries, include the ICU
library:
http://userguide.icu-project.org/boundaryanalysis
--- 1319,1324 ----
***************
*** 1201,1212 ****
Adding "~" to 'cdpath' doesn't work for completion? (Davido, 2013 Aug 19)
- Should be easy to highlight all matches with 'incsearch'. Idea by Itchyny,
- 2015 Feb 6.
-
- Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014 Dec 4.
- Is this a good solution?
-
Patch: Let rare word highlighting overrule good word highlighting.
(Jakson A. Aquino, 2010 Jul 30, again 2011 Jul 2)
--- 1423,1428 ----
***************
*** 1224,1231 ****
Updated patch by Roland Eggner, Dec 16
Updated patch from Charles, 2016 Jul 2
- Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
-
Patch for building a 32bit Vim with 64bit MingW compiler.
(Michael Soyka, 2014 Oct 15)
--- 1440,1445 ----
***************
*** 1371,1383 ****
Updated spec ftplugin. (Matěj Cepl, 2013 Oct 16)
- Patch to right-align signs. (James Kolb (email james), 2013 Sep 23)
-
Patch to handle integer overflow. (Aaron Burrow, 2013 Dec 12)
- Patch to add "ntab" item in 'listchars' to repeat first character. (Nathaniel
- Braun, pragm, 2013 Oct 13) A better solution 2014 Mar 5.
-
7 Windows XP: When using "ClearType" for text smoothing, a column of yellow
pixels remains when typing spaces in front of a "D" ('guifont' set to
"lucida_console:h8").
--- 1585,1592 ----
***************
*** 1385,1393 ****
:help gives example for z?, but it does not work. m? and t? do work.
- Patch to add funcref to Lua. (Luis Carvalho, 2013 Sep 4)
- With tests: Sep 5.
-
Discussion about canonicalization of Hebrew. (Ron Aaron, 2011 April 10)
Checking runtime scripts: Thilo Six, 2012 Jun 6.
--- 1594,1599 ----
***************
*** 1443,1451 ****
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
28) With tests: Oct 9.
- Patch from Christian Brabandt to make the "buffer" argument for ":sign place"
- optional. (2013 Jul 12)
-
Dialog is too big on Linux too. (David Fishburn, 2013 Sep 2)
Patch to make fold updates much faster. (Christian Brabandt, 2012 Dec)
--- 1649,1654 ----
***************
*** 1470,1479 ****
Patch to make confirm() display colors. (Christian Brabandt, 2012 Nov 9)
- Patch to add functions for signs. (Christian Brabandt, 2013 Jan 27)
-
- Patch to remove flicker from popup menu. (Yasuhiro Matsumoto, 2013 Aug 15)
-
Problem with refresh:always in completion. (Tyler Wade, 2013 Mar 17)
b:undo_ftplugin cannot call a script-local function. (Boris Danilov, 2013 Jan
--- 1673,1678 ----
***************
*** 1492,1500 ****
Patch to improve equivalence classes in regexp patterns.
(Christian Brabandt, 2013 Jan 16, update Jan 17)
- Patch to add new regexp classes :ident:, :keyword:, :fname:.
- (ichizok, 2016 Jan 12, #1373)
-
Patch with suggestions for starting.txt. (Tony Mechelynck, 2012 Oct 24)
But use Gnome instead of GTK?
--- 1691,1696 ----
***************
*** 1521,1529 ****
Suggestion for another map. (Philip Mat, 2012 Jun 18)
But use "gi" instead of "a". Or use CTRL-\ CTRL-O.
- Patch to support user name completion on MS-Windows. (Yasuhiro Matsumoto, 2012
- Aug 16)
-
When there are no command line arguments ":next" and ":argu" give E163, which
is confusing. Should say "the argument list is empty".
--- 1717,1722 ----
***************
*** 1543,1553 ****
for a user action without a prompt. (Maarten Billemont, 2012 Feb 3)
Do give the prompt? Quit with an error?
- Patch to list user digraphs. (Christian Brabandt, 2012 Apr 14)
-
- Patch to add digraph() function. (Christian Brabandt, 2013 Aug 22, update Aug
- 24)
-
Patch for input method status. (Hirohito Higashi, 2012 Apr 18)
Update Vim app icon (for Gnome). (Jakub Steiner, 2013 Dec 6)
--- 1736,1741 ----
***************
*** 1654,1659 ****
--- 1842,1848 ----
Patch to make "z=" work when 'spell' is off. Does this have nasty side
effects? (Christian Brabandt, 2012 Aug 5, Update 2013 Aug 12)
Would also need to do this for spellbadword() and spellsuggest().
+
https://github.com/chrisbra/vim-mq-patches/blob/master/enable_spellchecking
On 64 bit MS-Windows "long" is only 32 bits, but we sometimes need to store a
64 bits value. Change all number options to use nropt_T and define it to the
***************
*** 1802,1814 ****
setpos() does not restore cursor position after :normal. (Tyru, 2010 Aug 11)
- 7 The 'directory' option supports changing path separators to "%" to make
- file names unique, also support this for 'backupdir'. (Mikolaj Machowski)
- Patch by Christian Brabandt, 2010 Oct 21.
- Is this an update: related to: #179
-
https://github.com/chrisbra/vim-mq-patches/blob/master/backupdir
- Fixed patch 2017 Jul 1.
-
With "tw=55 fo+=a" typing space before ) doesn't work well. (Scott Mcdermott,
2010 Oct 24)
--- 1991,1996 ----
***************
*** 1836,1842 ****
Don't call check_restricted() for histadd(), setbufvar(), settabvar(),
setwinvar().
! Patch for GVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)
--- 2018,2024 ----
Don't call check_restricted() for histadd(), setbufvar(), settabvar(),
setwinvar().
! Patch for gVimExt to show an icon. (Dominik Riebeling, 2010 Nov 7)
When 'lines' is 25 and 'scrolloff' is 12, "j" scrolls zero or two lines
instead of one. (Constantin Pan, 2010 Sep 10)
***************
*** 1904,1912 ****
Patch to use 'foldnestmax' also for "marker" foldmethod. (Arnaud Lacombe, 2011
Jan 7)
- Bug with 'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17)
- Only with "vim -u NONE".
-
Problem with editing file in binary mode. (Ingo Krabbe, 2009 Oct 8)
With 'wildmode' set to "longest:full,full" and pressing Tab once the first
--- 2086,2091 ----
***************
*** 1952,1963 ****
Patch for displaying 0x200c and 0x200d. (Ali Gholami Rudi, 2009 May 6)
Probably needs a bit of work.
- Patch to add farsi handling to arabic.c (Ali Gholami Rudi, 2009 May 2)
- Added test, updates, June 23.
- Updated for 7.4:
http://litcave.rudi.ir/farsi_vim.diff
- With modification for Tatweel character:
https://dpaste.de/VmFw
- Remark from Ameretat Reith (2014 Oct 13)
-
List of encoding aliases. (Takao Fujiwara, 2009 Jul 18)
Are they all OK? Update Jul 22.
--- 2131,2136 ----
***************
*** 1996,2003 ****
Patch for GTK buttons X1Mouse and X2Mouse. (Christian J. Robinson, 2010 Aug 9)
- Motif: Build on Ubuntu can't enter any text in dialog text fields.
-
":tab split fname" doesn't set the alternate file in the original window,
because win_valid() always returns FALSE. Below win_new_tabpage() in
ex_docmd.c.
--- 2169,2174 ----
***************
*** 2114,2129 ****
"gqip" in Insert mode has an off-by-one error, causing it to reflow text.
(Raul Coronado, 2009 Nov 2)
- Update src/testdir/main.aap.
-
Something wrong with session that has "cd" commands and "badd", in such a way
that Vim doesn't find the edited file in the buffer list, causing the
ATTENTION message? (Tony Mechelynck, 2008 Dec 1)
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"
doesn't set 'ff' to "unix". (Ben Fritz, 2008 Dec 5) Reusing the old buffer
probably causes this.
--- 2285,2295 ----
***************
*** 2313,2321 ****
Bug in using a transparent syntax region. (Hanlen in vim-dev maillist, 2007
Jul 31)
- C syntax: {} inside () causes following {} to be highlighted as error.
- (Michalis Giannakidis, 2006 Jun 1)
-
When 'diffopt' has "context:0" a single deleted line causes two folds to merge
and mess up syncing. (Austin Jennings, 2008 Jan 31)
--- 2479,2484 ----
***************
*** 2366,2373 ****
but when compiling further tests -liconv is added without the -L argument,
that may fail (e.g., sizeof(int)). (Blaine, 2007 Aug 21)
- When opening quickfix window, disable spell checking?
-
Problem with ".add" files when using two languages and restarting Vim. (Raul
Coronado, 2008 Oct 30)
--- 2529,2534 ----
***************
*** 2419,2425 ****
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
Windows installer could add a "open in new tab of existing Vim" menu entry.
! Gvimext: patch to add "Edit with single Vim &tabbed" menu entry.
Just have two choices, always using one Vim and selecting between using an
argument list or opening each file in a separate tab.
(Erik Falor, 2008 May 21, 2008 Jun 26)
--- 2580,2586 ----
moves the cursor instead of deleting. (Chris Kaiser, 2007 Sep 25)
Windows installer could add a "open in new tab of existing Vim" menu entry.
! GvimExt: patch to add "Edit with single Vim &tabbed" menu entry.
Just have two choices, always using one Vim and selecting between using an
argument list or opening each file in a separate tab.
(Erik Falor, 2008 May 21, 2008 Jun 26)
***************
*** 2430,2436 ****
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
! # uninstall key: vim7.3*
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
--- 2591,2597 ----
Dos uninstal may delete vim.bat from the wrong directory (e.g., when someone
makes his own wrapper). Add a magic string with the version number to the
.bat file and check for it in the uninstaller. E.g.
! # uninstall key: vim8.1*
Changes for Win32 makefile. (Mike Williams, 2007 Jan 22, Alexei Alexandrov,
2007 Feb 8)
***************
*** 2495,2501 ****
When using --remote-silent and the file name matches 'wildignore' get an E479
error. without --remote-silent it works fine. (Ben Fritz, 2008 Jun 20)
! Gvim: dialog for closing Vim should check if Vim is busy writing a file. Then
use a different dialog: "busy saving, really quit? yes / no".
Check other interfaces for changing curbuf in a wrong way. Patch like for
--- 2656,2662 ----
When using --remote-silent and the file name matches 'wildignore' get an E479
error. without --remote-silent it works fine. (Ben Fritz, 2008 Jun 20)
! GVim: dialog for closing Vim should check if Vim is busy writing a file. Then
use a different dialog: "busy saving, really quit? yes / no".
Check other interfaces for changing curbuf in a wrong way. Patch like for
***************
*** 2711,2719 ****
Is it allowed that 'backupext' is empty? Problems when backup is in same dir
as original file? If it's OK don't compare with 'patchmode'. (Thierry Closen)
- Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro, 2007
- Jan 1)
-
Patch for adding ":lscscope". (Navdeep Parhar, 2007 Apr 26; update 2008 Apr
23)
--- 2872,2877 ----
***************
*** 2778,2785 ****
- Another patch for Javascript indenting. (Hari Kumar, 2010 Jul 11)
Needs a few tests.
- Add 'cscopeignorecase' option. (Liang Wenzhi, 2006 Sept 3)
- - Load intl.dll too, not only libintl.dll. (Mike Williams, 2006 May 9, docs
- patch May 10)
- Extra argument to strtrans() to translate special keys to their name (Eric
Arnold, 2006 May 22)
- 'threglookexp' option: only match with first word in thesaurus file.
--- 2936,2941 ----
***************
*** 2868,2875 ****
+ 1", but that's ugly.
7 Add patch from Benoit Cerrina to integrate Vim and Perl functions
better. Now also works for Ruby (2001 Nov 10)
- - Patch from Herculano de Lima Einloft Neto for better formatting of the
- quickfix window (2004 dec 2)
7 When 'rightleft' is set, the search pattern should be displayed right
to left as well? See patch of Dec 26. (Nadim Shaikli)
8 Option to lock all used memory so that it doesn't get swapped to disk
--- 3024,3029 ----
***************
*** 2887,2892 ****
--- 3041,3079 ----
and GTK by degreneir (nov 10 and nov 18).
- Patch for "paranoid mode" by Kevin Collins, March 7. Needs much more work.
+ Better 'rightleft' or BIDI support:
+ - Minimal Vi with bidi support:
https://github.com/aligrudi/neatvi
+ By Ali Gholami Rudi, also worked on arabic.c
+
+ Quickfix/Location List:
+ - Window size is wrong when using quickfix window. (Lifepillar, 2018 Aug 24,
+ #2999)
+ - When using CTRL-W CR in the quickfix window, the jumplist in the opened
+ window 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?
+ - Quickfix window height is not kept with a vertical split. (Lifepillar,
+ 2018 Jun 10, #2998)
+ - When an item in the quickfix list has a file name that does not exist,
+ behave like the item was not a match for :cnext.
+ - When adding an item to a new quickfix list make ":cnext" jump to that
+ item. Make a difference being at the first item and not having used
+ :cnext at all. (Afanasiy Fet, 2017 Jan 3)
+ - This does not work: :set cscopequickfix=a-
+ (Linewi, 2015 Jul 12, #914)
+ - When opening quickfix window, disable spell checking?
+ - Patch for supporting count before CR in quickfix window. (AOYAMA Shotaro,
+ 2007 Jan 1)
+ - Patch from Herculano de Lima Einloft Neto for better formatting of the
+ quickfix window (2004 dec 2)
+ - Amiga: When using quickfix with the Manx compiler we only get the first 25
+ errors. How do we get the rest?
+ 8 The quickfix file is read without conversion, thus in 'encoding'. Add an
+ option to specify the encoding of the errorfile and convert it. Also for
+ ":grep" and ":helpgrep".
+ More generic solution: support a filter (e.g., by calling a function).
+ 7 Add a command that goes back to the position from before jumping to the
+ first quickfix location. ":cbefore"?
Vi incompatibility:
- Try new POSIX tests, made after my comments. (Geoff Clare, 2005 April 7)
***************
*** 2974,2981 ****
8 The -P argument doesn't work very well with many MDI applications.
The last argument of CreateWindowEx() should be used, see MSDN docs.
Tutorial:
http://win32assembly.online.fr/tut32.html
- 8 In eval.c, io.h is included when MSWIN32 is defined. Shouldn't this be
- WIN32? Or can including io.h be moved to vim.h? (Dan Sharp)
6 Win32 GUI: With "-u NONE -U NONE" and doing "CTRL-W v" "CTRL-W o", the ":"
of ":only" is highlighted like the cursor. (Lipelis)
8 When 'encoding' is "utf-8", should use 'guifont' for both normal and wide
--- 3161,3166 ----
***************
*** 3382,3389 ****
'magic' in history. (Margo)
9 optwin.vim: Restoring a mapping for <Space> or <CR> is not correct for
":noremap". Add "mapcmd({string}, {mode})? Use code from ":mkexrc".
- 9 incsearch is incorrect for "/that/<Return>/this/;//" (last search pattern
- isn't updated).
9 term_console is used before it is set (msdos, Amiga).
9 Get out-of-memory for ":g/^/,$s//@/" on 1000 lines, this is not handled
correctly. Get many error messages while redrawing the screen, which
--- 3567,3572 ----
***************
*** 3404,3412 ****
7 X11: Some people prefer to use CLIPBOARD instead of PRIMARY for the normal
selection. Add an "xclipboard" argument to the 'clipboard' option? (Mark
Waggoner)
- 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>\".
6 When the xterm reports the number of colors, a redraw occurs. This is
annoying on a slow connection. Wait for the xterm to report the number of
colors before drawing the screen. With a timeout.
--- 3587,3592 ----
***************
*** 3536,3543 ****
- In zsh, "gvim&" changes the terminal settings. This is a zsh problem.
(Jennings)
- Problem with HPterm under X: old contents of window is lost (Cosentino).
- - Amiga: When using quickfix with the Manx compiler we only get the first 25
- errors. How do we get the rest?
- Amiga: The ":cq" command does not always abort the Manx compiler. Why?
- Linux: A file with protection r--rw-rw- is seen readonly for others. The
access() function in GNU libc is probably wrong.
--- 3716,3721 ----
***************
*** 3608,3613 ****
--- 3786,3792 ----
Alternative: Make a function for Ex commands: cmd_edit().
- Add COLUMN NUMBERS to ":" commands ":line1,line2[col1,col2]cmd". Block
can be selected with CTRL-V. Allow '$' (end of line) for col2.
+ (issue #3292)
- ECLIPSE plugin. Problem is: the interface is very complicated. Need to
implement part in Java and then connect to Vim. Some hints from Alexandru
Roman, 2004 Dec 15. Should then also work with Oracle Jdeveloper, see JSR
***************
*** 3711,3718 ****
8 Add local options for each tab page? E.g., 'diffopt' could differ between
tab pages.
7 Add local highlighting for each tab page?
- 7 Add local directory for tab pages? How would this interfere with
- window-local directories?
Spell checking:
--- 3890,3895 ----
***************
*** 3816,3822 ****
secondary: zB zS zT zZ, z=)
8 Vertical folds: looks like vertically split windows, but the cursor moves
through the vertical separator, separator moves when scrolling.
! 8 Add "z/" and "z?" for searching in not folded text only.
8 When a closed fold is displayed open because of 'foldminlines', the
behavior of commands is still like the fold is closed. How to make the
user aware of this?
--- 3993,4000 ----
secondary: zB zS zT zZ, z=)
8 Vertical folds: looks like vertically split windows, but the cursor moves
through the vertical separator, separator moves when scrolling.
! 8 Add "z/" and "z?" for searching in not folded text only. Or use a regexp
! item, so that it can be used in any pattern.
8 When a closed fold is displayed open because of 'foldminlines', the
behavior of commands is still like the fold is closed. How to make the
user aware of this?
***************
*** 3869,3878 ****
8 Add an item in 'fileencodings' to check the first line of an XML file for
the encoding. <?xml version="1.0" encoding="UTF-8"?> Or "charset=UTF-8"?
For HTML look for "charset=utf-8".
- 8 The quickfix file is read without conversion, thus in 'encoding'. Add an
- option to specify the encoding of the errorfile and convert it. Also for
- ":grep" and ":helpgrep".
- More generic solution: support a filter (e.g., by calling a function).
8 When a file was converted from 'fileencoding' to 'encoding', a tag search
should also do this on the search pattern. (Andrzej M. Ostruszka)
8 When filtering changes the encoding 'fileencoding' may not work. E.g.,
--- 4047,4052 ----
***************
*** 4178,4185 ****
virtualmode() add argument to obtain whether "$" was used in
Visual block mode.
getacp() Win32: get codepage (Glenn Maynard)
- deletebufline() delete line in any buffer
- appendbufline() append line in any buffer
libcall() Allow more than one argument.
libcallext() Like libcall(), but using a callback function
to allow the library to execute a command or
--- 4352,4357 ----
***************
*** 4652,4661 ****
command used dos fileformat. Same for 'fileencoding'.
- Add events to autocommands:
Error - When an error happens
! NormalEnter - Entering Normal mode
! ReplaceEnter - Entering Replace mode
! VisualEnter - Entering Visual mode
! *Leave - Leaving a mode (in pair with the above *Enter)
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
when exiting isn't a good idea.
CursorHoldC - CursorHold while command-line editing
--- 4824,4830 ----
command used dos fileformat. Same for 'fileencoding'.
- Add events to autocommands:
Error - When an error happens
! ModeChange - after changing mode (before waiting for a char)
VimLeaveCheck - Before Vim decides to exit, so that it can be cancelled
when exiting isn't a good idea.
CursorHoldC - CursorHold while command-line editing
***************
*** 5167,5182 ****
Incsearch:
! - Add a limit to the number of lines that are searched for 'incsearch'?
- When no match is found and the user types more, the screen is redrawn
anyway. Could skip that. Esp. if the line wraps and the text is scrolled
up every time.
- - Temporarily open folds to show where the search ends up. Restore the
- folds when going to another line.
- When incsearch used and hitting return, no need to search again in many
cases, saves a lot of time in big files. (Slootman wants to work on this?)
When not using special characters, can continue search from the last match
(or not at all, when there was no match). See oldmail/webb/in.872.
Searching:
--- 5336,5357 ----
Incsearch:
! - Wrong scrolling when using incsearch. Patch by Christian Brabandt, 2014
! Dec 4. Is this a good solution?
! - Temporarily open folds to show where the search ends up. Restore the
! folds when going to another line.
! Patch to open folds for 'incsearch'. (Christian Brabandt, 2015 Jan 6)
! - Bug with 'incsearch' going to wrong line. (Wolfram Kresse, 2009 Aug 17)
! Only with "vim -u NONE".
- When no match is found and the user types more, the screen is redrawn
anyway. Could skip that. Esp. if the line wraps and the text is scrolled
up every time.
- When incsearch used and hitting return, no need to search again in many
cases, saves a lot of time in big files. (Slootman wants to work on this?)
When not using special characters, can continue search from the last match
(or not at all, when there was no match). See oldmail/webb/in.872.
+ 9 incsearch is incorrect for "/that/<Return>/this/;//" (last search pattern
+ isn't updated).
Searching:
***************
*** 5479,5487 ****
that marks if the option was set. Useful to keep the effect of setting
'compatible' after ":syntax on" has been used.
7 There is 'titleold', why is there no 'iconold'? (Chazelas)
- 7 Make 'scrolloff' a global-local option, so that it can be different in the
- quickfix window, for example. (Gary Holloway)
- Also do 'sidescrolloff'.
External commands:
--- 5654,5659 ----
***************
*** 5662,5668 ****
7 Store the history from debug mode in viminfo.
7 Make the debug mode history available with histget() et al.
-
Various improvements:
7 Add plugins for formatting? Should be able to make a choice depending on
the language of a file (English/Korean/Japanese/etc.).
--- 5834,5839 ----
***************
*** 5683,5690 ****
from the 'makeprg'?
- Add %b to 'errorformat': buffer number. (Yegappan Lakshmanan / Suresh
Govindachar)
- 7 Add a command that goes back to the position from before jumping to the
- first quickfix location. ":cbefore"?
7 Allow a window not to have a statusline. Makes it possible to use a
window as a buffer-tab selection.
8 Allow non-active windows to have a different statusline. (Yakov Lerner)
--- 5854,5859 ----
***************
*** 5816,5822 ****
used, remove the <CR> at the end of lines in [range].
A CTRL-Z at the end of the file is removed. If
[range] is omitted, or it is the whole file, and all
! lines end in <CR> 'textmode' is set. {not in Vi}
- Should integrate addstar() and file_pat_to_reg_pat().
- When working over a serial line with 7 bit characters, remove meta
characters from 'isprint'.
--- 5985,5991 ----
used, remove the <CR> at the end of lines in [range].
A CTRL-Z at the end of the file is removed. If
[range] is omitted, or it is the whole file, and all
! lines end in <CR> 'textmode' is set.
- Should integrate addstar() and file_pat_to_reg_pat().
- When working over a serial line with 7 bit characters, remove meta
characters from 'isprint'.
***************
*** 6090,6094 ****
are reflected in each Vim immediately. Could work with local files but
also over the internet. See
http://www.codingmonkeys.de/subethaedit/.
! vim:tw=78:sw=4:sts=4:ts=8:ft=help:norl:
vim: set fo+=n :
--- 6259,6263 ----
are reflected in each Vim immediately. Could work with local files but
also over the internet. See
http://www.codingmonkeys.de/subethaedit/.
! vim:tw=78:sw=4:sts=4:ts=8:noet:ft=help:norl:
vim: set fo+=n :
*** ../vim-8.1.1279/runtime/doc/uganda.txt 2018-05-17 16:20:48.000000000 +0200
--- runtime/doc/uganda.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 285,288 ****
This address is expected to be valid for a long time.
! vim:tw=78:ts=8:ft=help:norl:
--- 285,288 ----
This address is expected to be valid for a long time.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/undo.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/undo.txt 2019-05-05 17:54:24.650384207 +0200
***************
*** 1,4 ****
! *undo.txt* For Vim version 8.1. Last change: 2014 May 24
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *undo.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 25,31 ****
:u[ndo] Undo one change. {Vi: only one level}
*E830*
:u[ndo] {N} Jump to after change number {N}. See |undo-branches|
! for the meaning of {N}. {not in Vi}
*CTRL-R*
CTRL-R Redo [count] changes which were undone. {Vi: redraw
--- 25,31 ----
:u[ndo] Undo one change. {Vi: only one level}
*E830*
:u[ndo] {N} Jump to after change number {N}. See |undo-branches|
! for the meaning of {N}.
*CTRL-R*
CTRL-R Redo [count] changes which were undone. {Vi: redraw
***************
*** 95,101 ****
Warning: Use with care, it may prevent the user from
properly undoing changes. Don't use this after undo
or redo.
- {not in Vi}
This is most useful when you need to prompt the user halfway through a change.
For example in a function that calls |getchar()|. Do make sure that there was
--- 95,100 ----
***************
*** 151,157 ****
*g-*
g- Go to older text state. With a count repeat that many
! times. {not in Vi}
*:ea* *:earlier*
:earlier {count} Go to older text state {count} times.
:earlier {N}s Go to older text state about {N} seconds before.
--- 150,156 ----
*g-*
g- Go to older text state. With a count repeat that many
! times.
*:ea* *:earlier*
:earlier {count} Go to older text state {count} times.
:earlier {N}s Go to older text state about {N} seconds before.
***************
*** 170,176 ****
*g+*
g+ Go to newer text state. With a count repeat that many
! times. {not in Vi}
*:lat* *:later*
:later {count} Go to newer text state {count} times.
:later {N}s Go to newer text state about {N} seconds later.
--- 169,175 ----
*g+*
g+ Go to newer text state. With a count repeat that many
! times.
*:lat* *:later*
:later {count} Go to newer text state {count} times.
:later {N}s Go to newer text state about {N} seconds later.
***************
*** 259,264 ****
--- 258,269 ----
When the file is encrypted, the text in the undo file is also crypted. The
same key and method is used. |encryption|
+ Note that text properties are not stored in the undo file. You can restore
+ text properties so long as a buffer is loaded, but you cannot restore them
+ from an undo file. Rationale: It would require the associated text property
+ types to be defined in exactly the same was as before, which cannot be
+ guaranteed.
+
You can also save and restore undo histories by using ":wundo" and ":rundo"
respectively:
*:wundo* *:rundo*
***************
*** 274,283 ****
the existing file and then creating a new file with the same
name. So it is not possible to overwrite an existing undofile
in a write-protected directory.
- {not in Vi}
:rundo {file} Read undo history from {file}.
- {not in Vi}
You can use these in autocommands to explicitly specify the name of the
history file. E.g.: >
--- 279,286 ----
***************
*** 368,377 ****
:unlet old_undolevels
Marks for the buffer ('a to 'z) are also saved and restored, together with the
! text. {Vi does this a little bit different}
When all changes have been undone, the buffer is not considered to be changed.
! It is then possible to exit Vim with ":q" instead of ":q!" {not in Vi}. Note
that this is relative to the last write of the file. Typing "u" after ":w"
actually changes the buffer, compared to what was written, so the buffer is
considered changed then.
--- 371,380 ----
:unlet old_undolevels
Marks for the buffer ('a to 'z) are also saved and restored, together with the
! text.
When all changes have been undone, the buffer is not considered to be changed.
! It is then possible to exit Vim with ":q" instead of ":q!". Note
that this is relative to the last write of the file. Typing "u" after ":w"
actually changes the buffer, compared to what was written, so the buffer is
considered changed then.
***************
*** 403,406 ****
first put, and repeat the put command for the second register. Repeat the
'u.' until you got what you want.
! vim:tw=78:ts=8:ft=help:norl:
--- 406,409 ----
first put, and repeat the put command for the second register. Repeat the
'u.' until you got what you want.
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_01.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_01.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 189,192 ****
Next chapter: |usr_02.txt| The first steps in Vim
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 189,192 ----
Next chapter: |usr_02.txt| The first steps in Vim
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_02.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_02.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 698,701 ****
Next chapter: |usr_03.txt| Moving around
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 698,701 ----
Next chapter: |usr_03.txt| Moving around
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_03.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_03.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 654,657 ****
Next chapter: |usr_04.txt| Making small changes
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 654,657 ----
Next chapter: |usr_04.txt| Making small changes
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_04.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_04.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 511,514 ****
Next chapter: |usr_05.txt| Set your settings
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 511,514 ----
Next chapter: |usr_05.txt| Set your settings
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_05.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_05.txt 2019-02-27 14:54:28.115209213 +0100
***************
*** 1,4 ****
! *usr_05.txt* For Vim version 8.1. Last change: 2018 Feb 20
VIM USER MANUAL - by Bram Moolenaar
--- 1,4 ----
! *usr_05.txt* For Vim version 8.1. Last change: 2019 Feb 27
VIM USER MANUAL - by Bram Moolenaar
***************
*** 11,22 ****
|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
Next chapter: |usr_06.txt| Using syntax highlighting
Previous chapter: |usr_04.txt| Making small changes
--- 11,23 ----
|05.1| The vimrc file
|05.2| The example vimrc file explained
! |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,131 ****
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.
!
! >
! 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.
! >
! 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
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|
>
! set history=50
- Keep 50 commands and 50 search patterns in the history. Use another number if
- you want to remember fewer or more lines.
>
set ruler
Always display the current cursor position in the lower right corner of the
! Vim window.
>
set showcmd
--- 83,202 ----
will be explained though. Use the ":help" command to find out more.
>
! " Get the defaults that most users want.
! source $VIMRUNTIME/defaults.vim
! 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|
>
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
! 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 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. See 'ruler'.
>
set showcmd
***************
*** 144,153 ****
^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^
'showmode' 'showcmd' 'ruler'
>
set incsearch
! Display the match for a search pattern when halfway typing it.
>
map Q gq
--- 215,251 ----
^^^^^^^^^^^ ^^^^^^^^ ^^^^^^^^^^
'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. See
! 'incsearch'.
!
! >
! set nrformats-=octal
!
! Do not recognize numbers starting with a zero as octal. See 'nrformats'.
>
map Q gq
***************
*** 158,180 ****
will not need it.
>
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.
>
! if &t_Co > 2 || has("gui_running")
! syntax on
! set hlsearch
! endif
! 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
! condition is met. More about that in |usr_41.txt|.
*vimrc-filetype* >
filetype plugin indent on
--- 256,285 ----
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.
! 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.
>
! syntax on
! Enable highlighting files in color. See |syntax|.
*vimrc-filetype* >
filetype plugin indent on
***************
*** 201,221 ****
automatically. Vim comes with these indent rules for a number of
filetypes. See |:filetype-indent-on| and 'indentexpr'.
- >
- autocmd FileType text setlocal textwidth=78
! 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.
!
! *restore-cursor* >
! autocmd BufReadPost *
! \ if line("'\"") > 1 && line("'\"") <= line("$") |
! \ exe "normal! g`\"" |
! \ endif
Another autocommand. This time it is used after reading any file. The
complicated stuff after it checks if the '" mark is defined, and jumps to it
--- 306,317 ----
automatically. Vim comes with these indent rules for a number of
filetypes. See |:filetype-indent-on| and 'indentexpr'.
! *restore-cursor* *last-position-jump* >
! autocmd BufReadPost *
! \ if line("'\"") >= 1 && line("'\"") <= line("$") && &ft !~# 'commit'
! \ | exe "normal! g`\""
! \ | endif
Another autocommand. This time it is used after reading any file. The
complicated stuff after it checks if the '" mark is defined, and jumps to it
***************
*** 224,231 ****
See |line-continuation|. This only works in a Vim script file, not when
typing commands at the command-line.
==============================================================================
! *05.3* Simple mappings
A mapping enables you to bind a set of Vim commands to a single key. Suppose,
for example, that you need to surround certain words with curly braces. In
--- 320,341 ----
See |line-continuation|. This only works in a Vim script file, not when
typing commands at the command-line.
+ >
+ command DiffOrig vert new | set bt=nofile | r ++edit # | 0d_ | diffthis
+ \ | wincmd p | diffthis
+
+ This adds the ":DiffOrig" command. Use this in a modified buffer to see the
+ differences with the file it was loaded from. See |diff| and |:DiffOrig|.
+
+ >
+ set nolangremap
+
+ Prevent that the langmap option applies to characters that result from a
+ mapping. If set (default), this may break plugins (but it's backward
+ compatible). See 'langremap'.
+
==============================================================================
! *05.4* Simple mappings
A mapping enables you to bind a set of Vim commands to a single key. Suppose,
for example, that you need to surround certain words with curly braces. In
***************
*** 272,278 ****
least the ones for Normal mode. More about mappings in section |40.1|.
==============================================================================
! *05.4* Adding a package *add-package* *matchit-install*
A package is a set of files that you can add to Vim. There are two kinds of
packages: optional and automatically loaded on startup.
--- 382,388 ----
least the ones for Normal mode. More about mappings in section |40.1|.
==============================================================================
! *05.5* Adding a package *add-package* *matchit-install*
A package is a set of files that you can add to Vim. There are two kinds of
packages: optional and automatically loaded on startup.
***************
*** 310,316 ****
More information about packages can be found here: |packages|.
==============================================================================
! *05.5* Adding a plugin *add-plugin* *plugin*
Vim's functionality can be extended by adding plugins. A plugin is nothing
more than a Vim script file that is loaded automatically when Vim starts. You
--- 420,426 ----
More information about packages can be found here: |packages|.
==============================================================================
! *05.6* Adding a plugin *add-plugin* *plugin*
Vim's functionality can be extended by adding plugins. A plugin is nothing
more than a Vim script file that is loaded automatically when Vim starts. You
***************
*** 344,351 ****
GETTING A GLOBAL PLUGIN
Where can you find plugins?
- Some come with Vim. You can find them in the directory $VIMRUNTIME/macros
! and its sub-directories.
- Download from the net. There is a large collection on
http://www.vim.org.
- They are sometimes posted in a Vim |maillist|.
- You could write one yourself, see |write-plugin|.
--- 454,462 ----
GETTING A GLOBAL PLUGIN
Where can you find plugins?
+ - Some are always loaded, you can see them in the directory $VIMRUNTIME/plugin.
- Some come with Vim. You can find them in the directory $VIMRUNTIME/macros
! and its sub-directories and under $VIM/vimfiles/pack/dist/opt/.
- Download from the net. There is a large collection on
http://www.vim.org.
- They are sometimes posted in a Vim |maillist|.
- You could write one yourself, see |write-plugin|.
***************
*** 461,467 ****
|new-filetype| How to detect a new file type.
==============================================================================
! *05.6* Adding a help file *add-local-help*
If you are lucky, the plugin you installed also comes with a help file. We
will explain how to install the help file, so that you can easily find help
--- 572,578 ----
|new-filetype| How to detect a new file type.
==============================================================================
! *05.7* Adding a help file *add-local-help*
If you are lucky, the plugin you installed also comes with a help file. We
will explain how to install the help file, so that you can easily find help
***************
*** 506,512 ****
For writing a local help file, see |write-local-help|.
==============================================================================
! *05.7* The option window
If you are looking for an option that does what you want, you can search in
the help files here: |options|. Another way is by using this command: >
--- 617,623 ----
For writing a local help file, see |write-local-help|.
==============================================================================
! *05.8* The option window
If you are looking for an option that does what you want, you can search in
the help files here: |options|. Another way is by using this command: >
***************
*** 545,551 ****
from the window border where scrolling starts.
==============================================================================
! *05.8* Often used options
There are an awful lot of options. Most of them you will hardly ever use.
Some of the more useful ones will be mentioned here. Don't forget you can
--- 656,662 ----
from the window border where scrolling starts.
==============================================================================
! *05.9* Often used options
There are an awful lot of options. Most of them you will hardly ever use.
Some of the more useful ones will be mentioned here. Don't forget you can
***************
*** 663,666 ****
Next chapter: |usr_06.txt| Using syntax highlighting
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 774,777 ----
Next chapter: |usr_06.txt| Using syntax highlighting
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_06.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_06.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 277,280 ****
Next chapter: |usr_07.txt| Editing more than one file
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 277,280 ----
Next chapter: |usr_07.txt| Editing more than one file
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_07.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_07.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 476,479 ****
Next chapter: |usr_08.txt| Splitting windows
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 476,479 ----
Next chapter: |usr_08.txt| Splitting windows
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_08.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_08.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 598,601 ****
Next chapter: |usr_09.txt| Using the GUI
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 598,601 ----
Next chapter: |usr_09.txt| Using the GUI
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_09.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_09.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 5,13 ****
Using the GUI
! Vim works in an ordinary terminal. GVim can do the same things and a few
! more. The GUI offers menus, a toolbar, scrollbars and other items. This
! chapter is about these extra things that the GUI offers.
|09.1| Parts of the GUI
|09.2| Using the mouse
--- 5,14 ----
Using the GUI
! Vim works in an ordinary terminal, while gVim has a Graphical User Interface
! (GUI). It can do the same things and a few more. The GUI offers menus, a
! toolbar, scrollbars and other items. This chapter is about these extra things
! that the GUI offers.
|09.1| Parts of the GUI
|09.2| Using the mouse
***************
*** 286,289 ****
Next chapter: |usr_10.txt| Making big changes
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 287,290 ----
Next chapter: |usr_10.txt| Making big changes
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_10.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_10.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 821,824 ****
Next chapter: |usr_11.txt| Recovering from a crash
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 821,824 ----
Next chapter: |usr_11.txt| Recovering from a crash
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_11.txt 2019-04-28 22:25:03.244480028 +0200
--- runtime/doc/usr_11.txt 2019-04-28 21:58:09.667057415 +0200
***************
*** 1,4 ****
! *usr_11.txt* For Vim version 8.1. Last change: 2018 Apr 13
VIM USER MANUAL - by Bram Moolenaar
--- 1,4 ----
! *usr_11.txt* For Vim version 8.1. Last change: 2019 Apr 28
VIM USER MANUAL - by Bram Moolenaar
***************
*** 312,315 ****
Next chapter: |usr_12.txt| Clever tricks
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 312,315 ----
Next chapter: |usr_12.txt| Clever tricks
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_12.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_12.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 355,358 ****
Next chapter: |usr_20.txt| Typing command-line commands quickly
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 355,358 ----
Next chapter: |usr_20.txt| Typing command-line commands quickly
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_20.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_20.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 381,384 ****
Next chapter: |usr_21.txt| Go away and come back
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 381,384 ----
Next chapter: |usr_21.txt| Go away and come back
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_21.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_21.txt 2019-04-25 21:55:24.090196331 +0200
***************
*** 1,4 ****
! *usr_21.txt* For Vim version 8.1. Last change: 2012 Nov 02
VIM USER MANUAL - by Bram Moolenaar
--- 1,4 ----
! *usr_21.txt* For Vim version 8.1. Last change: 2019 Apr 25
VIM USER MANUAL - by Bram Moolenaar
***************
*** 263,269 ****
The windows that were open are restored, with the same position and size as
before. Mappings and option values are like before.
What exactly is restored depends on the 'sessionoptions' option. The
! default value is "blank,buffers,curdir,folds,help,options,winsize".
blank keep empty windows
buffers all buffers, not only the ones in a window
--- 263,270 ----
The windows that were open are restored, with the same position and size as
before. Mappings and option values are like before.
What exactly is restored depends on the 'sessionoptions' option. The
! default value is:
! "blank,buffers,curdir,folds,help,options,tabpages,winsize,terminal".
blank keep empty windows
buffers all buffers, not only the ones in a window
***************
*** 271,277 ****
--- 272,280 ----
folds folds, also manually created ones
help the help window
options all options and mappings
+ tabpages all tab pages
winsize window sizes
+ terminal include terminal windows
Change this to your liking. To also restore the size of the Vim window, for
example, use: >
***************
*** 496,499 ****
Next chapter: |usr_22.txt| Finding the file to edit
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 499,502 ----
Next chapter: |usr_22.txt| Finding the file to edit
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_22.txt 2019-04-27 20:36:52.526303597 +0200
--- runtime/doc/usr_22.txt 2019-04-27 20:17:02.375349029 +0200
***************
*** 1,4 ****
! *usr_22.txt* For Vim version 8.1. Last change: 2016 Dec 13
VIM USER MANUAL - by Bram Moolenaar
--- 1,4 ----
! *usr_22.txt* For Vim version 8.1. Last change: 2019 Apr 27
VIM USER MANUAL - by Bram Moolenaar
***************
*** 411,414 ****
Next chapter: |usr_23.txt| Editing other files
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 411,414 ----
Next chapter: |usr_23.txt| Editing other files
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_23.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_23.txt 2018-10-24 21:30:14.629848115 +0200
***************
*** 208,222 ****
LIMITS ON ENCRYPTION
! The encryption algorithm used by Vim is weak. It is good enough to keep out
! the casual prowler, but not good enough to keep out a cryptology expert with
! lots of time on his hands. Also you should be aware that the swap file is not
! encrypted; so while you are editing, people with superuser privileges can read
! the unencrypted text from this file.
! One way to avoid letting people read your swap file is to avoid using one.
! If the -n argument is supplied on the command line, no swap file is used
! (instead, Vim puts everything in memory). For example, to edit the encrypted
! file "file.txt" without a swap file use the following command: >
vim -x -n file.txt
--- 208,224 ----
LIMITS ON ENCRYPTION
! The encryption algorithm used by Vim is not very strong. It is good enough to
! keep out the casual prowler, but not good enough to keep out a cryptology
! expert with lots of time on his hands. The text in the swap file and the undo
! file is also encrypted. However, this is done block-by-block and may reduce
! the time needed to crack a password. You can disable the swap file, but then
! a crash will cause you to lose your work, since Vim keeps all the text in
! memory only. The undo file can be disabled with the only disadvantage that
! you can't undo after unloading the buffer.
! To avoid using a swap file, supply the -n argument on the command line.
! For example, to edit the encrypted file "file.txt" without a swap file use the
! following command: >
vim -x -n file.txt
***************
*** 340,343 ****
Next chapter: |usr_24.txt| Inserting quickly
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 342,345 ----
Next chapter: |usr_24.txt| Inserting quickly
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_24.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_24.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 603,606 ****
Next chapter: |usr_25.txt| Editing formatted text
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 603,606 ----
Next chapter: |usr_25.txt| Editing formatted text
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_25.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_25.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 579,582 ****
Next chapter: |usr_26.txt| Repeating
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 579,582 ----
Next chapter: |usr_26.txt| Repeating
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_26.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_26.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 218,221 ****
Next chapter: |usr_27.txt| Search commands and patterns
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 218,221 ----
Next chapter: |usr_27.txt| Search commands and patterns
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_27.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_27.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 560,563 ****
Next chapter: |usr_28.txt| Folding
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 560,563 ----
Next chapter: |usr_28.txt| Folding
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_28.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_28.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 423,426 ****
Next chapter: |usr_29.txt| Moving through programs
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 423,426 ----
Next chapter: |usr_29.txt| Moving through programs
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_29.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_29.txt 2018-08-08 23:07:19.240325166 +0200
***************
*** 608,611 ****
Next chapter: |usr_30.txt| Editing programs
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 608,611 ----
Next chapter: |usr_30.txt| Editing programs
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_30.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_30.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 640,643 ****
Next chapter: |usr_31.txt| Exploiting the GUI
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 640,643 ----
Next chapter: |usr_31.txt| Exploiting the GUI
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_31.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_31.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 269,272 ****
Next chapter: |usr_32.txt| The undo tree
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 269,272 ----
Next chapter: |usr_32.txt| The undo tree
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_32.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_32.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 177,180 ****
Next chapter: |usr_40.txt| Make new commands
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 177,180 ----
Next chapter: |usr_40.txt| Make new commands
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_40.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_40.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 654,657 ****
Next chapter: |usr_41.txt| Write a Vim script
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 654,657 ----
Next chapter: |usr_41.txt| Write a Vim script
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_41.txt 2019-05-04 15:47:25.633423491 +0200
--- runtime/doc/usr_41.txt 2019-05-04 15:23:11.301395183 +0200
***************
*** 1,4 ****
! *usr_41.txt* For Vim version 8.1. Last change: 2018 Apr 11
VIM USER MANUAL - by Bram Moolenaar
--- 1,4 ----
! *usr_41.txt* For Vim version 8.1. Last change: 2019 May 04
VIM USER MANUAL - by Bram Moolenaar
***************
*** 614,619 ****
--- 614,620 ----
repeat() repeat a string multiple times
eval() evaluate a string expression
execute() execute an Ex command and get the output
+ trim() trim characters from a string
List manipulation: *list-functions*
get() get an item without error for wrong index
***************
*** 774,780 ****
systemlist() get the result of a shell command as a list
hostname() name of the system
readfile() read a file into a List of lines
! writefile() write a List of lines into a file
Date and Time: *date-functions* *time-functions*
getftime() get last modification time of a file
--- 775,782 ----
systemlist() get the result of a shell command as a list
hostname() name of the system
readfile() read a file into a List of lines
! readdir() get a List of file names in a directory
! writefile() write a List of lines or Blob into a file
Date and Time: *date-functions* *time-functions*
getftime() get last modification time of a file
***************
*** 803,808 ****
--- 805,813 ----
bufwinnr() get the window number of a specific buffer
winbufnr() get the buffer number of a specific window
getbufline() get a list of lines from the specified buffer
+ setbufline() replace a line in the specified buffer
+ appendbufline() append a list of lines in the specified buffer
+ deletebufline() delete lines from a specified buffer
win_findbuf() find windows containing a buffer
win_getid() get window ID of a window
win_gotoid() go to window with ID
***************
*** 814,819 ****
--- 819,825 ----
getchangelist() get a list of change list entries
getjumplist() get a list of jump list entries
swapinfo() information about a swap file
+ swapname() get the swap file path of a buffer
Command line: *command-line-functions*
getcmdline() get the current command line
***************
*** 912,917 ****
--- 918,924 ----
winheight() get height of a specific window
winwidth() get width of a specific window
win_screenpos() get screen position of a window
+ winlayout() get layout of windows in a tab page
winrestcmd() return command to restore window sizes
winsaveview() get view of current window
winrestview() restore saved view of current window
***************
*** 924,929 ****
--- 931,937 ----
Testing: *test-functions*
assert_equal() assert that two expressions values are equal
+ assert_equalfile() assert that two file contents are equal
assert_notequal() assert that two expressions values are not equal
assert_inrange() assert that an expression is inside a range
assert_match() assert that a pattern matches the value
***************
*** 939,944 ****
--- 947,953 ----
test_override() test with Vim internal overrides
test_garbagecollect_now() free memory right now
test_ignore_error() ignore a specific error message
+ test_null_blob() return a null Blob
test_null_channel() return a null Channel
test_null_dict() return a null Dict
test_null_job() return a null Job
***************
*** 957,962 ****
--- 966,972 ----
ch_close() close a channel
ch_close_in() close the in part of a channel
ch_read() read a message from a channel
+ ch_readblob() read a Blob from a channel
ch_readraw() read a raw message from a channel
ch_sendexpr() send a JSON message over a channel
ch_sendraw() send a raw message over a channel
***************
*** 1009,1014 ****
--- 1019,1030 ----
term_gettty() get the tty name of a terminal
term_setansicolors() set 16 ANSI colors, used for GUI
term_getansicolors() get 16 ANSI colors, used for GUI
+ term_dumpdiff() display difference between two screen dumps
+ term_dumpload() load a terminal screen dump in a window
+ term_dumpwrite() dump contents of a terminal screen to a file
+ term_setkill() set signal to stop job in a terminal
+ term_setrestore() set command to restore a terminal
+ term_setsize() set the size of a terminal
Timers: *timer-functions*
timer_start() create a timer
***************
*** 1017,1022 ****
--- 1033,1049 ----
timer_stopall() stop all timers
timer_info() get information about timers
+ Tags: *tag-functions*
+ taglist() get list of matching tags
+ tagfiles() get a list of tags files
+ gettagstack() get the tag stack of a window
+ settagstack() modify the tag stack of a window
+
+ Prompt Buffer: *promptbuffer-functions*
+ prompt_setcallback() set prompt callback for a buffer
+ prompt_setinterrupt() set interrupt callback for a buffer
+ prompt_setprompt() set the prompt text for a buffer
+
Various: *various-functions*
mode() get current editing mode
visualmode() last visual mode used
***************
*** 1044,1060 ****
wordcount() get byte/word/char count of buffer
- taglist() get list of matching tags
- tagfiles() get a list of tags files
- gettagstack() get the tag stack
- settagstack() modify the tag stack
-
luaeval() evaluate Lua expression
mzeval() evaluate |MzScheme| expression
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
pyxeval() evaluate |python_x| expression
==============================================================================
*41.7* Defining a function
--- 1071,1083 ----
wordcount() get byte/word/char count of buffer
luaeval() evaluate Lua expression
mzeval() evaluate |MzScheme| expression
perleval() evaluate Perl expression (|+perl|)
py3eval() evaluate Python expression (|+python3|)
pyeval() evaluate Python expression (|+python|)
pyxeval() evaluate |python_x| expression
+ debugbreak() interrupt a program being debugged
==============================================================================
*41.7* Defining a function
***************
*** 2613,2616 ****
Next chapter: |usr_42.txt| Add new menus
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 2636,2639 ----
Next chapter: |usr_42.txt| Add new menus
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_43.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_43.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 176,179 ****
Next chapter: |usr_44.txt| Your own syntax highlighted
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 176,179 ----
Next chapter: |usr_44.txt| Your own syntax highlighted
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_44.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_44.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 716,719 ****
Next chapter: |usr_45.txt| Select your language
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 716,719 ----
Next chapter: |usr_45.txt| Select your language
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_45.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_45.txt 2019-02-17 17:50:03.378330597 +0100
***************
*** 153,164 ****
language, the default should work fine and you don't need to do anything. The
following is only relevant when you want to edit different languages.
- Note:
- Using different encodings only works when Vim was compiled to handle
- it. To find out if it works, use the ":version" command and check the
- output for "+multi_byte". If it's there, you are OK. If you see
- "-multi_byte" you will have to find another Vim.
-
USING UNICODE IN THE GUI
--- 153,158 ----
***************
*** 416,419 ****
Next chapter: |usr_90.txt| Installing Vim
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 410,413 ----
Next chapter: |usr_90.txt| Installing Vim
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_90.txt 2018-05-17 13:42:03.000000000 +0200
--- runtime/doc/usr_90.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 495,498 ****
Table of contents: |usr_toc.txt|
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 495,498 ----
Table of contents: |usr_toc.txt|
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/usr_toc.txt 2018-05-17 13:42:04.000000000 +0200
--- runtime/doc/usr_toc.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 352,355 ****
==============================================================================
! Copyright: see |manual-copyright| vim:tw=78:ts=8:ft=help:norl:
--- 352,355 ----
==============================================================================
! Copyright: see |manual-copyright| vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/various.txt 2019-04-27 22:40:03.927661368 +0200
--- runtime/doc/various.txt 2019-05-05 17:30:05.650423230 +0200
***************
*** 1,4 ****
! *various.txt* For Vim version 8.1. Last change: 2018 Mar 29
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *various.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 73,80 ****
<ö> 246, Hex 00f6, Oct 366, Digr o: ~
This shows you can type CTRL-K o : to insert ö.
- {not in Vi}
-
*g8*
g8 Print the hex values of the bytes used in the
character under the cursor, assuming it is in |UTF-8|
--- 73,78 ----
***************
*** 82,89 ****
value of 'maxcombine' doesn't matter.
Example of a character with two composing characters:
e0 b8 81 + e0 b8 b9 + e0 b9 89 ~
- {not in Vi} {only when compiled with the |+multi_byte|
- feature}
*8g8*
8g8 Find an illegal UTF-8 byte sequence at or after the
--- 80,85 ----
***************
*** 98,105 ****
Note that when the cursor is on an illegal byte or the
cursor is halfway a multi-byte character the command
won't move the cursor.
- {not in Vi} {only when compiled with the |+multi_byte|
- feature}
*:p* *:pr* *:print* *E749*
:[range]p[rint] [flags]
--- 94,99 ----
***************
*** 176,182 ****
:{range}z#[+-^.=]{count} *:z#*
Like ":z", but number the lines.
- {not in all versions of Vi, not with these arguments}
*:=*
:= [flags] Print the last line number.
--- 170,175 ----
***************
*** 226,232 ****
Example: >
:exe "normal \<c-w>\<c-w>"
- < {not in Vi, of course}
:{range}norm[al][!] {commands} *:normal-range*
Execute Normal mode commands {commands} for each line
--- 219,224 ----
***************
*** 234,240 ****
cursor is positioned in the first column of the range,
for each line. Otherwise it's the same as the
":normal" command without a range.
- {not in Vi}
*:sh* *:shell* *E371*
:sh[ell] This command starts a shell. When the shell exits
--- 226,231 ----
***************
*** 440,451 ****
N *+startuptime* |--startuptime| argument
N *+statusline* Options 'statusline', 'rulerformat' and special
formats of 'titlestring' and 'iconstring'
! m *+sun_workshop* |workshop|
N *+syntax* Syntax highlighting |syntax|
*+system()* Unix only: opposite of |+fork|
T *+tag_binary* binary searching in tags file |tag-binary-search|
N *+tag_old_static* old method for static tags |tag-old-static|
! m *+tag_any_white* any white space allowed in tags file |tag-any-white|
m *+tcl* Tcl interface |tcl|
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
m *+terminal* Support for terminal window |terminal|
--- 431,442 ----
N *+startuptime* |--startuptime| argument
N *+statusline* Options 'statusline', 'rulerformat' and special
formats of 'titlestring' and 'iconstring'
! m *+sun_workshop* |workshop|; no longer supported
N *+syntax* Syntax highlighting |syntax|
*+system()* Unix only: opposite of |+fork|
T *+tag_binary* binary searching in tags file |tag-binary-search|
N *+tag_old_static* old method for static tags |tag-old-static|
! m *+tag_any_white* Removed; was to allow any white space in tags files
m *+tcl* Tcl interface |tcl|
m *+tcl/dyn* Tcl interface |tcl-dynamic| |/dyn|
m *+terminal* Support for terminal window |terminal|
***************
*** 492,498 ****
:ve[rsion] {nr} Is now ignored. This was previously used to check the
version number of a .vimrc file. It was removed,
because you can now use the ":if" command for
! version-dependent behavior. {not in Vi}
*:redi* *:redir*
:redi[r][!] > {file} Redirect messages to file {file}. The messages which
--- 483,489 ----
:ve[rsion] {nr} Is now ignored. This was previously used to check the
version number of a .vimrc file. It was removed,
because you can now use the ":if" command for
! version-dependent behavior.
*:redi* *:redir*
:redi[r][!] > {file} Redirect messages to file {file}. The messages which
***************
*** 512,542 ****
with ":silent call Function()".
An alternative is to use the 'verbosefile' option,
this can be used in combination with ":redir".
- {not in Vi}
:redi[r] >> {file} Redirect messages to file {file}. Append if {file}
! already exists. {not in Vi}
:redi[r] @{a-zA-Z}
:redi[r] @{a-zA-Z}> Redirect messages to register {a-z}. Append to the
contents of the register if its name is given
uppercase {A-Z}. The ">" after the register name is
! optional. {not in Vi}
! :redi[r] @{a-z}>> Append messages to register {a-z}. {not in Vi}
:redi[r] @*>
:redi[r] @+> Redirect messages to the selection or clipboard. For
backward compatibility, the ">" after the register
name can be omitted. See |quotestar| and |quoteplus|.
- {not in Vi}
:redi[r] @*>>
:redi[r] @+>> Append messages to the selection or clipboard.
- {not in Vi}
:redi[r] @"> Redirect messages to the unnamed register. For
backward compatibility, the ">" after the register
! name can be omitted. {not in Vi}
! :redi[r] @">> Append messages to the unnamed register. {not in Vi}
:redi[r] => {var} Redirect messages to a variable. If the variable
doesn't exist, then it is created. If the variable
--- 503,530 ----
with ":silent call Function()".
An alternative is to use the 'verbosefile' option,
this can be used in combination with ":redir".
:redi[r] >> {file} Redirect messages to file {file}. Append if {file}
! already exists.
:redi[r] @{a-zA-Z}
:redi[r] @{a-zA-Z}> Redirect messages to register {a-z}. Append to the
contents of the register if its name is given
uppercase {A-Z}. The ">" after the register name is
! optional.
! :redi[r] @{a-z}>> Append messages to register {a-z}.
:redi[r] @*>
:redi[r] @+> Redirect messages to the selection or clipboard. For
backward compatibility, the ">" after the register
name can be omitted. See |quotestar| and |quoteplus|.
:redi[r] @*>>
:redi[r] @+>> Append messages to the selection or clipboard.
:redi[r] @"> Redirect messages to the unnamed register. For
backward compatibility, the ">" after the register
! name can be omitted.
! :redi[r] @">> Append messages to the unnamed register.
:redi[r] => {var} Redirect messages to a variable. If the variable
doesn't exist, then it is created. If the variable
***************
*** 545,558 ****
Only string variables can be used. After the
redirection starts, if the variable is removed or
locked or the variable type is changed, then further
! command output messages will cause errors. {not in Vi}
To get the output of one command the |execute()|
function can be used.
:redi[r] =>> {var} Append messages to an existing variable. Only string
! variables can be used. {not in Vi}
! :redi[r] END End redirecting messages. {not in Vi}
*:filt* *:filter*
:filt[er][!] {pat} {command}
--- 533,546 ----
Only string variables can be used. After the
redirection starts, if the variable is removed or
locked or the variable type is changed, then further
! command output messages will cause errors.
To get the output of one command the |execute()|
function can be used.
:redi[r] =>> {var} Append messages to an existing variable. Only string
! variables can be used.
! :redi[r] END End redirecting messages.
*:filt* *:filter*
:filt[er][!] {pat} {command}
***************
*** 694,705 ****
< - When 'keywordprg' is equal to "man -s", a count
before "K" is inserted after the "-s". If there is
no count, the "-s" is removed.
- {not in Vi}
*v_K*
{Visual}K Like "K", but use the visually highlighted text for
the keyword. Only works when the highlighted text is
! not more than one line. {not in Vi}
[N]gs *gs* *:sl* *:sleep*
:[N]sl[eep] [N] [m] Do nothing for [N] seconds. When [m] is included,
--- 682,692 ----
< - When 'keywordprg' is equal to "man -s", a count
before "K" is inserted after the "-s". If there is
no count, the "-s" is removed.
*v_K*
{Visual}K Like "K", but use the visually highlighted text for
the keyword. Only works when the highlighted text is
! not more than one line.
[N]gs *gs* *:sl* *:sleep*
:[N]sl[eep] [N] [m] Do nothing for [N] seconds. When [m] is included,
***************
*** 712,718 ****
< Can be interrupted with CTRL-C (CTRL-Break on MS-DOS).
"gs" stands for "goto sleep".
While sleeping the cursor is positioned in the text,
! if at a visible position. {not in Vi}
Also process the received netbeans messages. {only
available when compiled with the |+netbeans_intg|
feature}
--- 699,705 ----
< Can be interrupted with CTRL-C (CTRL-Break on MS-DOS).
"gs" stands for "goto sleep".
While sleeping the cursor is positioned in the text,
! if at a visible position.
Also process the received netbeans messages. {only
available when compiled with the |+netbeans_intg|
feature}
***************
*** 749,752 ****
endfunc
<
! vim:tw=78:ts=8:ft=help:norl:
--- 736,739 ----
endfunc
<
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/version4.txt 2018-05-17 13:42:04.000000000 +0200
--- runtime/doc/version4.txt 2018-08-08 23:07:19.244325127 +0200
***************
*** 352,355 ****
it. Since hardly anybody uses this feature, it is disabled by default. If
you want to use it, define RIGHTLEFT in feature.h before compiling. |'revins'|
! vim:tw=78:ts=8:ft=help:norl:
--- 352,355 ----
it. Since hardly anybody uses this feature, it is disabled by default. If
you want to use it, define RIGHTLEFT in feature.h before compiling. |'revins'|
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/version5.txt 2018-05-17 13:42:04.000000000 +0200
--- runtime/doc/version5.txt 2018-08-08 23:07:19.248325089 +0200
***************
*** 221,228 ****
file twice, the autocommands in it will be defined twice. To avoid this, do
one of these:
! - Remove any autocommands that might potentially defined twice before
! defining them. Example: >
:au! * *.ext
:au BufEnter *.ext ...
--- 221,228 ----
file twice, the autocommands in it will be defined twice. To avoid this, do
one of these:
! - Remove any autocommands that might already be defined before defining
! them. Example: >
:au! * *.ext
:au BufEnter *.ext ...
***************
*** 2347,2353 ****
Support for mapping numeric keypad +,-,*,/ keys. (Negri)
When not mapped, they produce the normal character.
! Win32 GUI: When directory dropped on Gvim, cd there and edit new buffer.
(Negri)
Win32 GUI: Made CTRL-Break work as interrupt, so that CTRL-C can be
--- 2347,2353 ----
Support for mapping numeric keypad +,-,*,/ keys. (Negri)
When not mapped, they produce the normal character.
! Win32 GUI: When directory dropped on gVim, cd there and edit new buffer.
(Negri)
Win32 GUI: Made CTRL-Break work as interrupt, so that CTRL-C can be
***************
*** 7615,7621 ****
Added a few corrections for the Macintosh. (Axel Kielhorn)
! Win32: Gvimext could not edit more than a few files at once, the length of the
argument was fixed.
--- 7615,7621 ----
Added a few corrections for the Macintosh. (Axel Kielhorn)
! Win32: GvimExt could not edit more than a few files at once, the length of the
argument was fixed.
***************
*** 7810,7813 ****
Files: src/ex_docmd.c
! vim:tw=78:ts=8:ft=help:norl:
--- 7810,7813 ----
Files: src/ex_docmd.c
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/version6.txt 2018-05-17 13:42:04.000000000 +0200
--- runtime/doc/version6.txt 2019-01-17 15:56:37.176127129 +0100
***************
*** 1,4 ****
! *version6.txt* For Vim version 8.1. Last change: 2018 Mar 18
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *version6.txt* For Vim version 8.1. Last change: 2019 Jan 17
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 943,949 ****
with two ASCII characters or an icon. The line after it can be highlighted.
Useful to display breakpoints and the current PC position.
! Added the |:wsverb| command to execute debugger commands.
Added balloon stuff: 'balloondelay' and 'ballooneval' options.
--- 943,949 ----
with two ASCII characters or an icon. The line after it can be highlighted.
Useful to display breakpoints and the current PC position.
! Added the :wsverb command to execute debugger commands.
Added balloon stuff: 'balloondelay' and 'ballooneval' options.
***************
*** 2967,2973 ****
Unix to avoid problems with Windows dir functions. Merged the DOS and Win32
functions.
! Win32: Gvimext could not edit more than a few files at once, the length of the
argument was fixed.
"ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to
--- 2967,2973 ----
Unix to avoid problems with Windows dir functions. Merged the DOS and Win32
functions.
! Win32: GvimExt could not edit more than a few files at once, the length of the
argument was fixed.
"ls -1 * | xargs vim" worked, but the input was in cooked mode. Now switch to
***************
*** 14527,14530 ****
Files: src/search.c
! vim:tw=78:ts=8:ft=help:norl:
--- 14527,14530 ----
Files: src/search.c
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/version7.txt 2018-05-17 13:42:04.000000000 +0200
--- runtime/doc/version7.txt 2018-08-08 23:07:19.252325051 +0200
***************
*** 1980,1986 ****
flag to 'cpoptions' for this.
Using "I" in a line with only blanks appended to the line. This is not Vi
! compatible. Added the 'H' flag in 'coptions' for this.
When joining multiple lines the cursor would be at the last joint, but Vi
leaves it at the position where "J" would put it. Added the 'q' flag in
--- 1980,1986 ----
flag to 'cpoptions' for this.
Using "I" in a line with only blanks appended to the line. This is not Vi
! compatible. Added the 'H' flag in 'cpoptions' for this.
When joining multiple lines the cursor would be at the last joint, but Vi
leaves it at the position where "J" would put it. Added the 'q' flag in
***************
*** 18309,18312 ****
! vim:tw=78:ts=8:ft=help:norl:
--- 18309,18312 ----
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/version8.txt 2018-05-17 15:25:49.000000000 +0200
--- runtime/doc/version8.txt 2019-03-10 08:12:24.530682799 +0100
***************
*** 2378,2384 ****
Files: src/
config.mk.in, src/po/Makefile
Patch 7.4.323
! Problem: Substitute() with zero width pattern breaks multi-byte character.
Solution: Take multi-byte character size into account. (Yukihiro Nakadaira)
Files: src/eval.c src/testdir/
test69.in, src/testdir/test69.ok
--- 2378,2384 ----
Files: src/
config.mk.in, src/po/Makefile
Patch 7.4.323
! Problem: substitute() with zero width pattern breaks multi-byte character.
Solution: Take multi-byte character size into account. (Yukihiro Nakadaira)
Files: src/eval.c src/testdir/
test69.in, src/testdir/test69.ok
***************
*** 14549,14560 ****
--- 14549,14585 ----
Internal: A few C99 features are now allowed such as // comments and a
comma after the last enum entry. See |style-compiler|.
+ Since patch 8.0.0029 removed support for older MS-Windows systems, only
+ MS-Windows XP and later are supported.
+
Added *added-8.1*
-----
Various syntax, indent and other plugins were added.
+ Quickfix improvements (by Yegappan Lakshmanan):
+ Added support for modifying any quickfix/location list in the quickfix
+ stack.
+ Added a unique identifier for every quickfix/location list.
+ Added support for associating any Vim type as a context information to
+ a quickfix/location list.
+ Enhanced the getqflist(), getloclist(), setqflist() and setloclist()
+ functions to get and set the various quickfix/location list attributes.
+ Added the QuickFixLine highlight group to highlight the current line
+ in the quickfix window.
+ The quickfix buffer b:changedtick variable is incremented for every
+ change to the contained quickfix list.
+ Added a changedtick variable to a quickfix/location list which is
+ incremented when the list is modified.
+ Added support for parsing text using 'errorformat' without creating a
+ new quickfix list.
+ Added support for the "module" item to a quickfix entry which can be
+ used for display purposes instead of a long file name.
+ Added support for freeing all the lists in the quickfix/location stack.
+ When opening a quickfix window using the :copen/:cwindow commands, the
+ supplied split modifiers are used.
+
Functions:
All the term_ functions.
***************
*** 16088,16094 ****
Patch 8.0.0248
Problem: vim_strcat() cannot handle overlapping arguments.
! Solution: Use mch_memmove() instead of strcpy(). (Justin M Keyes,
closes #1415)
Files: src/misc2.c
--- 16113,16119 ----
Patch 8.0.0248
Problem: vim_strcat() cannot handle overlapping arguments.
! Solution: Use mch_memmove() instead of strcpy(). (Justin M. Keyes,
closes #1415)
Files: src/misc2.c
***************
*** 16338,16344 ****
Patch 8.0.0287
Problem: Cannot access the arguments of the current function in debug mode.
(Luc Hermitte)
! Solution: use get_funccal(). (Lemonboy, closes #1432, closes #1352)
Files: src/userfunc.c
Patch 8.0.0288 (after 8.0.0284)
--- 16363,16369 ----
Patch 8.0.0287
Problem: Cannot access the arguments of the current function in debug mode.
(Luc Hermitte)
! Solution: use get_funccal(). (LemonBoy, closes #1432, closes #1352)
Files: src/userfunc.c
Patch 8.0.0288 (after 8.0.0284)
***************
*** 16703,16709 ****
Patch 8.0.0350
Problem: Not enough test coverage for Perl.
! Solution: Add more Perl tests. (Dominique Perl, closes #1500)
Files: src/testdir/test_perl.vim
Patch 8.0.0351
--- 16728,16734 ----
Patch 8.0.0350
Problem: Not enough test coverage for Perl.
! Solution: Add more Perl tests. (Dominique Pelle, closes #1500)
Files: src/testdir/test_perl.vim
Patch 8.0.0351
***************
*** 18204,18210 ****
Patch 8.0.0597
Problem: Off-by-one error in buffer size computation.
! Solution: Use ">=" instead of ">". (Lemonboy, closes #1694)
Files: src/quickfix.c
Patch 8.0.0598
--- 18229,18235 ----
Patch 8.0.0597
Problem: Off-by-one error in buffer size computation.
! Solution: Use ">=" instead of ">". (LemonBoy, closes #1694)
Files: src/quickfix.c
Patch 8.0.0598
***************
*** 18321,18327 ****
Problem: When setting the cterm background with ":hi Normal" the value of
'background' may be set wrongly.
Solution: Check that the color is less than 16. Don't set 'background' when
! it was set explicitly. (Lemonboy, closes #1710)
Files: src/syntax.c, src/testdir/test_syntax.vim
Patch 8.0.0617 (after 8.0.0615)
--- 18346,18352 ----
Problem: When setting the cterm background with ":hi Normal" the value of
'background' may be set wrongly.
Solution: Check that the color is less than 16. Don't set 'background' when
! it was set explicitly. (LemonBoy, closes #1710)
Files: src/syntax.c, src/testdir/test_syntax.vim
Patch 8.0.0617 (after 8.0.0615)
***************
*** 18452,18459 ****
Patch 8.0.0638
Problem: Cannot build with new MSVC version VS2017.
! Solution: Change the compiler arguments. (Leonardo Manera, closes #1731,
! closes #1747)
Files: src/GvimExt/Makefile, src/Make_mvc.mak
Patch 8.0.0639
--- 18477,18484 ----
Patch 8.0.0638
Problem: Cannot build with new MSVC version VS2017.
! Solution: Change the compiler arguments. (Leonardo Valeri Manera,
! closes #1731, closes #1747)
Files: src/GvimExt/Makefile, src/Make_mvc.mak
Patch 8.0.0639
***************
*** 19045,19051 ****
Patch 8.0.0724
Problem: The message for yanking doesn't indicate the register.
! Solution: Show the register name in the "N lines yanked" message. (Lemonboy,
closes #1803, closes #1809)
Files: src/ops.c, src/Makefile, src/testdir/test_registers.vim,
src/testdir/Make_all.mak
--- 19070,19076 ----
Patch 8.0.0724
Problem: The message for yanking doesn't indicate the register.
! Solution: Show the register name in the "N lines yanked" message. (LemonBoy,
closes #1803, closes #1809)
Files: src/ops.c, src/Makefile, src/testdir/test_registers.vim,
src/testdir/Make_all.mak
***************
*** 20286,20292 ****
Files: src/buffer.c
Patch 8.0.0936
! Problem: Mode() returns wrong value for a terminal window.
Solution: Return 't' when typed keys go to a job.
Files: src/evalfunc.c, src/testdir/test_terminal.vim
--- 20311,20317 ----
Files: src/buffer.c
Patch 8.0.0936
! Problem: mode() returns wrong value for a terminal window.
Solution: Return 't' when typed keys go to a job.
Files: src/evalfunc.c, src/testdir/test_terminal.vim
***************
*** 20672,20678 ****
Files: src/channel.c
Patch 8.0.1004
! Problem: Matchstrpos() without a match returns too many items.
Solution: Also remove the second item when the position is beyond the end of
the string. (Hirohito Higashi) Use an enum for the type.
Files: src/evalfunc.c, src/testdir/test_match.vim
--- 20697,20703 ----
Files: src/channel.c
Patch 8.0.1004
! Problem: matchstrpos() without a match returns too many items.
Solution: Also remove the second item when the position is beyond the end of
the string. (Hirohito Higashi) Use an enum for the type.
Files: src/evalfunc.c, src/testdir/test_match.vim
***************
*** 21586,21597 ****
Patch 8.0.1157
Problem: Compiler warning on MS-Windows.
! Solution: Add type cast. (Yasuhiro Matsomoto)
Files: src/main.c
Patch 8.0.1158
Problem: Still old style tests.
! Solution: Convert serveral tests to new style. (Yegappan Lakshmanan)
Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
src/testdir/main.aap, src/testdir/
test33.in,
src/testdir/test33.ok, src/testdir/
test41.in,
--- 21611,21622 ----
Patch 8.0.1157
Problem: Compiler warning on MS-Windows.
! Solution: Add type cast. (Yasuhiro Matsumoto)
Files: src/main.c
Patch 8.0.1158
Problem: Still old style tests.
! Solution: Convert several tests to new style. (Yegappan Lakshmanan)
Files: src/Makefile, src/testdir/Make_all.mak, src/testdir/Make_vms.mms,
src/testdir/main.aap, src/testdir/
test33.in,
src/testdir/test33.ok, src/testdir/
test41.in,
***************
*** 21886,21892 ****
Patch 8.0.1207
Problem: Profiling skips the first and last script line.
! Solution: Check for BOM after setting script ID. (Lemonboy, closes #2103,
closes #2112) Add a test. List the trailing script lines.
Files: src/testdir/test_profile.vim, src/ex_cmds2.c
--- 21911,21917 ----
Patch 8.0.1207
Problem: Profiling skips the first and last script line.
! Solution: Check for BOM after setting script ID. (LemonBoy, closes #2103,
closes #2112) Add a test. List the trailing script lines.
Files: src/testdir/test_profile.vim, src/ex_cmds2.c
***************
*** 22083,22089 ****
Solution: Make feature names more consistent, add "osxdarwin". Rename
feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)
Also includes a fix for when Ruby throws an exception inside
! :rubyfile.(ujihisa)
Files: runtime/doc/eval.txt, runtime/doc/os_mac.txt, src/auto/configure,
src/
config.h.in, src/
configure.ac, src/digraph.c, src/edit.c,
src/evalfunc.c, src/feature.h, src/fileio.c, src/getchar.c,
--- 22108,22114 ----
Solution: Make feature names more consistent, add "osxdarwin". Rename
feature flags, cleanup Mac code. (Kazunobu Kuriyama, closes #2178)
Also includes a fix for when Ruby throws an exception inside
! :rubyfile. (ujihisa)
Files: runtime/doc/eval.txt, runtime/doc/os_mac.txt, src/auto/configure,
src/
config.h.in, src/
configure.ac, src/digraph.c, src/edit.c,
src/evalfunc.c, src/feature.h, src/fileio.c, src/getchar.c,
***************
*** 22104,22110 ****
Patch 8.0.1238
Problem: Incremental search only shows one match.
Solution: When 'incsearch' and 'hlsearch' are both set highlight all
! matches. (haya14busa, itchyny closes #2198)
Files: runtime/doc/options.txt, src/ex_getln.c, src/proto/
search.pro,
src/search.c, src/testdir/test_search.vim
--- 22129,22135 ----
Patch 8.0.1238
Problem: Incremental search only shows one match.
Solution: When 'incsearch' and 'hlsearch' are both set highlight all
! matches. (haya14busa, itchyny, closes #2198)
Files: runtime/doc/options.txt, src/ex_getln.c, src/proto/
search.pro,
src/search.c, src/testdir/test_search.vim
***************
*** 22519,22525 ****
src/testdir/test_search.vim
Patch 8.0.1305
! Problem: Writefile() never calls fsync().
Solution: Follow the 'fsync' option with override to enable or disable.
Files: src/fileio.c, src/evalfunc.c, runtime/doc/eval.txt, src/globals.h,
src/testdir/test_writefile.vim
--- 22544,22550 ----
src/testdir/test_search.vim
Patch 8.0.1305
! Problem: writefile() never calls fsync().
Solution: Follow the 'fsync' option with override to enable or disable.
Files: src/fileio.c, src/evalfunc.c, runtime/doc/eval.txt, src/globals.h,
src/testdir/test_writefile.vim
***************
*** 22595,22601 ****
Files: src/os_macosx.m
Patch 8.0.1316 (after 8.0.1312)
! Problem: Build still fails on Mac. (chdiza)
Solution: Remove another bogus typedef.
Files: src/os_mac_conv.c
--- 22620,22626 ----
Files: src/os_macosx.m
Patch 8.0.1316 (after 8.0.1312)
! Problem: Build still still fails on Mac. (chdiza)
Solution: Remove another bogus typedef.
Files: src/os_mac_conv.c
***************
*** 22707,22713 ****
Files: src/vim.h, src/window.c
Patch 8.0.1335
! Problem: Writefile() using fsync() may give an error for a device.
(Yasuhiro Matsumoto)
Solution: Ignore fsync() failing. (closes #2373)
Files: src/evalfunc.c
--- 22732,22738 ----
Files: src/vim.h, src/window.c
Patch 8.0.1335
! Problem: writefile() using fsync() may give an error for a device.
(Yasuhiro Matsumoto)
Solution: Ignore fsync() failing. (closes #2373)
Files: src/evalfunc.c
***************
*** 23231,23237 ****
Patch 8.0.1423
Problem: Error in return not caught by try/catch.
! Solution: Call update_force_abort(). (Yasuhiro Matsomoto, closes #2483)
Files: src/testdir/
test_eval.in, src/testdir/test_eval_stuff.vim,
src/Makefile, src/testdir/Make_all.mak, src/userfunc.c
--- 23256,23262 ----
Patch 8.0.1423
Problem: Error in return not caught by try/catch.
! Solution: Call update_force_abort(). (Yasuhiro Matsumoto, closes #2483)
Files: src/testdir/
test_eval.in, src/testdir/test_eval_stuff.vim,
src/Makefile, src/testdir/Make_all.mak, src/userfunc.c
***************
*** 23262,23268 ****
Patch 8.0.1429
Problem: Crash when calling term_start() with empty argument.
! Solution: Check for invalid argument. (Yasuhiro Matsomoto, closes #2503)
Fix memory leak.
Files: src/terminal.c, src/testdir/test_terminal.vim
--- 23287,23293 ----
Patch 8.0.1429
Problem: Crash when calling term_start() with empty argument.
! Solution: Check for invalid argument. (Yasuhiro Matsumoto, closes #2503)
Fix memory leak.
Files: src/terminal.c, src/testdir/test_terminal.vim
***************
*** 23593,23599 ****
src/testdir/test_popup.vim, src/testdir/test_edit.vim
Patch 8.0.1483
! Problem: Searchpair() might return an invalid value on timeout.
Solution: When the second search times out, do not accept a match from the
first search. (Daniel Hahler, closes #2552)
Files: src/search.c
--- 23618,23624 ----
src/testdir/test_popup.vim, src/testdir/test_edit.vim
Patch 8.0.1483
! Problem: searchpair() might return an invalid value on timeout.
Solution: When the second search times out, do not accept a match from the
first search. (Daniel Hahler, closes #2552)
Files: src/search.c
***************
*** 23652,23658 ****
Patch 8.0.1493
Problem: Completion items cannot be annotated.
Solution: Add a "user_data" entry to the completion item. (Ben Jackson,
! coses #2608, closes #2508)
Files: runtime/doc/insert.txt, src/edit.c, src/structs.h,
src/testdir/test_ins_complete.vim
--- 23677,23683 ----
Patch 8.0.1493
Problem: Completion items cannot be annotated.
Solution: Add a "user_data" entry to the completion item. (Ben Jackson,
! closes #2608, closes #2508)
Files: runtime/doc/insert.txt, src/edit.c, src/structs.h,
src/testdir/test_ins_complete.vim
***************
*** 23697,23703 ****
src/testdir/Make_all.mak, src/testdir/test_jumplist.vim
Patch 8.0.1498 (after 8.0.1497)
! Problem: Getjumplist() returns duplicate entries. (lacygoill)
Solution: Call cleanup_jumplist(). (Yegappan Lakshmanan)
Files: src/evalfunc.c, src/mark.c, src/proto/
mark.pro,
src/testdir/test_jumplist.vim
--- 23722,23728 ----
src/testdir/Make_all.mak, src/testdir/test_jumplist.vim
Patch 8.0.1498 (after 8.0.1497)
! Problem: getjumplist() returns duplicate entries. (lacygoill)
Solution: Call cleanup_jumplist(). (Yegappan Lakshmanan)
Files: src/evalfunc.c, src/mark.c, src/proto/
mark.pro,
src/testdir/test_jumplist.vim
***************
*** 23817,23823 ****
Files: src/ex_docmd.c, src/testdir/test_eval_stuff.vim
Patch 8.0.1519
! Problem: Getchangelist() does not use argument as bufname().
Solution: Use get_buf_tv(). (Yegappan Lakshmanan, closes #2641)
Files: src/evalfunc.c, src/testdir/test_changelist.vim
--- 23842,23848 ----
Files: src/ex_docmd.c, src/testdir/test_eval_stuff.vim
Patch 8.0.1519
! Problem: getchangelist() does not use argument as bufname().
Solution: Use get_buf_tv(). (Yegappan Lakshmanan, closes #2641)
Files: src/evalfunc.c, src/testdir/test_changelist.vim
***************
*** 24162,24169 ****
Patch 8.0.1573
Problem: getwinpos(1) may cause response to be handled as command.
! Solution: Handle any cursor position report once one was request. (partly by
! Hirohito Higashi)
Files: src/term.c
Patch 8.0.1574
--- 24187,24194 ----
Patch 8.0.1573
Problem: getwinpos(1) may cause response to be handled as command.
! Solution: Handle any cursor position report once one was requested. (partly
! by Hirohito Higashi)
Files: src/term.c
Patch 8.0.1574
***************
*** 24644,24650 ****
Patch 8.0.1656
Problem: No option to have xxd produce upper case variable names.
! Solution: Add the -C argument. (Matt Panaro closes #2772)
Files: src/xxd/xxd.c
Patch 8.0.1657
--- 24669,24675 ----
Patch 8.0.1656
Problem: No option to have xxd produce upper case variable names.
! Solution: Add the -C argument. (Matt Panaro, closes #2772)
Files: src/xxd/xxd.c
Patch 8.0.1657
***************
*** 25377,25383 ****
Patch 8.0.1782
Problem: No simple way to label quickfix entries.
Solution: Add the "module" item, to be used instead of the file name for
! display purposes. (Martin Szamotulski, closes #1757)
Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/alloc.h,
src/quickfix.c, src/testdir/test_quickfix.vim
--- 25402,25408 ----
Patch 8.0.1782
Problem: No simple way to label quickfix entries.
Solution: Add the "module" item, to be used instead of the file name for
! display purposes. (Marcin Szamotulski, closes #1757)
Files: runtime/doc/eval.txt, runtime/doc/quickfix.txt, src/alloc.h,
src/quickfix.c, src/testdir/test_quickfix.vim
***************
*** 25767,25770 ****
Files: src/terminal.c
! vim:tw=78:ts=8:ft=help:norl:
--- 25792,25795 ----
Files: src/terminal.c
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/visual.txt 2018-05-17 13:42:04.000000000 +0200
--- runtime/doc/visual.txt 2019-05-05 17:54:38.042310805 +0200
***************
*** 1,4 ****
! *visual.txt* For Vim version 8.1. Last change: 2017 Sep 02
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *visual.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 20,27 ****
7. Examples |visual-examples|
8. Select mode |Select-mode|
- {Vi has no Visual mode, the name "visual" is used for Normal mode, to
- distinguish it from Ex mode}
{Since Vim 7.4.200 the |+visual| feature is always included}
==============================================================================
--- 20,25 ----
***************
*** 118,123 ****
--- 116,123 ----
E.g., "dgn" deletes the text of the next match.
If Visual mode is active, extends the selection
until the end of the next match.
+ Note: Unlike `n` the search direction does not depend
+ on the previous search command.
*gN* *v_gN*
gN Like |gn| but searches backward, like with `N`.
***************
*** 305,312 ****
==============================================================================
5. Blockwise operators *blockwise-operators*
- {not available when compiled without the |+visualextra| feature}
-
Reminder: Use 'virtualedit' to be able to select blocks that start or end
after the end of a line or halfway a tab.
--- 305,310 ----
***************
*** 538,541 ****
but starts Select mode instead of Visual mode.
Mnemonic: "get Highlighted".
! vim:tw=78:ts=8:ft=help:norl:
--- 536,539 ----
but starts Select mode instead of Visual mode.
Mnemonic: "get Highlighted".
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/windows.txt 2018-11-10 16:01:23.335381858 +0100
--- runtime/doc/windows.txt 2019-05-05 17:35:08.452768616 +0200
***************
*** 1,4 ****
! *windows.txt* For Vim version 8.1. Last change: 2018 Apr 24
VIM REFERENCE MANUAL by Bram Moolenaar
--- 1,4 ----
! *windows.txt* For Vim version 8.1. Last change: 2019 May 05
VIM REFERENCE MANUAL by Bram Moolenaar
***************
*** 26,32 ****
11. Using hidden buffers |buffer-hidden|
12. Special kinds of buffers |special-buffers|
- {Vi does not have any of these commands}
{not able to use multiple windows when the |+windows| feature was disabled at
compile time}
{not able to use vertically split windows when the |+vertsplit| feature was
--- 26,31 ----
***************
*** 737,743 ****
the current window.
{cmd} can contain '|' to concatenate several commands.
{cmd} must not open or close windows or reorder them.
! {not in Vi}
Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
--- 736,742 ----
the current window.
{cmd} can contain '|' to concatenate several commands.
{cmd} must not open or close windows or reorder them.
!
Also see |:tabdo|, |:argdo|, |:bufdo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
***************
*** 765,771 ****
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each buffer.
! {not in Vi}
Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
--- 764,770 ----
autocommand event is disabled by adding it to
'eventignore'. This considerably speeds up editing
each buffer.
!
Also see |:tabdo|, |:argdo|, |:windo|, |:cdo|, |:ldo|,
|:cfdo| and |:lfdo|
***************
*** 842,847 ****
--- 841,852 ----
{not available when the |+file_in_path| feature was disabled
at compile time}
+ CTRL-W gt *CTRL-W_gt*
+ Go to next tab page, same as `gt`.
+
+ CTRL-W gT *CTRL-W_gT*
+ Go to previous tab page, same as `gT`.
+
Also see |CTRL-W_CTRL-I|: open window for an included file that includes
the keyword under the cursor.
***************
*** 885,891 ****
*:pp* *:ppop*
:[count]pp[op][!]
Does ":[count]pop[!]" in the preview window. See |:pop| and
! |:ptag|. {not in Vi}
CTRL-W } *CTRL-W_}*
Use identifier under cursor as a tag and perform a :ptag on
--- 890,896 ----
*:pp* *:ppop*
:[count]pp[op][!]
Does ":[count]pop[!]" in the preview window. See |:pop| and
! |:ptag|.
CTRL-W } *CTRL-W_}*
Use identifier under cursor as a tag and perform a :ptag on
***************
*** 1317,1320 ****
:setlocal nobuflisted
<
! vim:tw=78:ts=8:ft=help:norl:
--- 1322,1325 ----
:setlocal nobuflisted
<
! vim:tw=78:ts=8:noet:ft=help:norl:
*** ../vim-8.1.1279/runtime/doc/tags 2018-06-03 14:42:17.836505122 +0200
--- runtime/doc/tags 2019-05-05 18:01:26.608052504 +0200
***************
*** 991,1003 ****
--- 991,1007 ----
'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'*
***************
*** 1071,1076 ****
--- 1075,1081 ----
'tag' options.txt /*'tag'*
'tagbsearch' options.txt /*'tagbsearch'*
'tagcase' options.txt /*'tagcase'*
+ 'tagfunc' options.txt /*'tagfunc'*
'taglength' options.txt /*'taglength'*
'tagrelative' options.txt /*'tagrelative'*
'tags' options.txt /*'tags'*
***************
*** 1091,1101 ****
--- 1096,1108 ----
'termwinkey' options.txt /*'termwinkey'*
'termwinscroll' options.txt /*'termwinscroll'*
'termwinsize' options.txt /*'termwinsize'*
+ 'termwintype' options.txt /*'termwintype'*
'terse' options.txt /*'terse'*
'textauto' options.txt /*'textauto'*
'textmode' options.txt /*'textmode'*
'textwidth' options.txt /*'textwidth'*
'tf' options.txt /*'tf'*
+ 'tfu' options.txt /*'tfu'*
'tgc' options.txt /*'tgc'*
'tgst' options.txt /*'tgst'*
'thesaurus' options.txt /*'thesaurus'*
***************
*** 1131,1136 ****
--- 1138,1144 ----
'twk' options.txt /*'twk'*
'tws' options.txt /*'tws'*
'twsl' options.txt /*'twsl'*
+ 'twt' options.txt /*'twt'*
'tx' options.txt /*'tx'*
'uc' options.txt /*'uc'*
'udf' options.txt /*'udf'*
***************
*** 1144,1149 ****
--- 1152,1159 ----
'updatetime' options.txt /*'updatetime'*
'ur' options.txt /*'ur'*
'ut' options.txt /*'ut'*
+ 'varsofttabstop' options.txt /*'varsofttabstop'*
+ 'vartabstop' options.txt /*'vartabstop'*
'vb' options.txt /*'vb'*
'vbs' options.txt /*'vbs'*
'vdir' options.txt /*'vdir'*
***************
*** 1160,1165 ****
--- 1170,1177 ----
'virtualedit' options.txt /*'virtualedit'*
'visualbell' options.txt /*'visualbell'*
'vop' options.txt /*'vop'*
+ 'vsts' options.txt /*'vsts'*
+ 'vts' options.txt /*'vts'*
'w1200' vi_diff.txt /*'w1200'*
'w300' vi_diff.txt /*'w300'*
'w9600' vi_diff.txt /*'w9600'*
***************
*** 1348,1359 ****
--- 1360,1373 ----
+terminfo various.txt /*+terminfo*
+termresponse various.txt /*+termresponse*
+textobjects various.txt /*+textobjects*
+ +textprop various.txt /*+textprop*
+tgetent various.txt /*+tgetent*
+timers various.txt /*+timers*
+title various.txt /*+title*
+toolbar various.txt /*+toolbar*
+unix eval.txt /*+unix*
+user_commands various.txt /*+user_commands*
+ +vartabs various.txt /*+vartabs*
+vertsplit various.txt /*+vertsplit*
+viminfo various.txt /*+viminfo*
+virtualedit various.txt /*+virtualedit*
***************
*** 1707,1712 ****
--- 1721,1727 ----
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*
***************
*** 1923,1928 ****
--- 1938,1945 ----
:<cfile> cmdline.txt /*:<cfile>*
:<cword> cmdline.txt /*:<cword>*
:<sfile> cmdline.txt /*:<sfile>*
+ :<sflnum> cmdline.txt /*:<sflnum>*
+ :<slnum> cmdline.txt /*:<slnum>*
:= various.txt /*:=*
:> change.txt /*:>*
:? cmdline.txt /*:?*
***************
*** 1937,1942 ****
--- 1954,1960 ----
:AdaTypes ft_ada.txt /*:AdaTypes*
:Arguments terminal.txt /*:Arguments*
:Break terminal.txt /*:Break*
+ :Cfilter quickfix.txt /*:Cfilter*
:Clear terminal.txt /*:Clear*
:CompilerSet usr_41.txt /*:CompilerSet*
:Continue terminal.txt /*:Continue*
***************
*** 1956,1961 ****
--- 1974,1980 ----
:LPE pi_logipat.txt /*:LPE*
:LPF pi_logipat.txt /*:LPF*
:Lexplore pi_netrw.txt /*:Lexplore*
+ :Lfilter quickfix.txt /*:Lfilter*
:LogiPat pi_logipat.txt /*:LogiPat*
:Man filetype.txt /*:Man*
:MkVimball pi_vimball.txt /*:MkVimball*
***************
*** 2116,2132 ****
--- 2135,2159 ----
:cabbrev map.txt /*:cabbrev*
:cabc map.txt /*:cabc*
:cabclear map.txt /*:cabclear*
+ :cabo quickfix.txt /*:cabo*
+ :cabove quickfix.txt /*:cabove*
:cad quickfix.txt /*:cad*
:caddbuffer quickfix.txt /*:caddbuffer*
:cadde quickfix.txt /*:cadde*
:caddexpr quickfix.txt /*:caddexpr*
:caddf quickfix.txt /*:caddf*
:caddfile quickfix.txt /*:caddfile*
+ :caf quickfix.txt /*:caf*
+ :cafter quickfix.txt /*:cafter*
:cal eval.txt /*:cal*
:call eval.txt /*:call*
:cat eval.txt /*:cat*
:catch eval.txt /*:catch*
:cb quickfix.txt /*:cb*
+ :cbe quickfix.txt /*:cbe*
+ :cbe quickfix.txt /*:cbe*
+ :cbefore quickfix.txt /*:cbefore*
+ :cbelow quickfix.txt /*:cbelow*
:cbo quickfix.txt /*:cbo*
:cbottom quickfix.txt /*:cbottom*
:cbuffer quickfix.txt /*:cbuffer*
***************
*** 2224,2229 ****
--- 2251,2257 ----
:cp quickfix.txt /*:cp*
:cpf quickfix.txt /*:cpf*
:cpfile quickfix.txt /*:cpfile*
+ :cprev quickfix.txt /*:cprev*
:cprevious quickfix.txt /*:cprevious*
:cq quickfix.txt /*:cq*
:cquit quickfix.txt /*:cquit*
***************
*** 2473,2484 ****
--- 2501,2516 ----
:lNf quickfix.txt /*:lNf*
:lNfile quickfix.txt /*:lNfile*
:la editing.txt /*:la*
+ :lab quickfix.txt /*:lab*
+ :labove quickfix.txt /*:labove*
:lad quickfix.txt /*:lad*
:laddb quickfix.txt /*:laddb*
:laddbuffer quickfix.txt /*:laddbuffer*
:laddexpr quickfix.txt /*:laddexpr*
:laddf quickfix.txt /*:laddf*
:laddfile quickfix.txt /*:laddfile*
+ :laf quickfix.txt /*:laf*
+ :lafter quickfix.txt /*:lafter*
:lan mlang.txt /*:lan*
:lang mlang.txt /*:lang*
:language mlang.txt /*:language*
***************
*** 2486,2491 ****
--- 2518,2527 ----
:lat undo.txt /*:lat*
:later undo.txt /*:later*
:lb quickfix.txt /*:lb*
+ :lbef quickfix.txt /*:lbef*
+ :lbefore quickfix.txt /*:lbefore*
+ :lbel quickfix.txt /*:lbel*
+ :lbelow quickfix.txt /*:lbelow*
:lbo quickfix.txt /*:lbo*
:lbottom quickfix.txt /*:lbottom*
:lbuffer quickfix.txt /*:lbuffer*
***************
*** 2503,2508 ****
--- 2539,2545 ----
:lefta windows.txt /*:lefta*
:leftabove windows.txt /*:leftabove*
:let eval.txt /*:let*
+ :let%= eval.txt /*:let%=*
:let+= eval.txt /*:let+=*
:let-$ eval.txt /*:let-$*
:let-& eval.txt /*:let-&*
***************
*** 2512,2518 ****
--- 2549,2558 ----
:let-option eval.txt /*:let-option*
:let-register eval.txt /*:let-register*
:let-unpack eval.txt /*:let-unpack*
+ :let..= eval.txt /*:let..=*
:let.= eval.txt /*:let.=*
+ :let/= eval.txt /*:let\/=*
+ :letstar= eval.txt /*:letstar=*
:lex quickfix.txt /*:lex*
:lexpr quickfix.txt /*:lexpr*
:lf quickfix.txt /*:lf*
***************
*** 2570,2575 ****
--- 2610,2616 ----
:lp quickfix.txt /*:lp*
:lpf quickfix.txt /*:lpf*
:lpfile quickfix.txt /*:lpfile*
+ :lprev quickfix.txt /*:lprev*
:lprevious quickfix.txt /*:lprevious*
:lr quickfix.txt /*:lr*
:lrewind quickfix.txt /*:lrewind*
***************
*** 2824,2829 ****
--- 2865,2872 ----
:redraw various.txt /*:redraw*
:redraws various.txt /*:redraws*
:redrawstatus various.txt /*:redrawstatus*
+ :redrawt various.txt /*:redrawt*
+ :redrawtabline various.txt /*:redrawtabline*
:reg change.txt /*:reg*
:registers change.txt /*:registers*
:res windows.txt /*:res*
***************
*** 2863,2870 ****
--- 2906,2922 ----
:sN windows.txt /*:sN*
:sNext windows.txt /*:sNext*
:s\= change.txt /*:s\\=*
+ :s_# change.txt /*:s_#*
+ :s_I change.txt /*:s_I*
:s_c change.txt /*:s_c*
+ :s_e change.txt /*:s_e*
: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*
:sal windows.txt /*:sal*
:sall windows.txt /*:sall*
***************
*** 2899,2907 ****
--- 2951,2962 ----
:scl change.txt /*:scl*
:scp change.txt /*:scp*
:scr repeat.txt /*:scr*
+ :script repeat.txt /*:script*
:scripte repeat.txt /*:scripte*
:scriptencoding repeat.txt /*:scriptencoding*
:scriptnames repeat.txt /*:scriptnames*
+ :scriptv repeat.txt /*:scriptv*
+ :scriptversion repeat.txt /*:scriptversion*
:scs if_cscop.txt /*:scs*
:scscope if_cscop.txt /*:scscope*
:se options.txt /*:se*
***************
*** 3148,3153 ****
--- 3203,3211 ----
:tag tagsrch.txt /*:tag*
:tags tagsrch.txt /*:tags*
:tc if_tcl.txt /*:tc*
+ :tcd editing.txt /*:tcd*
+ :tch editing.txt /*:tch*
+ :tchdir editing.txt /*:tchdir*
:tcl if_tcl.txt /*:tcl*
:tcld if_tcl.txt /*:tcld*
:tcldo if_tcl.txt /*:tcldo*
***************
*** 3165,3170 ****
--- 3223,3234 ----
:tjump tagsrch.txt /*:tjump*
:tl tagsrch.txt /*:tl*
:tlast tagsrch.txt /*:tlast*
+ :tlm gui.txt /*:tlm*
+ :tlmenu gui.txt /*:tlmenu*
+ :tln gui.txt /*:tln*
+ :tlnoremenu gui.txt /*:tlnoremenu*
+ :tlu gui.txt /*:tlu*
+ :tlunmenu gui.txt /*:tlunmenu*
:tm gui.txt /*:tm*
:tma map.txt /*:tma*
:tmap map.txt /*:tmap*
***************
*** 3285,3292 ****
:write_a editing.txt /*:write_a*
:write_c editing.txt /*:write_c*
:write_f editing.txt /*:write_f*
- :ws workshop.txt /*:ws*
- :wsverb workshop.txt /*:wsverb*
:wundo undo.txt /*:wundo*
:wv starting.txt /*:wv*
:wviminfo starting.txt /*:wviminfo*
--- 3349,3354 ----
***************
*** 3453,3462 ****
--- 3515,3526 ----
<bang> map.txt /*<bang>*
<buffer=N> autocmd.txt /*<buffer=N>*
<buffer=abuf> autocmd.txt /*<buffer=abuf>*
+ <cWORD> cmdline.txt /*<cWORD>*
<cexpr> cmdline.txt /*<cexpr>*
<cfile> cmdline.txt /*<cfile>*
<character> intro.txt /*<character>*
<count> map.txt /*<count>*
+ <cword> cmdline.txt /*<cword>*
<f-args> map.txt /*<f-args>*
<k0> term.txt /*<k0>*
<k1> term.txt /*<k1>*
***************
*** 3488,3493 ****
--- 3552,3558 ----
<reg> map.txt /*<reg>*
<register> map.txt /*<register>*
<sfile> cmdline.txt /*<sfile>*
+ <sflnum> cmdline.txt /*<sflnum>*
<slnum> cmdline.txt /*<slnum>*
<xCSI> intro.txt /*<xCSI>*
<xDown> term.txt /*<xDown>*
***************
*** 3543,3548 ****
--- 3608,3616 ----
B motion.txt /*B*
BeBox os_beos.txt /*BeBox*
BeOS os_beos.txt /*BeOS*
+ Blob eval.txt /*Blob*
+ Blobs eval.txt /*Blobs*
+ Boolean eval.txt /*Boolean*
Bram intro.txt /*Bram*
BufAdd autocmd.txt /*BufAdd*
BufCreate autocmd.txt /*BufCreate*
***************
*** 3601,3607 ****
CTRL-W index.txt /*CTRL-W*
CTRL-W_+ windows.txt /*CTRL-W_+*
CTRL-W_- windows.txt /*CTRL-W_-*
- CTRL-W_. terminal.txt /*CTRL-W_.*
CTRL-W_: windows.txt /*CTRL-W_:*
CTRL-W_< windows.txt /*CTRL-W_<*
CTRL-W_<BS> windows.txt /*CTRL-W_<BS>*
--- 3669,3674 ----
***************
*** 3641,3647 ****
CTRL-W_J windows.txt /*CTRL-W_J*
CTRL-W_K windows.txt /*CTRL-W_K*
CTRL-W_L windows.txt /*CTRL-W_L*
- CTRL-W_N terminal.txt /*CTRL-W_N*
CTRL-W_P windows.txt /*CTRL-W_P*
CTRL-W_R windows.txt /*CTRL-W_R*
CTRL-W_S windows.txt /*CTRL-W_S*
--- 3708,3713 ----
***************
*** 3656,3664 ****
--- 3722,3732 ----
CTRL-W_d tagsrch.txt /*CTRL-W_d*
CTRL-W_f windows.txt /*CTRL-W_f*
CTRL-W_gF windows.txt /*CTRL-W_gF*
+ CTRL-W_gT windows.txt /*CTRL-W_gT*
CTRL-W_g] windows.txt /*CTRL-W_g]*
CTRL-W_g_CTRL-] windows.txt /*CTRL-W_g_CTRL-]*
CTRL-W_gf windows.txt /*CTRL-W_gf*
+ CTRL-W_gt windows.txt /*CTRL-W_gt*
CTRL-W_g} windows.txt /*CTRL-W_g}*
CTRL-W_h windows.txt /*CTRL-W_h*
CTRL-W_i tagsrch.txt /*CTRL-W_i*
***************
*** 3669,3675 ****
CTRL-W_o windows.txt /*CTRL-W_o*
CTRL-W_p windows.txt /*CTRL-W_p*
CTRL-W_q windows.txt /*CTRL-W_q*
- CTRL-W_quote terminal.txt /*CTRL-W_quote*
CTRL-W_r windows.txt /*CTRL-W_r*
CTRL-W_s windows.txt /*CTRL-W_s*
CTRL-W_t windows.txt /*CTRL-W_t*
--- 3737,3742 ----
***************
*** 3702,3708 ****
--- 3769,3777 ----
ColorSchemePre autocmd.txt /*ColorSchemePre*
Command-line cmdline.txt /*Command-line*
Command-line-mode cmdline.txt /*Command-line-mode*
+ CompleteChanged autocmd.txt /*CompleteChanged*
CompleteDone autocmd.txt /*CompleteDone*
+ ConPTY terminal.txt /*ConPTY*
Contents quickref.txt /*Contents*
Cscope if_cscop.txt /*Cscope*
CursorHold autocmd.txt /*CursorHold*
***************
*** 3715,3723 ****
--- 3784,3794 ----
DOS os_dos.txt /*DOS*
DOS-format editing.txt /*DOS-format*
DOS-format-write editing.txt /*DOS-format-write*
+ Dict eval.txt /*Dict*
Dictionaries eval.txt /*Dictionaries*
Dictionary eval.txt /*Dictionary*
Dictionary-function eval.txt /*Dictionary-function*
+ DiffUpdated autocmd.txt /*DiffUpdated*
Digraphs digraph.txt /*Digraphs*
DirChanged autocmd.txt /*DirChanged*
E motion.txt /*E*
***************
*** 3868,3874 ****
E233 gui.txt /*E233*
E234 options.txt /*E234*
E235 options.txt /*E235*
! E236 options.txt /*E236*
E237 print.txt /*E237*
E238 print.txt /*E238*
E239 sign.txt /*E239*
--- 3939,3945 ----
E233 gui.txt /*E233*
E234 options.txt /*E234*
E235 options.txt /*E235*
! E236 gui.txt /*E236*
E237 print.txt /*E237*
E238 print.txt /*E238*
E239 sign.txt /*E239*
***************
*** 3876,3883 ****
E240 remote.txt /*E240*
E241 eval.txt /*E241*
E243 if_ole.txt /*E243*
! E244 options.txt /*E244*
! E245 options.txt /*E245*
E246 autocmd.txt /*E246*
E247 remote.txt /*E247*
E248 remote.txt /*E248*
--- 3947,3954 ----
E240 remote.txt /*E240*
E241 eval.txt /*E241*
E243 if_ole.txt /*E243*
! E244 gui.txt /*E244*
! E245 gui.txt /*E245*
E246 autocmd.txt /*E246*
E247 remote.txt /*E247*
E248 remote.txt /*E248*
***************
*** 4094,4100 ****
E458 message.txt /*E458*
E459 message.txt /*E459*
E46 message.txt /*E46*
- E460 message.txt /*E460*
E461 eval.txt /*E461*
E462 editing.txt /*E462*
E463 netbeans.txt /*E463*
--- 4165,4170 ----
***************
*** 4553,4559 ****
--- 4623,4632 ----
E893 eval.txt /*E893*
E894 eval.txt /*E894*
E895 if_mzsch.txt /*E895*
+ E896 eval.txt /*E896*
+ E897 eval.txt /*E897*
E898 channel.txt /*E898*
+ E899 eval.txt /*E899*
E90 message.txt /*E90*
E901 channel.txt /*E901*
E902 channel.txt /*E902*
***************
*** 4615,4624 ****
--- 4688,4730 ----
E953 eval.txt /*E953*
E954 options.txt /*E954*
E955 eval.txt /*E955*
+ E956 pattern.txt /*E956*
+ E957 eval.txt /*E957*
+ E958 eval.txt /*E958*
E96 diff.txt /*E96*
+ E960 options.txt /*E960*
+ E961 cmdline.txt /*E961*
+ E962 eval.txt /*E962*
+ E963 eval.txt /*E963*
+ E964 eval.txt /*E964*
+ E965 eval.txt /*E965*
+ E966 eval.txt /*E966*
+ E967 textprop.txt /*E967*
+ E968 eval.txt /*E968*
+ E969 eval.txt /*E969*
E97 diff.txt /*E97*
+ E970 eval.txt /*E970*
+ E971 textprop.txt /*E971*
+ E972 eval.txt /*E972*
+ E973 eval.txt /*E973*
+ E974 eval.txt /*E974*
+ E975 eval.txt /*E975*
+ E976 eval.txt /*E976*
+ E977 eval.txt /*E977*
+ E978 eval.txt /*E978*
+ E979 eval.txt /*E979*
E98 diff.txt /*E98*
+ E980 eval.txt /*E980*
+ E981 starting.txt /*E981*
+ E982 terminal.txt /*E982*
+ E983 message.txt /*E983*
+ E984 repeat.txt /*E984*
+ E985 eval.txt /*E985*
+ E986 tagsrch.txt /*E986*
+ E987 tagsrch.txt /*E987*
+ E988 gui_w32.txt /*E988*
E99 diff.txt /*E99*
+ E999 repeat.txt /*E999*
EX intro.txt /*EX*
EXINIT starting.txt /*EXINIT*
Elvis intro.txt /*Elvis*
***************
*** 4721,4728 ****
--- 4827,4837 ----
N<Del> various.txt /*N<Del>*
NFA pattern.txt /*NFA*
NL-used-for-Nul pattern.txt /*NL-used-for-Nul*
+ Neovim intro.txt /*Neovim*
NetBSD-backspace options.txt /*NetBSD-backspace*
+ NetBeans netbeans.txt /*NetBeans*
NetUserPass() pi_netrw.txt /*NetUserPass()*
+ None eval.txt /*None*
Normal intro.txt /*Normal*
Normal-mode intro.txt /*Normal-mode*
Number eval.txt /*Number*
***************
*** 4830,4835 ****
--- 4939,4945 ----
ShellCmdPost autocmd.txt /*ShellCmdPost*
ShellFilterPost autocmd.txt /*ShellFilterPost*
SourceCmd autocmd.txt /*SourceCmd*
+ SourcePost autocmd.txt /*SourcePost*
SourcePre autocmd.txt /*SourcePre*
Special eval.txt /*Special*
SpellFileMissing autocmd.txt /*SpellFileMissing*
***************
*** 4942,4948 ****
--- 5052,5061 ----
[: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:]*
***************
*** 5107,5112 ****
--- 5220,5226 ----
ap motion.txt /*ap*
apache.vim syntax.txt /*apache.vim*
append() eval.txt /*append()*
+ appendbufline() eval.txt /*appendbufline()*
aquote motion.txt /*aquote*
arabic.txt arabic.txt /*arabic.txt*
arabicfonts arabic.txt /*arabicfonts*
***************
*** 5160,5165 ****
--- 5274,5280 ----
autocmd-intro autocmd.txt /*autocmd-intro*
autocmd-list autocmd.txt /*autocmd-list*
autocmd-nested autocmd.txt /*autocmd-nested*
+ autocmd-once autocmd.txt /*autocmd-once*
autocmd-osfiletypes filetype.txt /*autocmd-osfiletypes*
autocmd-patterns autocmd.txt /*autocmd-patterns*
autocmd-remove autocmd.txt /*autocmd-remove*
***************
*** 5170,5175 ****
--- 5285,5291 ----
autocommand autocmd.txt /*autocommand*
autocommand-events autocmd.txt /*autocommand-events*
autocommand-pattern autocmd.txt /*autocommand-pattern*
+ autocommands autocmd.txt /*autocommands*
autoformat change.txt /*autoformat*
autoload eval.txt /*autoload*
autoload-functions eval.txt /*autoload-functions*
***************
*** 5230,5235 ****
--- 5346,5356 ----
beval_winnr-variable eval.txt /*beval_winnr-variable*
binary-number eval.txt /*binary-number*
bitwise-function usr_41.txt /*bitwise-function*
+ blob eval.txt /*blob*
+ blob-identity eval.txt /*blob-identity*
+ blob-index eval.txt /*blob-index*
+ blob-literal eval.txt /*blob-literal*
+ blob-modification eval.txt /*blob-modification*
blockwise-examples visual.txt /*blockwise-examples*
blockwise-operators visual.txt /*blockwise-operators*
blockwise-register change.txt /*blockwise-register*
***************
*** 5240,5245 ****
--- 5361,5367 ----
bom-bytes mbyte.txt /*bom-bytes*
book intro.txt /*book*
bookmark usr_03.txt /*bookmark*
+ books intro.txt /*books*
boolean options.txt /*boolean*
break-finally eval.txt /*break-finally*
browse() eval.txt /*browse()*
***************
*** 5395,5400 ****
--- 5517,5523 ----
catch-text eval.txt /*catch-text*
cc change.txt /*cc*
ceil() eval.txt /*ceil()*
+ cfilter-plugin quickfix.txt /*cfilter-plugin*
ch.vim syntax.txt /*ch.vim*
ch_canread() eval.txt /*ch_canread()*
ch_close() eval.txt /*ch_close()*
***************
*** 5408,5413 ****
--- 5531,5537 ----
ch_logfile() eval.txt /*ch_logfile()*
ch_open() eval.txt /*ch_open()*
ch_read() eval.txt /*ch_read()*
+ ch_readblob() eval.txt /*ch_readblob()*
ch_readraw() eval.txt /*ch_readraw()*
ch_sendexpr() eval.txt /*ch_sendexpr()*
ch_sendraw() eval.txt /*ch_sendraw()*
***************
*** 5449,5454 ****
--- 5573,5579 ----
channel-functions usr_41.txt /*channel-functions*
channel-mode channel.txt /*channel-mode*
channel-more channel.txt /*channel-more*
+ channel-noblock channel.txt /*channel-noblock*
channel-open channel.txt /*channel-open*
channel-open-options channel.txt /*channel-open-options*
channel-raw channel.txt /*channel-raw*
***************
*** 5585,5590 ****
--- 5710,5717 ----
complete_CTRL-Y insert.txt /*complete_CTRL-Y*
complete_add() eval.txt /*complete_add()*
complete_check() eval.txt /*complete_check()*
+ complete_info() eval.txt /*complete_info()*
+ complete_info_mode eval.txt /*complete_info_mode*
completed_item-variable eval.txt /*completed_item-variable*
completion-functions usr_41.txt /*completion-functions*
complex-change change.txt /*complex-change*
***************
*** 5756,5761 ****
--- 5883,5889 ----
debug-win32 debug.txt /*debug-win32*
debug-windbg debug.txt /*debug-windbg*
debug.txt debug.txt /*debug.txt*
+ debugbreak() eval.txt /*debugbreak()*
debugger-compilation debugger.txt /*debugger-compilation*
debugger-features debugger.txt /*debugger-features*
debugger-integration debugger.txt /*debugger-integration*
***************
*** 5765,5775 ****
--- 5893,5905 ----
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()*
delete-insert change.txt /*delete-insert*
delete-menus gui.txt /*delete-menus*
+ deletebufline() eval.txt /*deletebufline()*
deleting change.txt /*deleting*
demoserver.py channel.txt /*demoserver.py*
design-assumptions develop.txt /*design-assumptions*
***************
*** 5974,5979 ****
--- 6104,6110 ----
expr-+ eval.txt /*expr-+*
expr-- eval.txt /*expr--*
expr-. eval.txt /*expr-.*
+ expr-.. eval.txt /*expr-..*
expr-/ eval.txt /*expr-\/*
expr-< eval.txt /*expr-<*
expr-<# eval.txt /*expr-<#*
***************
*** 6037,6043 ****
false-variable eval.txt /*false-variable*
faq intro.txt /*faq*
farsi farsi.txt /*farsi*
- farsi-fonts farsi.txt /*farsi-fonts*
farsi.txt farsi.txt /*farsi.txt*
fasm.vim syntax.txt /*fasm.vim*
fcs_choice-variable eval.txt /*fcs_choice-variable*
--- 6168,6173 ----
***************
*** 6137,6142 ****
--- 6267,6273 ----
foldtextresult() eval.txt /*foldtextresult()*
font-sizes gui_x11.txt /*font-sizes*
fontset mbyte.txt /*fontset*
+ forced-motion motion.txt /*forced-motion*
foreground() eval.txt /*foreground()*
fork os_unix.txt /*fork*
form.vim syntax.txt /*form.vim*
***************
*** 6255,6262 ****
--- 6386,6399 ----
ft-python-syntax syntax.txt /*ft-python-syntax*
ft-quake-syntax syntax.txt /*ft-quake-syntax*
ft-r-indent indent.txt /*ft-r-indent*
+ ft-r-syntax syntax.txt /*ft-r-syntax*
ft-readline-syntax syntax.txt /*ft-readline-syntax*
ft-rexx-syntax syntax.txt /*ft-rexx-syntax*
+ ft-rmd-plugin filetype.txt /*ft-rmd-plugin*
+ ft-rmd-syntax syntax.txt /*ft-rmd-syntax*
+ ft-rrst-plugin filetype.txt /*ft-rrst-plugin*
+ ft-rrst-syntax syntax.txt /*ft-rrst-syntax*
+ ft-rst-plugin filetype.txt /*ft-rst-plugin*
ft-rst-syntax syntax.txt /*ft-rst-syntax*
ft-ruby-omni insert.txt /*ft-ruby-omni*
ft-ruby-syntax syntax.txt /*ft-ruby-syntax*
***************
*** 6644,6649 ****
--- 6781,6787 ----
gettabinfo() eval.txt /*gettabinfo()*
gettabvar() eval.txt /*gettabvar()*
gettabwinvar() eval.txt /*gettabwinvar()*
+ gettagstack() eval.txt /*gettagstack()*
getwininfo() eval.txt /*getwininfo()*
getwinpos() eval.txt /*getwinpos()*
getwinposx() eval.txt /*getwinposx()*
***************
*** 6710,6715 ****
--- 6848,6855 ----
gui-clipboard gui_w32.txt /*gui-clipboard*
gui-colors syntax.txt /*gui-colors*
gui-extras gui.txt /*gui-extras*
+ gui-font gui.txt /*gui-font*
+ gui-fontwide gui.txt /*gui-fontwide*
gui-footer debugger.txt /*gui-footer*
gui-fork gui_x11.txt /*gui-fork*
gui-functions usr_41.txt /*gui-functions*
***************
*** 6761,6769 ****
gui.txt gui.txt /*gui.txt*
gui_w32.txt gui_w32.txt /*gui_w32.txt*
gui_x11.txt gui_x11.txt /*gui_x11.txt*
! guifontwide_gtk options.txt /*guifontwide_gtk*
! guifontwide_win_mbyte options.txt /*guifontwide_win_mbyte*
! guioptions_a options.txt /*guioptions_a*
guu change.txt /*guu*
gv visual.txt /*gv*
gview starting.txt /*gview*
--- 6901,6908 ----
gui.txt gui.txt /*gui.txt*
gui_w32.txt gui_w32.txt /*gui_w32.txt*
gui_x11.txt gui_x11.txt /*gui_x11.txt*
! guifontwide_gtk gui.txt /*guifontwide_gtk*
! guifontwide_win_mbyte gui.txt /*guifontwide_win_mbyte*
guu change.txt /*guu*
gv visual.txt /*gv*
gview starting.txt /*gview*
***************
*** 7137,7142 ****
--- 7276,7282 ----
iquote motion.txt /*iquote*
is motion.txt /*is*
isdirectory() eval.txt /*isdirectory()*
+ isinf() eval.txt /*isinf()*
islocked() eval.txt /*islocked()*
isnan() eval.txt /*isnan()*
it motion.txt /*it*
***************
*** 7162,7167 ****
--- 7302,7308 ----
job-exit_cb channel.txt /*job-exit_cb*
job-functions usr_41.txt /*job-functions*
job-in_io channel.txt /*job-in_io*
+ job-noblock channel.txt /*job-noblock*
job-options channel.txt /*job-options*
job-out_cb channel.txt /*job-out_cb*
job-out_io channel.txt /*job-out_io*
***************
*** 7223,7229 ****
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_buffer_nr() eval.txt /*last_buffer_nr()*
latex-syntax syntax.txt /*latex-syntax*
lc_time-variable eval.txt /*lc_time-variable*
--- 7364,7370 ----
lang-variable eval.txt /*lang-variable*
language-mapping map.txt /*language-mapping*
last-pattern pattern.txt /*last-pattern*
! 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*
***************
*** 7249,7254 ****
--- 7390,7396 ----
limits vi_diff.txt /*limits*
line() eval.txt /*line()*
line-continuation repeat.txt /*line-continuation*
+ line-continuation-comment repeat.txt /*line-continuation-comment*
line2byte() eval.txt /*line2byte()*
linefeed intro.txt /*linefeed*
linewise motion.txt /*linewise*
***************
*** 7262,7267 ****
--- 7404,7410 ----
list-index eval.txt /*list-index*
list-modification eval.txt /*list-modification*
list-repeat windows.txt /*list-repeat*
+ list2str() eval.txt /*list2str()*
lite.vim syntax.txt /*lite.vim*
literal-string eval.txt /*literal-string*
lnum-variable eval.txt /*lnum-variable*
***************
*** 7277,7282 ****
--- 7420,7426 ----
locale-name mbyte.txt /*locale-name*
localtime() eval.txt /*localtime()*
location-list quickfix.txt /*location-list*
+ location-list-file-window quickfix.txt /*location-list-file-window*
location-list-window quickfix.txt /*location-list-window*
log() eval.txt /*log()*
log10() eval.txt /*log10()*
***************
*** 7297,7302 ****
--- 7441,7447 ----
lowercase change.txt /*lowercase*
lpc.vim syntax.txt /*lpc.vim*
lua if_lua.txt /*lua*
+ lua-blob if_lua.txt /*lua-blob*
lua-buffer if_lua.txt /*lua-buffer*
lua-commands if_lua.txt /*lua-commands*
lua-dict if_lua.txt /*lua-dict*
***************
*** 7522,7527 ****
--- 7667,7673 ----
netbeans-run netbeans.txt /*netbeans-run*
netbeans-setup netbeans.txt /*netbeans-setup*
netbeans-support netbeans.txt /*netbeans-support*
+ netbeans-xpm netbeans.txt /*netbeans-xpm*
netbeans.txt netbeans.txt /*netbeans.txt*
netreadfixup pi_netrw.txt /*netreadfixup*
netrw pi_netrw.txt /*netrw*
***************
*** 7888,7893 ****
--- 8034,8040 ----
online-help helphelp.txt /*online-help*
opening-window windows.txt /*opening-window*
operator motion.txt /*operator*
+ operator-pending-index index.txt /*operator-pending-index*
operator-variable eval.txt /*operator-variable*
option-backslash options.txt /*option-backslash*
option-list quickref.txt /*option-list*
***************
*** 7955,7960 ****
--- 8102,8108 ----
penc-option print.txt /*penc-option*
perl if_perl.txt /*perl*
perl-Append if_perl.txt /*perl-Append*
+ perl-Blob if_perl.txt /*perl-Blob*
perl-Buffer if_perl.txt /*perl-Buffer*
perl-Buffers if_perl.txt /*perl-Buffers*
perl-Count if_perl.txt /*perl-Count*
***************
*** 8061,8068 ****
--- 8209,8228 ----
progress.vim syntax.txt /*progress.vim*
prompt-buffer channel.txt /*prompt-buffer*
prompt_setcallback() eval.txt /*prompt_setcallback()*
+ prompt_setinterrupt() eval.txt /*prompt_setinterrupt()*
prompt_setprompt() eval.txt /*prompt_setprompt()*
+ promptbuffer-functions usr_41.txt /*promptbuffer-functions*
pronounce intro.txt /*pronounce*
+ prop_add() eval.txt /*prop_add()*
+ prop_clear() eval.txt /*prop_clear()*
+ prop_find() eval.txt /*prop_find()*
+ prop_list() eval.txt /*prop_list()*
+ prop_remove() eval.txt /*prop_remove()*
+ prop_type_add() eval.txt /*prop_type_add()*
+ prop_type_change() eval.txt /*prop_type_change()*
+ prop_type_delete() eval.txt /*prop_type_delete()*
+ prop_type_get() eval.txt /*prop_type_get()*
+ prop_type_list() eval.txt /*prop_type_list()*
psql ft_sql.txt /*psql*
ptcap.vim syntax.txt /*ptcap.vim*
pterm-mouse options.txt /*pterm-mouse*
***************
*** 8131,8142 ****
--- 8291,8304 ----
quickfix quickfix.txt /*quickfix*
quickfix-6 version6.txt /*quickfix-6*
quickfix-ID quickfix.txt /*quickfix-ID*
+ quickfix-buffer quickfix.txt /*quickfix-buffer*
quickfix-changedtick quickfix.txt /*quickfix-changedtick*
quickfix-context quickfix.txt /*quickfix-context*
quickfix-directory-stack quickfix.txt /*quickfix-directory-stack*
quickfix-error-lists quickfix.txt /*quickfix-error-lists*
quickfix-functions usr_41.txt /*quickfix-functions*
quickfix-gcc quickfix.txt /*quickfix-gcc*
+ quickfix-index quickfix.txt /*quickfix-index*
quickfix-manx quickfix.txt /*quickfix-manx*
quickfix-parse quickfix.txt /*quickfix-parse*
quickfix-perl quickfix.txt /*quickfix-perl*
***************
*** 8184,8189 ****
--- 8346,8352 ----
quotestar gui.txt /*quotestar*
quote~ change.txt /*quote~*
r change.txt /*r*
+ r.vim syntax.txt /*r.vim*
range() eval.txt /*range()*
raw-terminal-mode term.txt /*raw-terminal-mode*
rcp pi_netrw.txt /*rcp*
***************
*** 8191,8196 ****
--- 8354,8360 ----
read-messages insert.txt /*read-messages*
read-only-share editing.txt /*read-only-share*
read-stdin version5.txt /*read-stdin*
+ readdir() eval.txt /*readdir()*
readfile() eval.txt /*readfile()*
readline.vim syntax.txt /*readline.vim*
recording repeat.txt /*recording*
***************
*** 8248,8258 ****
--- 8412,8425 ----
rileft rileft.txt /*rileft*
rileft.txt rileft.txt /*rileft.txt*
riscos os_risc.txt /*riscos*
+ rmd.vim syntax.txt /*rmd.vim*
rot13 change.txt /*rot13*
round() eval.txt /*round()*
+ rrst.vim syntax.txt /*rrst.vim*
rst.vim syntax.txt /*rst.vim*
rsync pi_netrw.txt /*rsync*
ruby if_ruby.txt /*ruby*
+ ruby-blob if_ruby.txt /*ruby-blob*
ruby-buffer if_ruby.txt /*ruby-buffer*
ruby-command if_ruby.txt /*ruby-command*
ruby-commands if_ruby.txt /*ruby-commands*
***************
*** 8260,8265 ****
--- 8427,8433 ----
ruby-evaluate if_ruby.txt /*ruby-evaluate*
ruby-globals if_ruby.txt /*ruby-globals*
ruby-message if_ruby.txt /*ruby-message*
+ ruby-rubyeval if_ruby.txt /*ruby-rubyeval*
ruby-set_option if_ruby.txt /*ruby-set_option*
ruby-vim if_ruby.txt /*ruby-vim*
ruby-window if_ruby.txt /*ruby-window*
***************
*** 8271,8276 ****
--- 8439,8445 ----
ruby_operators syntax.txt /*ruby_operators*
ruby_space_errors syntax.txt /*ruby_space_errors*
ruby_spellcheck_strings syntax.txt /*ruby_spellcheck_strings*
+ rubyeval() eval.txt /*rubyeval()*
russian russian.txt /*russian*
russian-intro russian.txt /*russian-intro*
russian-issues russian.txt /*russian-issues*
***************
*** 8319,8332 ****
--- 8488,8504 ----
scp pi_netrw.txt /*scp*
screenattr() eval.txt /*screenattr()*
screenchar() eval.txt /*screenchar()*
+ screenchars() eval.txt /*screenchars()*
screencol() eval.txt /*screencol()*
screenrow() eval.txt /*screenrow()*
+ screenstring() eval.txt /*screenstring()*
script usr_41.txt /*script*
script-here if_perl.txt /*script-here*
script-local map.txt /*script-local*
script-variable eval.txt /*script-variable*
scriptnames-dictionary eval.txt /*scriptnames-dictionary*
scriptout-changed version4.txt /*scriptout-changed*
+ scriptversion eval.txt /*scriptversion*
scroll-binding scroll.txt /*scroll-binding*
scroll-cursor scroll.txt /*scroll-cursor*
scroll-down scroll.txt /*scroll-down*
***************
*** 8382,8387 ****
--- 8554,8560 ----
setreg() eval.txt /*setreg()*
settabvar() eval.txt /*settabvar()*
settabwinvar() eval.txt /*settabwinvar()*
+ settagstack() eval.txt /*settagstack()*
setting-guifont gui.txt /*setting-guifont*
setting-guitablabel tabpage.txt /*setting-guitablabel*
setting-tabline tabpage.txt /*setting-tabline*
***************
*** 8402,8411 ****
--- 8575,8596 ----
shiftwidth() eval.txt /*shiftwidth()*
short-name-changed version4.txt /*short-name-changed*
showing-menus gui.txt /*showing-menus*
+ sign-column sign.txt /*sign-column*
sign-commands sign.txt /*sign-commands*
+ sign-functions usr_41.txt /*sign-functions*
+ sign-group sign.txt /*sign-group*
+ sign-identifier sign.txt /*sign-identifier*
sign-intro sign.txt /*sign-intro*
+ sign-priority sign.txt /*sign-priority*
sign-support sign.txt /*sign-support*
sign.txt sign.txt /*sign.txt*
+ sign_define() eval.txt /*sign_define()*
+ sign_getdefined() eval.txt /*sign_getdefined()*
+ sign_getplaced() eval.txt /*sign_getplaced()*
+ sign_jump() eval.txt /*sign_jump()*
+ sign_place() eval.txt /*sign_place()*
+ sign_undefine() eval.txt /*sign_undefine()*
+ sign_unplace() eval.txt /*sign_unplace()*
signs sign.txt /*signs*
simple-change change.txt /*simple-change*
simplify() eval.txt /*simplify()*
***************
*** 8442,8447 ****
--- 8627,8633 ----
spell-CHECKCOMPOUNDPATTERN spell.txt /*spell-CHECKCOMPOUNDPATTERN*
spell-CHECKCOMPOUNDREP spell.txt /*spell-CHECKCOMPOUNDREP*
spell-CHECKCOMPOUNDTRIPLE spell.txt /*spell-CHECKCOMPOUNDTRIPLE*
+ spell-CHECKSHARPS spell.txt /*spell-CHECKSHARPS*
spell-CIRCUMFIX spell.txt /*spell-CIRCUMFIX*
spell-COMMON spell.txt /*spell-COMMON*
spell-COMPLEXPREFIXES spell.txt /*spell-COMPLEXPREFIXES*
***************
*** 8451,8456 ****
--- 8637,8643 ----
spell-COMPOUNDFIRST spell.txt /*spell-COMPOUNDFIRST*
spell-COMPOUNDFLAG spell.txt /*spell-COMPOUNDFLAG*
spell-COMPOUNDFORBIDFLAG spell.txt /*spell-COMPOUNDFORBIDFLAG*
+ spell-COMPOUNDLAST spell.txt /*spell-COMPOUNDLAST*
spell-COMPOUNDMIDDLE spell.txt /*spell-COMPOUNDMIDDLE*
spell-COMPOUNDMIN spell.txt /*spell-COMPOUNDMIN*
spell-COMPOUNDPERMITFLAG spell.txt /*spell-COMPOUNDPERMITFLAG*
***************
*** 8587,8592 ****
--- 8774,8780 ----
status-line windows.txt /*status-line*
statusmsg-variable eval.txt /*statusmsg-variable*
str2float() eval.txt /*str2float()*
+ str2list() eval.txt /*str2list()*
str2nr() eval.txt /*str2nr()*
strcasestr() eval.txt /*strcasestr()*
strcharpart() eval.txt /*strcharpart()*
***************
*** 8635,8640 ****
--- 8823,8830 ----
swapchoice-variable eval.txt /*swapchoice-variable*
swapcommand-variable eval.txt /*swapcommand-variable*
swapfile-changed version4.txt /*swapfile-changed*
+ swapinfo() eval.txt /*swapinfo()*
+ swapname() eval.txt /*swapname()*
swapname-variable eval.txt /*swapname-variable*
sybase ft_sql.txt /*sybase*
syn-sync-grouphere syntax.txt /*syn-sync-grouphere*
***************
*** 8684,8690 ****
--- 8874,8887 ----
t_BD term.txt /*t_BD*
t_BE term.txt /*t_BE*
t_CS term.txt /*t_CS*
+ t_CTRL-W_. terminal.txt /*t_CTRL-W_.*
+ t_CTRL-W_: terminal.txt /*t_CTRL-W_:*
t_CTRL-W_CTRL-C terminal.txt /*t_CTRL-W_CTRL-C*
+ t_CTRL-W_CTRL-W terminal.txt /*t_CTRL-W_CTRL-W*
+ t_CTRL-W_N terminal.txt /*t_CTRL-W_N*
+ t_CTRL-W_gT terminal.txt /*t_CTRL-W_gT*
+ t_CTRL-W_gt terminal.txt /*t_CTRL-W_gt*
+ t_CTRL-W_quote terminal.txt /*t_CTRL-W_quote*
t_CTRL-\_CTRL-N terminal.txt /*t_CTRL-\\_CTRL-N*
t_CV term.txt /*t_CV*
t_Ce term.txt /*t_Ce*
***************
*** 8732,8744 ****
--- 8929,8945 ----
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*
***************
*** 8748,8753 ****
--- 8949,8955 ----
t_ZR term.txt /*t_ZR*
t_al term.txt /*t_al*
t_bc term.txt /*t_bc*
+ t_blob-variable eval.txt /*t_blob-variable*
t_bool-variable eval.txt /*t_bool-variable*
t_cd term.txt /*t_cd*
t_cdl version4.txt /*t_cdl*
***************
*** 8869,8879 ****
tabpagewinnr() eval.txt /*tabpagewinnr()*
tag tagsrch.txt /*tag*
tag-! tagsrch.txt /*tag-!*
- tag-any-white tagsrch.txt /*tag-any-white*
tag-binary-search tagsrch.txt /*tag-binary-search*
tag-blocks motion.txt /*tag-blocks*
tag-commands tagsrch.txt /*tag-commands*
tag-details tagsrch.txt /*tag-details*
tag-highlight syntax.txt /*tag-highlight*
tag-matchlist tagsrch.txt /*tag-matchlist*
tag-old-static tagsrch.txt /*tag-old-static*
--- 9071,9082 ----
tabpagewinnr() eval.txt /*tabpagewinnr()*
tag tagsrch.txt /*tag*
tag-! tagsrch.txt /*tag-!*
tag-binary-search tagsrch.txt /*tag-binary-search*
tag-blocks motion.txt /*tag-blocks*
tag-commands tagsrch.txt /*tag-commands*
tag-details tagsrch.txt /*tag-details*
+ tag-function tagsrch.txt /*tag-function*
+ tag-functions usr_41.txt /*tag-functions*
tag-highlight syntax.txt /*tag-highlight*
tag-matchlist tagsrch.txt /*tag-matchlist*
tag-old-static tagsrch.txt /*tag-old-static*
***************
*** 8993,9002 ****
--- 9196,9208 ----
termdebug-communication terminal.txt /*termdebug-communication*
termdebug-customizing terminal.txt /*termdebug-customizing*
termdebug-example terminal.txt /*termdebug-example*
+ termdebug-prompt terminal.txt /*termdebug-prompt*
termdebug-starting terminal.txt /*termdebug-starting*
termdebug-stepping terminal.txt /*termdebug-stepping*
termdebug-variables terminal.txt /*termdebug-variables*
termdebug_popup terminal.txt /*termdebug_popup*
+ termdebug_shortcuts terminal.txt /*termdebug_shortcuts*
+ termdebug_use_prompt terminal.txt /*termdebug_use_prompt*
termdebug_wide terminal.txt /*termdebug_wide*
terminal terminal.txt /*terminal*
terminal-api terminal.txt /*terminal-api*
***************
*** 9011,9016 ****
--- 9217,9223 ----
terminal-dumptest terminal.txt /*terminal-dumptest*
terminal-functions usr_41.txt /*terminal-functions*
terminal-info term.txt /*terminal-info*
+ terminal-job-index index.txt /*terminal-job-index*
terminal-key-codes term.txt /*terminal-key-codes*
terminal-ms-windows terminal.txt /*terminal-ms-windows*
terminal-options term.txt /*terminal-options*
***************
*** 9035,9047 ****
--- 9242,9259 ----
test_feedinput() eval.txt /*test_feedinput()*
test_garbagecollect_now() eval.txt /*test_garbagecollect_now()*
test_ignore_error() eval.txt /*test_ignore_error()*
+ test_null_blob() eval.txt /*test_null_blob()*
test_null_channel() eval.txt /*test_null_channel()*
test_null_dict() eval.txt /*test_null_dict()*
test_null_job() eval.txt /*test_null_job()*
test_null_list() eval.txt /*test_null_list()*
test_null_partial() eval.txt /*test_null_partial()*
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_refcount() eval.txt /*test_refcount()*
+ test_scrollbar() eval.txt /*test_scrollbar()*
+ test_setmouse() eval.txt /*test_setmouse()*
test_settime() eval.txt /*test_settime()*
testing eval.txt /*testing*
testing-variable eval.txt /*testing-variable*
***************
*** 9065,9071 ****
--- 9277,9288 ----
text-functions usr_41.txt /*text-functions*
text-objects motion.txt /*text-objects*
text-objects-changed version5.txt /*text-objects-changed*
+ text-prop-changes textprop.txt /*text-prop-changes*
+ text-prop-functions textprop.txt /*text-prop-functions*
+ text-prop-intro textprop.txt /*text-prop-intro*
+ text-properties textprop.txt /*text-properties*
textlock eval.txt /*textlock*
+ textprop.txt textprop.txt /*textprop.txt*
tf.vim syntax.txt /*tf.vim*
this_session-variable eval.txt /*this_session-variable*
throw-catch eval.txt /*throw-catch*
***************
*** 9251,9256 ****
--- 9468,9474 ----
v:swapcommand eval.txt /*v:swapcommand*
v:swapname eval.txt /*v:swapname*
v:t_TYPE eval.txt /*v:t_TYPE*
+ v:t_blob eval.txt /*v:t_blob*
v:t_bool eval.txt /*v:t_bool*
v:t_channel eval.txt /*v:t_channel*
v:t_dict eval.txt /*v:t_dict*
***************
*** 9434,9439 ****
--- 9652,9658 ----
version8.txt version8.txt /*version8.txt*
vi intro.txt /*vi*
vi-differences vi_diff.txt /*vi-differences*
+ vi-features vi_diff.txt /*vi-features*
vi: options.txt /*vi:*
vi_diff.txt vi_diff.txt /*vi_diff.txt*
vib motion.txt /*vib*
***************
*** 9504,9509 ****
--- 9723,9730 ----
vimrc-intro usr_05.txt /*vimrc-intro*
vimrc-option-example starting.txt /*vimrc-option-example*
vimrc_example.vim usr_05.txt /*vimrc_example.vim*
+ vimscript-version eval.txt /*vimscript-version*
+ vimscript-versions eval.txt /*vimscript-versions*
vimtutor usr_01.txt /*vimtutor*
virtcol() eval.txt /*virtcol()*
visual-block visual.txt /*visual-block*
***************
*** 9549,9554 ****
--- 9770,9776 ----
wildcard editing.txt /*wildcard*
wildcards editing.txt /*wildcards*
wildmenumode() eval.txt /*wildmenumode()*
+ win16 os_win32.txt /*win16*
win32 os_win32.txt /*win32*
win32-!start gui_w32.txt /*win32-!start*
win32-PATH os_win32.txt /*win32-PATH*
***************
*** 9607,9612 ****
--- 9829,9835 ----
windowsme os_win32.txt /*windowsme*
winheight() eval.txt /*winheight()*
winid windows.txt /*winid*
+ winlayout() eval.txt /*winlayout()*
winline() eval.txt /*winline()*
winnr() eval.txt /*winnr()*
winrestcmd() eval.txt /*winrestcmd()*
***************
*** 9619,9630 ****
wordcount() eval.txt /*wordcount()*
workbench starting.txt /*workbench*
workshop workshop.txt /*workshop*
- workshop-commands workshop.txt /*workshop-commands*
- workshop-compiling workshop.txt /*workshop-compiling*
- workshop-configure workshop.txt /*workshop-configure*
- workshop-intro workshop.txt /*workshop-intro*
workshop-support workshop.txt /*workshop-support*
- workshop-xpm workshop.txt /*workshop-xpm*
workshop.txt workshop.txt /*workshop.txt*
wrap-off intro.txt /*wrap-off*
write-compiler-plugin usr_41.txt /*write-compiler-plugin*
--- 9842,9848 ----
*** ../vim-8.1.1279/src/version.c 2019-05-05 16:54:59.505931038 +0200
--- src/version.c 2019-05-05 18:02:57.091549074 +0200
***************
*** 769,770 ****
--- 769,772 ----
{ /* Add new patch number below this line */
+ /**/
+ 1280,
/**/
--
SIGFUN -- signature too funny (core dumped)
/// Bram Moolenaar -- Br...@Moolenaar.net --
http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features --
http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language --
http://www.Zimbu.org ///
\\\ help me help AIDS victims --
http://ICCF-Holland.org ///