Updated runtime files.

This commit is contained in:
Bram Moolenaar
2016-06-12 23:01:46 +02:00
parent 2d35899721
commit c95a302a4c
17 changed files with 257 additions and 131 deletions

View File

@ -1,4 +1,4 @@
*autocmd.txt* For Vim version 7.4. Last change: 2016 Apr 20
*autocmd.txt* For Vim version 7.4. Last change: 2016 Jun 09
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1204,6 +1204,8 @@ option will not cause any commands to be executed.
argument is present. You probably want to use
<nomodeline> for events that are not used when loading
a buffer, such as |User|.
Processing modelines is also skipped when no
matching autocommands were executed.
*:doautoa* *:doautoall*
:doautoa[ll] [<nomodeline>] [group] {event} [fname]

View File

@ -1,4 +1,4 @@
*eval.txt* For Vim version 7.4. Last change: 2016 Jun 04
*eval.txt* For Vim version 7.4. Last change: 2016 Jun 06
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1468,9 +1468,11 @@ v:exception The value of the exception most recently caught and not
*v:false* *false-variable*
v:false A Number with value zero. Used to put "false" in JSON. See
|json_encode()|.
When used as a string this evaluates to "false". >
When used as a string this evaluates to "v:false". >
echo v:false
< false ~
< v:false ~
That is so that eval() can parse the string back to the same
value.
*v:fcs_reason* *fcs_reason-variable*
v:fcs_reason The reason why the |FileChangedShell| event was triggered.
@ -1613,17 +1615,21 @@ v:mouse_col Column number for a mouse click obtained with |getchar()|.
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.
When used as a string this evaluates to "none". >
When used as a string this evaluates to "v:none". >
echo v:none
< none ~
< v:none ~
That is so that eval() can parse the string back to the same
value.
*v:null* *null-variable*
v:null An empty String. Used to put "null" in JSON. See
|json_encode()|.
When used as a number this evaluates to zero.
When used as a string this evaluates to "null". >
When used as a string this evaluates to "v:null". >
echo v:null
< null ~
< v:null ~
That is so that eval() can parse the string back to the same
value.
*v:oldfiles* *oldfiles-variable*
v:oldfiles List of file names that is loaded from the |viminfo| file on
@ -1796,9 +1802,11 @@ v:throwpoint The point where the exception most recently caught and not
*v:true* *true-variable*
v:true A Number with value one. Used to put "true" in JSON. See
|json_encode()|.
When used as a string this evaluates to "true". >
When used as a string this evaluates to "v:true". >
echo v:true
< true ~
< v:true ~
That is so that eval() can parse the string back to the same
value.
*v:val* *val-variable*
v:val Value of the current item of a |List| or |Dictionary|. Only
valid while evaluating the expression used with |map()| and
@ -2218,6 +2226,7 @@ test_null_job() Job null value for testing
test_null_list() List null value for testing
test_null_partial() Funcref null value for testing
test_null_string() String null value for testing
test_settime({expr}) none set current time for testing
timer_start({time}, {callback} [, {options}])
Number create a timer
timer_stop({timer}) none stop a timer
@ -7275,6 +7284,11 @@ test_null_partial() *test_null_partial()*
test_null_string() *test_null_string()*
Return a String that is null. Only useful for testing.
test_settime({expr}) *test_settime()*
Set the time Vim uses internally. Currently only used for
timestamps in the history, as they are used in viminfo.
{expr} must evaluate to a number. When the value is zero the
normal behavior is restored.
*timer_start()*
timer_start({time}, {callback} [, {options}])

View File

@ -1,4 +1,4 @@
*index.txt* For Vim version 7.4. Last change: 2016 Apr 12
*index.txt* For Vim version 7.4. Last change: 2016 Jun 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1156,8 +1156,9 @@ tag command action ~
|:chdir| :chd[ir] change directory
|:checkpath| :che[ckpath] list included files
|:checktime| :checkt[ime] check timestamp of loaded buffers
|:clist| :cl[ist] list all errors
|:clast| :cla[st] go to the specified error, default last one
|:clearjumps| :cle[arjumps] clear the jump list
|:clist| :cl[ist] list all errors
|:close| :clo[se] close current window
|:cmap| :cm[ap] like ":map" but for Command-line mode
|:cmapclear| :cmapc[lear] clear all mappings for Command-line mode

