summaryrefslogtreecommitdiffstats
path: root/runtime
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2016-08-27 21:25:44 +0200
committerBram Moolenaar <Bram@vim.org>2016-08-27 21:25:44 +0200
commit3056735ae8a366aa7fcb51872520895251858637 (patch)
tree329de3dbeea7c06972c0ea41929b636f9ef47540 /runtime
parent9f8187c335b4fb07be9095dfdd0fc52670ba3c3f (diff)
patch 7.4.2273v7.4.2273
Problem: getwininfo() and getbufinfo() are inefficient. Solution: Do not make a copy of all window/buffer-local options. Make it possible to get them with gettabwinvar() or getbufvar().
Diffstat (limited to 'runtime')
-rw-r--r--runtime/doc/eval.txt47
1 files changed, 36 insertions, 11 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 1da05fbd6c..fcf4929f90 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.4. Last change: 2016 Aug 21
+*eval.txt* For Vim version 7.4. Last change: 2016 Aug 27
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -4014,26 +4014,31 @@ getbufinfo([{dict}])
lnum current line number in buffer.
loaded TRUE if the buffer is loaded.
name full path to the file in the buffer.
- options dictionary of buffer local options.
signs list of signs placed in the buffer.
Each list item is a dictionary with
the following fields:
id sign identifier
lnum line number
name sign name
- variables dictionary of buffer local variables.
- windows list of |window-ID|s with this buffer
+ variables a reference to the dictionary with
+ buffer-local variables.
+ windows list of |window-ID|s that display this
+ buffer
Examples: >
for buf in getbufinfo()
echo buf.name
endfor
for buf in getbufinfo({'buflisted':1})
- if buf.options.filetype == 'java'
+ if buf.changed
....
endif
endfor
<
+ To get buffer-local options use: >
+ getbufvar({bufnr}, '&')
+
+<
*getbufline()*
getbufline({expr}, {lnum} [, {end}])
Return a |List| with the lines starting from {lnum} to {end}
@@ -4065,6 +4070,10 @@ getbufvar({expr}, {varname} [, {def}]) *getbufvar()*
must be used.
When {varname} is empty returns a dictionary with all the
buffer-local variables.
+ When {varname} is equal to "&" returns a dictionary with all
+ the buffer-local options.
+ Otherwise, when {varname} starts with "&" returns the value of
+ a buffer-local option.
This also works for a global or buffer-local option, but it
doesn't work for a global variable, window-local variable or
window-local option.
@@ -4532,7 +4541,8 @@ gettabinfo([{arg}]) *gettabinfo()*
Each List item is a Dictionary with the following entries:
tabnr tab page number.
- variables dictionary of tabpage local variables.
+ 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()*
@@ -4548,10 +4558,12 @@ gettabvar({tabnr}, {varname} [, {def}]) *gettabvar()*
gettabwinvar({tabnr}, {winnr}, {varname} [, {def}]) *gettabwinvar()*
Get the value of window-local variable {varname} in window
{winnr} in tab page {tabnr}.
- When {varname} starts with "&" get the value of a window-local
- option.
When {varname} is empty a dictionary with all window-local
variables is returned.
+ When {varname} is equal to "&" get the values of all
+ window-local options in a Dictionary.
+ Otherwise, when {varname} starts with "&" get the value of a
+ window-local option.
Note that {varname} must be the name without "w:".
Tabs are numbered starting with one. For the current tabpage
use |getwinvar()|.
@@ -4591,15 +4603,18 @@ getwininfo([{winid}]) *getwininfo()*
height window height
loclist 1 if showing a location list
{only with the +quickfix feature}
- options dictionary of window local options
quickfix 1 if quickfix or location list window
{only with the +quickfix feature}
tabnr tab page number
- variables dictionary of window local variables
+ variables a reference to the dictionary with
+ window-local variables
width window width
winid |window-ID|
winnr window number
+ To obtain all window-local variables use: >
+ gettabwinvar({tabnr}, {winnr}, '&')
+
getwinvar({winnr}, {varname} [, {def}]) *getwinvar()*
Like |gettabwinvar()| for the current tabpage.
Examples: >
@@ -5987,6 +6002,16 @@ printf({fmt}, {expr1} ...) *printf()*
cause truncation of a numeric field; if the result of
a conversion is wider than the field width, the field
is expanded to contain the conversion result.
+ The 'h' modifier indicates the argument is 16 bits.
+ The 'l' modifier indicates the argument is 32 bits.
+ The 'L' modifier indicates the argument is 64 bits.
+ Generally, these modifiers are not useful. They are
+ ignored when type is known from the argument.
+
+ i alias for d
+ D alias for ld
+ U alias for lu
+ O alias for lo
*printf-c*
c The Number argument is converted to a byte, and the
@@ -6006,7 +6031,7 @@ printf({fmt}, {expr1} ...) *printf()*
feature works just like 's'.
*printf-f* *E807*
- f The Float argument is converted into a string of the
+ f F The Float argument is converted into a string of the
form 123.456. The precision specifies the number of
digits after the decimal point. When the precision is
zero the decimal point is omitted. When the precision