diff options
author | Bram Moolenaar <Bram@vim.org> | 2016-08-27 21:25:44 +0200 |
---|---|---|
committer | Bram Moolenaar <Bram@vim.org> | 2016-08-27 21:25:44 +0200 |
commit | 3056735ae8a366aa7fcb51872520895251858637 (patch) | |
tree | 329de3dbeea7c06972c0ea41929b636f9ef47540 /runtime | |
parent | 9f8187c335b4fb07be9095dfdd0fc52670ba3c3f (diff) | |
download | vim-git-3056735ae8a366aa7fcb51872520895251858637.tar.gz |
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.txt | 47 |
1 files changed, 36 insertions, 11 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt index 1da05fbd6..fcf4929f9 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 |