View File

@ -1,4 +1,4 @@
*map.txt* For Vim version 7.4. Last change: 2016 Jan 10
*map.txt* For Vim version 7.4. Last change: 2016 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1413,11 +1413,11 @@ The valid escape sequences are
expands to nothing.
*<mods>*
<mods> The command modifiers, if specified. Otherwise, expands to
nothing. Supported modifiers are |aboveleft|, |belowright|,
|botright|, |browse|, |confirm|, |hide|, |keepalt|,
|keepjumps|, |keepmarks|, |keeppatterns|, |lockmarks|,
|noswapfile|, |silent|, |tab|, |topleft|, |verbose|, and
|vertical|.
nothing. Supported modifiers are |:aboveleft|, |:belowright|,
|:botright|, |:browse|, |:confirm|, |:hide|, |:keepalt|,
|:keepjumps|, |:keepmarks|, |:keeppatterns|, |:lockmarks|,
|:noswapfile|, |:silent|, |:tab|, |:topleft|, |:verbose|, and
|:vertical|.
Examples: >
command! -nargs=+ -complete=file MyEdit
\ for f in expand(<q-args>, 0, 1) |

View File

@ -1,4 +1,4 @@
*motion.txt* For Vim version 7.4. Last change: 2015 Jun 06
*motion.txt* For Vim version 7.4. Last change: 2016 Jun 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1027,7 +1027,8 @@ 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 a motion command).
{not in Vi}
{not available without the |+jumplist| feature}
<Tab> or *CTRL-I* *<Tab>*
@ -1037,8 +1038,14 @@ CTRL-I Go to [count] newer cursor position in jump list
{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}
: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*
Jumps are remembered in a jump list. With the CTRL-O and CTRL-I command you

View File

@ -1,4 +1,4 @@
*options.txt* For Vim version 7.4. Last change: 2016 Jun 04
*options.txt* For Vim version 7.4. Last change: 2016 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -3337,6 +3337,41 @@ A jump table for the options with a short description can be found at |Q_op|.
It is not allowed to change text or jump to another window while
evaluating 'foldtext' |textlock|.
*'formatexpr'* *'fex'*
'formatexpr' 'fex' string (default "")
local to buffer
{not in Vi}
{not available when compiled without the |+eval|
feature}
Expression which is evaluated to format a range of lines for the |gq|
operator or automatic formatting (see 'formatoptions'). When this
option is empty 'formatprg' is used.
The |v:lnum| variable holds the first line to be formatted.
The |v:count| variable holds the number of lines to be formatted.
The |v:char| variable holds the character that is going to be
inserted if the expression is being evaluated due to
automatic formatting. This can be empty. Don't insert
it yet!
Example: >
:set formatexpr=mylang#Format()
< This will invoke the mylang#Format() function in the
autoload/mylang.vim file in 'runtimepath'. |autoload|
The expression is also evaluated when 'textwidth' is set and adding
text beyond that limit. This happens under the same conditions as
when internal formatting is used. Make sure the cursor is kept in the
same spot relative to the text then! The |mode()| function will
return "i" or "R" in this situation.
When the expression evaluates to non-zero Vim will fall back to using
the internal format mechanism.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed.
*'formatoptions'* *'fo'*
'formatoptions' 'fo' string (Vim default: "tcq", Vi default: "vt")
local to buffer
@ -3380,41 +3415,6 @@ A jump table for the options with a short description can be found at |Q_op|.
This option cannot be set from a |modeline| or in the |sandbox|, for
security reasons.
*'formatexpr'* *'fex'*
'formatexpr' 'fex' string (default "")
local to buffer
{not in Vi}
{not available when compiled without the |+eval|
feature}
Expression which is evaluated to format a range of lines for the |gq|
operator or automatic formatting (see 'formatoptions'). When this
option is empty 'formatprg' is used.
The |v:lnum| variable holds the first line to be formatted.
The |v:count| variable holds the number of lines to be formatted.
The |v:char| variable holds the character that is going to be
inserted if the expression is being evaluated due to
automatic formatting. This can be empty. Don't insert
it yet!
Example: >
:set formatexpr=mylang#Format()
< This will invoke the mylang#Format() function in the
autoload/mylang.vim file in 'runtimepath'. |autoload|
The expression is also evaluated when 'textwidth' is set and adding
text beyond that limit. This happens under the same conditions as
when internal formatting is used. Make sure the cursor is kept in the
same spot relative to the text then! The |mode()| function will
return "i" or "R" in this situation.
When the expression evaluates to non-zero Vim will fall back to using
the internal format mechanism.
The expression will be evaluated in the |sandbox| when set from a
modeline, see |sandbox-option|. That stops the option from working,
since changing the buffer text is not allowed.
*'fsync'* *'fs'* *'nofsync'* *'nofs'*
'fsync' 'fs' boolean (default on)
global

View File

@ -1,4 +1,4 @@
*pattern.txt* For Vim version 7.4. Last change: 2016 Apr 26
*pattern.txt* For Vim version 7.4. Last change: 2016 Jun 08
VIM REFERENCE MANUAL by Bram Moolenaar
@ -954,14 +954,18 @@ $ At end of pattern or in front of "\|", "\)" or "\n" ('magic' on):
< When 'hlsearch' is set and you move the cursor around and make changes
this will clearly show when the match is updated or not.
To match the text up to column 17: >
/.*\%17v
< Column 17 is included, because that's where the "\%17v" matches,
even though this is a |/zero-width| match. Adding a dot to match the
next character has the same result: >
/.*\%17v.
/^.*\%17v
< Column 17 is not included, because this is a |/zero-width| match. To
include the column use: >
/^.*\%17v.
< This command does the same thing, but also matches when there is no
character in column 17: >
/.*\%<18v.
/^.*\%<18v.
< Note that without the "^" to anchor the match in the first column,
this will also highlight column 17: >
/.*\%17v
< Column 17 is highlighted by 'hlsearch' because there is another match
where ".*" matches zero characters.
<
Character classes: {not in Vi}

View File

@ -1,4 +1,4 @@
*repeat.txt* For Vim version 7.4. Last change: 2016 May 24
*repeat.txt* For Vim version 7.4. Last change: 2016 Jun 11
VIM REFERENCE MANUAL by Bram Moolenaar
@ -541,7 +541,7 @@ whether Vim supports a feature or a dependency is missing.
You can also load an optional plugin at startup, by putting this command in
your |.vimrc|: >
:packadd! foodebug
The extra "!" is so that the plugin isn't loaded with Vim was started with
The extra "!" is so that the plugin isn't loaded if Vim was started with
|--noplugin|.
It is perfectly normal for a package to only have files in the "opt"
@ -620,7 +620,7 @@ the command after changing the plugin help: >
Dependencies between plugins ~
*packload-two-steps*
Suppose you have a two plugins that depend on the same functionality. You can
Suppose you have two plugins that depend on the same functionality. You can
put the common functionality in an autoload directory, so that it will be
found automatically. Your package would have these files:

View File

@ -1,4 +1,4 @@
*starting.txt* For Vim version 7.4. Last change: 2016 Apr 22
*starting.txt* For Vim version 7.4. Last change: 2016 Jun 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -1413,6 +1413,29 @@ file (it's actually merged with the existing one, if one exists). The
'viminfo' option is a string containing information about what info should be
stored, and contains limits on how much should be stored (see 'viminfo').
Merging happens in two ways. Most items that have been changed or set in the
current Vim session are stored, and what was not changed is filled from what
is currently in the viminfo file. For example:
- Vim session A reads the viminfo, which contains variable START.
- Vim session B does the same
- Vim session A sets the variables AAA and BOTH and exits
- Vim session B sets the variables BBB and BOTH and exits
Now the viminfo will have:
START - it was in the viminfo and wasn't changed in session A or B
AAA - value from session A, session B kept it
BBB - value from session B
BOTH - value from session B, value from session A is lost
For some items a timestamp is used to keep the last changed version. Here it
doesn't matter in which sequence Vim sessions exit, the newest item(s) are
always kept. This is used for:
- The command line history.
- The search string history.
- The input-line history.
- Contents of non-empty registers.
- The jump list
- File marks
Notes for Unix:
- The file protection for the viminfo file will be set to prevent other users
from being able to read it, because it may contain any text or commands that
@ -1535,14 +1558,14 @@ most of the information will be restored).
already set (registers, marks, |v:oldfiles|, etc.)
will be overwritten {not in Vi}
*:wv* *:wviminfo* *E137* *E138* *E574* *E886*
*:wv* *:wviminfo* *E137* *E138* *E574* *E886* *E929*
:wv[iminfo][!] [file] Write to viminfo file [file] (default: see above).
The information in the file is first read in to make
a merge between old and new info. When [!] is used,
the old information is not read first, only the
internal info is written. If 'viminfo' is empty, marks
for up to 100 files will be written.
When you get error "E138: Can't write viminfo file"
When you get error "E929: Too many viminfo temp files"
check that no old temp files were left behind (e.g.
~/.viminf*) and that you can write in the directory of
the .viminfo file.

View File

@ -2074,6 +2074,8 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
:cl quickfix.txt /*:cl*
:cla quickfix.txt /*:cla*
:clast quickfix.txt /*:clast*
:cle motion.txt /*:cle*
:clearjumps motion.txt /*:clearjumps*
:clist quickfix.txt /*:clist*
:clo windows.txt /*:clo*
:close windows.txt /*:close*
@ -3360,6 +3362,7 @@ $VIM_POSIX vi_diff.txt /*$VIM_POSIX*
<line1> map.txt /*<line1>*
<line2> map.txt /*<line2>*
<lt> intro.txt /*<lt>*
<mods> map.txt /*<mods>*
<nomodeline> autocmd.txt /*<nomodeline>*
<q-args> map.txt /*<q-args>*
<reg> map.txt /*<reg>*
@ -4451,6 +4454,7 @@ E925 quickfix.txt /*E925*
E926 quickfix.txt /*E926*
E927 eval.txt /*E927*
E928 eval.txt /*E928*
E929 starting.txt /*E929*
E93 windows.txt /*E93*
E94 windows.txt /*E94*
E95 message.txt /*E95*
@ -5244,6 +5248,7 @@ channel-callback channel.txt /*channel-callback*
channel-close channel.txt /*channel-close*
channel-commands channel.txt /*channel-commands*
channel-demo channel.txt /*channel-demo*
channel-functions usr_41.txt /*channel-functions*
channel-mode channel.txt /*channel-mode*
channel-more channel.txt /*channel-more*
channel-open channel.txt /*channel-open*
@ -6894,6 +6899,7 @@ job-control channel.txt /*job-control*
job-err_cb channel.txt /*job-err_cb*
job-err_io channel.txt /*job-err_io*
job-exit_cb channel.txt /*job-exit_cb*
job-functions usr_41.txt /*job-functions*
job-in_io channel.txt /*job-in_io*
job-options channel.txt /*job-options*
job-out_cb channel.txt /*job-out_cb*
@ -8622,6 +8628,7 @@ 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_settime() eval.txt /*test_settime()*
testing-variable eval.txt /*testing-variable*
tex-cchar syntax.txt /*tex-cchar*
tex-cole syntax.txt /*tex-cole*
@ -8652,6 +8659,7 @@ throw-from-catch eval.txt /*throw-from-catch*
throw-variables eval.txt /*throw-variables*
throwpoint-variable eval.txt /*throwpoint-variable*
time-functions usr_41.txt /*time-functions*
timer-functions usr_41.txt /*timer-functions*
timer_start() eval.txt /*timer_start()*
timer_stop() eval.txt /*timer_stop()*
timestamp editing.txt /*timestamp*

View File

@ -1,4 +1,4 @@
*todo.txt* For Vim version 7.4. Last change: 2016 Jun 04
*todo.txt* For Vim version 7.4. Last change: 2016 Jun 12
VIM REFERENCE MANUAL by Bram Moolenaar
@ -34,7 +34,22 @@ not be repeated below, unless there is extra information.
*known-bugs*
-------------------- Known bugs and current work -----------------------
Further implement 'barline' in viminfo:
- jumplist: merge with vi_jumplist.
- Use timestamp for more items: locations, marks.
- Docs: lines are copied by Vim since 7.4.1131
- Check if debug history works.
Problem with setqflist([]): grep 4 times, ":colder 3", setqflist([]) will
clear the next list, not the current one. Ramel Eshed, Jun 8.
Patch: Fix drawing background with &termguicolors #805 (Jacob Niehus)
+channel:
- GUI cursor blinking interrupted when the job output goes to a buffer that is
in a window. (Ramel Eshed, 2016 Jun 9)
- GUI cursor blinking interrupted when there is a status line. (Ramel Eshed,
2016 Jun 9)
- 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
minute. Option to set the droptime.
@ -49,6 +64,18 @@ Later
- job_start(): run job in a newly opened terminal.
With xterm could use -S{pty}.
Quickfix improvements for backgroupd building and grepping:
- Move 'efm' parsing to a separate function. If 'efm' is the same as last
time re-use the fmt_first list.
- Do not clear "dir_stack", "directory" and "file_stack", "currfile" when
using ":addexpr".
Move multiline, multiignore, multiscan outside of the function.
- Add :cbottom, if quickfix window is visible scroll to make the last line
visible. Use scroll_cursor_bot(0, FALSE);
- Add a flag/property/option to quickfix commands and functions to keep a file
name as a string and not create a buffer for it? To avoid creating lots of
buffers. (Ramel Eshed)
Regexp problems:
- Since 7.4.704 the old regex engine fails to match [[:print:]] in 0xf6.
(Manuel Ortega, 2016 Apr 24)
@ -95,12 +122,8 @@ Regexp problems:
- The pattern "\1" with the old engine gives E65, with the new engine it
matches the empty string. (Dominique Pelle, 2015 Oct 2, Nov 24)
- Search for \\~ causes error E874.
Patch to reduce number of memory allocations for quickfix lines.
(Yegappan Lakshmanan, 2016 May 22, #831)
User commands: add a <> item to pass on command modifiers, such as ":tab".
Patch by Yegappan Lakshmanan, 2016 May 22, #829.
- Search for /\%d0\+ causes error E363 in a file with consecutive NUL
characters. (Christian Brabandt, 2016 Jun 7)
jsonencode(): should convert to utf-8. (Nikolai Pavlov, 2016 Jan 23)
What if there is an invalid character?
@ -110,34 +133,11 @@ about /S and /D options (Ken Takata, 2016 Apr 13)
Cursor positioned in the wrong place when editing src/testdir/test_viml.vim.
When using "k" at the hit-enter prompt only get the hit-enter prompt, not
scrolling up. (Ramel Eshed, 2016 May 25)
Related patches: Patch 7.4.1603, Patch 7.4.1594
Patch by Hirohito Higashi, 2016 May 26.
Patch to make cursor blinking work better with GTK3. (Kazunobu Kuriyama, 2016
Apr 19) Need to check this works on Linux.
Alternative:
- add gui_restart_blink flag, set when key typed.
- in gui_mch_start_blink(): continue if possible.
- in gui_mch_stop_blink(): remember last state.
Use ADDR_OTHER instead of ADDR_LINES for many more commands.
Add tests for using number larger than number of lines in buffer.
Patch to fix escaping special characters for delete(). (tc-0, 2016 Mar 20,
#700) Test fails on MS-Windows.
Invalid behavior with NULL list. (Nikolai Pavlov, #768)
Patch to fix using CTRL-] on "{address}." in help. (Hirohito Higashi, 2016 May
18, #814)
Can we add a function to parse one line for 'errorformat'? Like ":caddexpr"
for one line.
Patch to fix greying popup menu items. (Shane Harper, 2016 May 23, #834)
&t_ut not used with 'termguicolors' is set. (Jacob Niehus, 2016 May 14, #804)
Patch to fix this, Jacob Niehus, 2016 May 14, #805)
@ -152,6 +152,11 @@ Correction for test, Ken Takata, 2016 May 27.
Problem with whitespace in errorformat. (Gerd Wachsmuth, 2016 May 15, #807)
":caddexpr" should keep state, so that directory changes can be respected.
(Luc Hermitte, 2016 Jun 6)
Don't clear dir_stack and file_stack when returning, do it on entry when not
adding iterms. And keep them in qf_list_T.
Patch to add filtering of the quickfix list. (Yegappan Lakshmanan, 2016 Mar
13, last version) Update May 22, #830.
@ -190,6 +195,9 @@ Possibly wrong value for seq_cur. (Florent Fayolle, 2016 May 15, #806)
Patch to improve map documentation. Issue #799.
Patch for restoring wide characters in the console buffer.
(Ken Takata, 2016 Jun 7)
We can use '. to go to the last change in the current buffer, but how about
the last change in any buffer? Can we use ', (, is next to .)?
@ -224,7 +232,9 @@ When doing "vi buf.md" a BufNew autocommand for *.md is not triggered.
Because of using the initial buffer? (Dun Peal, 2016 May 12)
Patch to add the :bvimgrep command. (Christian Brabandt, 2014 Nov 12)
Updated 2016 Feb 10
Updated 2016 Jun 10, #858
Add redrawtabline command. (Naruhiko Nishino, 2016 Jun 11)
Neovim patch for utfc_ptr2char_len() https://github.com/neovim/neovim/pull/4574
No test, needs some work to include.
@ -286,6 +296,9 @@ Should use /usr/local/share/applications or /usr/share/applications.
Or use $XDG_DATA_DIRS.
Also need to run update-desktop-database (Kuriyama Kazunobu, 2015 Nov 4)
Patch to add getbufinfo(), gettabinfo() and getwininfo(). (Yegappan
Lakshmanan, 2016 Apr 2016) Update Jun 8.
Access to uninitialized memory in match_backref() regexp_nda.c:4882
(Dominique Pelle, 2015 Nov 6)
@ -296,7 +309,7 @@ directory exists. (Sergio Gallelli, 2013 Dec 29)
when evaluating to non-zero. Add the "watchadd expr" command, stop when
the value of the expression changes. ":watchdel" deletes an item,
":watchlist" lists the items. (Charles Campbell)
Patch by Christian Brabandt, 2016 Feb 1.
Patch by Christian Brabandt, 2016 Jun 10, #859
If ":bd" also closes a Tab page then the " mark is not set. (Harm te Hennepe,
2016 Apr 25, #780)
@ -305,6 +318,7 @@ Patch to avoid redrawing tabline when the popup menu is visible.
(Christian Brabandt, 2016 Jan 28)
Patch to add {skip} argument to search(). (Christian Brabandt, 2016 Feb 24)
Update 2016 Jun 10, #861
Add value "smart" to 'tagcase': ignore case when tag is all lower case.
Patch from Christian Brabandt, 2016 Mar 30, #712.
@ -397,7 +411,7 @@ Use v:none. var == v:none
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 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
@ -577,7 +591,7 @@ Patch: On MS-Windows shellescape() may have to triple double quotes.
(Ingo Karkat, 2015 Jan 16)
Patch for variable tabstops. On github (Christian Brabandt, 2014 May 15)
Update 2016 Jan 31 (email).
Update 2016 Jun 10, # 857
Redo only remembers the last change. Could use "{count}g." to redo an older
change. How does the user know which change? At least have a way to list
@ -828,9 +842,6 @@ May 17: with winlist() and tabpagelist().
May 19: with local variables.
May 28: with options
Patch to add getbufinfo(), gettabinfo() and getwininfo(). (Yegappan
Lakshmanan, 2016 Apr 2016)
Patch to support 'u' in interactive substitute. (Christian Brabandt, 2012 Sep
28) With tests: Oct 9.
@ -1316,12 +1327,6 @@ Gui menu edit/paste in block mode insert only inserts in one line (Bjorn
Winckler, 2011 May 11)
Requires a map mode for Insert mode started from blockwise Visual mode.
Use json format for new items in .viminfo:
|["info","any info"]
|["text","text text text"
|"continuation line"]
|["hist",242342342,{"arg":"value"}]
Writing nested List and Dict in viminfo gives error message and can't be read
back. (Yukihiro Nakadaira, 2010 Nov 13)

View File

@ -1,4 +1,4 @@
*usr_41.txt* For Vim version 7.4. Last change: 2016 Jun 04
*usr_41.txt* For Vim version 7.4. Last change: 2016 Jun 11
VIM USER MANUAL - by Bram Moolenaar
@ -602,7 +602,9 @@ String manipulation: *string-functions*
strdisplaywidth() size of string when displayed, deals with tabs
substitute() substitute a pattern match with a string
submatch() get a specific match in ":s" and substitute()
strpart() get part of a string
strpart() get part of a string using byte index
strcharpart() get part of a string using char index
strgetchar() get character from a string using char index
expand() expand special keywords
iconv() convert text from one encoding to another
byteidx() byte index of a character in a string
@ -678,6 +680,7 @@ Floating point computation: *float-functions*
sinh() hyperbolic sine
cosh() hyperbolic cosine
tanh() hyperbolic tangent
isnan() check for not a number
Other computation: *bitwise-function*
and() bitwise AND
@ -732,11 +735,14 @@ Working with text in the current buffer: *text-functions*
searchpair() find the other end of a start/skip/end
searchpairpos() find the other end of a start/skip/end
searchdecl() search for the declaration of a name
getcharsearch() return character search information
setcharsearch() set character search information
*system-functions* *file-functions*
System functions and manipulation of files:
glob() expand wildcards
globpath() expand wildcards in a number of directories
glob2regpat() convert a glob pattern into a search pattern
findfile() find a file in a list of directories
finddir() find a directory in a list of directories
resolve() find out where a shortcut points to
@ -748,6 +754,7 @@ System functions and manipulation of files:
filereadable() check if a file can be read
filewritable() check if a file can be written to
getfperm() get the permissions of a file
setfperm() set the permissions of a file
getftype() get the kind of a file
isdirectory() check if a directory exists
getfsize() get the size of a file
@ -790,6 +797,11 @@ Buffers, windows and the argument list:
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
win_findbuf() find windows containing a buffer
win_getid() get window ID of a window
win_gotoid() go to window with ID
win_id2tabwin() get tab and window nr from window ID
win_id2win() get window nr from window ID
Command line: *command-line-functions*
getcmdline() get the current command line
@ -900,14 +912,48 @@ Testing: *test-functions*
assert_true() assert that an expression is true
assert_exception() assert that a command throws an exception
assert_fails() assert that a function call fails
test_alloc_fail() make memory allocation fail
test_disable_char_avail() test without typeahead
test_garbagecollect_now() free memory right now
test_null_channel() return a null Channel
test_null_dict() return a null Dict
test_null_job() return a null Job
test_null_list() return a null List
test_null_partial() return a null Partial function
test_null_string() return a null String
Inter-process communication:
Inter-process communication: *channel-functions*
ch_open() open a channel
ch_close() close a channel
ch_read() read a message 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
ch_evalexpr() evaluates an expression over channel
ch_evalraw() evaluates a raw string over channel
ch_status() get status of a channel
ch_getbufnr() get the buffer number of a channel
ch_getjob() get the job associated with a channel
ch_info() get channel information
ch_log() write a message in the channel log file
ch_logfile() set the channel log file
ch_setoptions() set the options for a channel
jsonencode() encode an expression to a JSON string
jsondecode() decode a JSON string to Vim types
js_encode() encode an expression to a JSON string
js_decode() decode a JSON string to Vim types
Jobs: *job-functions*
job_start() start a job
job_stop() stop a job
job_status() get the status of a job
job_getchannel() get the channel used by a job
job_info() get information about a job
job_setoptions() set options for a job
Timers: *timer-functions*
timer_start() create a timer
timer_stop() stop a timer
Various: *various-functions*
mode() get current editing mode
@ -1408,9 +1454,9 @@ Now we can instantiate a Dutch translation object: >
And a German translator: >
:let uk2de = copy(transdict)
:let uk2de.words = {'one': 'ein', 'two': 'zwei', 'three': 'drei'}
:let uk2de.words = {'one': 'eins', 'two': 'zwei', 'three': 'drei'}
:echo uk2de.translate('three one')
< drei ein ~
< drei eins ~
You see that the copy() function is used to make a copy of the "transdict"
Dictionary and then the copy is changed to add the words. The original

View File

@ -1,4 +1,4 @@
*windows.txt* For Vim version 7.4. Last change: 2016 Feb 01
*windows.txt* For Vim version 7.4. Last change: 2016 Jun 10
VIM REFERENCE MANUAL by Bram Moolenaar
@ -76,6 +76,16 @@ places where a Normal mode command can't be used or is inconvenient.
The main Vim window can hold several split windows. There are also tab pages
|tab-page|, each of which can hold multiple windows.
Each window has a unique identifier called the window ID. This identifier
will not change within a Vim session. The |win_getid()| and |win_id2tabwin()|
functions can be used to convert between the window/tab number and the
identifier. There is also the window number, which may change whenever
windows are opened or closed, see |winnr()|.
Each buffer has a unique number and the number will not change within a Vim
session. The |bufnr()| and |bufname()| functions can be used to convert
between a buffer name and the buffer number.
==============================================================================
2. Starting Vim *windows-starting*

View File

@ -1,7 +1,7 @@
" Vim filetype plugin file
" Language: C
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Jul 10
" Last Change: 2016 Jun 12
" Only do this when not done yet for this buffer
if exists("b:did_ftplugin")
@ -37,7 +37,7 @@ endif
" When the matchit plugin is loaded, this makes the % command skip parens and
" braces in comments.
let b:match_words = &matchpairs . ',^\s*#\s*if\(\|def\|ndef\)\>:^\s*#\s*elif\>:^\s*#\s*else\>:^\s*#\s*endif\>'
let b:match_skip = 's:comment\|string\|character'
let b:match_skip = 's:comment\|string\|character\|special'
" Win32 can filter files in the browse dialog
if (has("gui_win32") || has("gui_gtk")) && !exists("b:browsefilter")

View File

@ -1,8 +1,9 @@
" Vim filetype plugin file
" Language: python
" Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: 2014 Feb 09
" Last Change By Johannes: Wed, 21 Apr 2004 13:13:08 CEST
" Maintainer: James Sully <sullyj3@gmail.com>
" Previous Maintainer: Johannes Zellner <johannes@zellner.org>
" Last Change: Fri, 10 June 2016
" https://github.com/sullyj3/vim-ftplugin-python
if exists("b:did_ftplugin") | finish | endif
let b:did_ftplugin = 1
@ -21,10 +22,10 @@ setlocal omnifunc=pythoncomplete#Complete
set wildignore+=*.pyc
nnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)')<cr>
nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)')<cr>
nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)')<cr>
nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)')<cr>
nnoremap <silent> <buffer> ]] :call <SID>Python_jump('/^\(class\\|def\)\>')<cr>
nnoremap <silent> <buffer> [[ :call <SID>Python_jump('?^\(class\\|def\)\>')<cr>
nnoremap <silent> <buffer> ]m :call <SID>Python_jump('/^\s*\(class\\|def\)\>')<cr>
nnoremap <silent> <buffer> [m :call <SID>Python_jump('?^\s*\(class\\|def\)\>')<cr>
if !exists('*<SID>Python_jump')
fun! <SID>Python_jump(motion) range

View File

@ -1,7 +1,7 @@
" Vim syntax file
" Language: Vim .viminfo file
" Maintainer: Bram Moolenaar <Bram@vim.org>
" Last Change: 2012 Feb 03
" Last Change: 2016 Jun 05
" Quit when a (custom) syntax file was already loaded
if exists("b:current_syntax")
@ -30,11 +30,15 @@ syn match viminfoOptionName "\*\a*"ms=s+1 contained
" Comments
syn match viminfoComment "^#.*"
" New style lines. TODO: highlight numbers and strings.
syn match viminfoNew "^|.*"
" Define the default highlighting.
" Only used when an item doesn't have highlighting yet
hi def link viminfoComment Comment
hi def link viminfoError Error
hi def link viminfoStatement Statement
hi def link viminfoNew String
let b:current_syntax = "viminfo"

View File

@ -6,9 +6,10 @@
*/
#include <stdio.h>
#include <unistd.h>
int
main()
main(void)
{
while (1)
{