aboutsummaryrefslogtreecommitdiff
path: root/runtime/doc/eval.txt
diff options
context:
space:
mode:
Diffstat (limited to 'runtime/doc/eval.txt')
-rw-r--r--runtime/doc/eval.txt42
1 files changed, 30 insertions, 12 deletions
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index a9474b58a3..ae62498d35 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -4327,17 +4327,25 @@ getqflist([{what}]) *getqflist()*
If the optional {what} dictionary argument is supplied, then
returns only the items listed in {what} as a dictionary. The
following string items are supported in {what}:
+ context get the context stored with |setqflist()|
+ items quickfix list entries
nr get information for this quickfix list; zero
- means the current quickfix list
+ means the current quickfix list and '$' means
+ the last quickfix list
title get the list title
winid get the |window-ID| (if opened)
all all of the above quickfix properties
Non-string items in {what} are ignored.
If "nr" is not present then the current quickfix list is used.
+ To get the number of lists in the quickfix stack, set 'nr' to
+ '$' in {what}. The 'nr' value in the returned dictionary
+ contains the quickfix stack size.
In case of error processing {what}, an empty dictionary is
returned.
The returned dictionary contains the following entries:
+ context context information stored with |setqflist()|
+ items quickfix list entries
nr quickfix list number
title quickfix list title text
winid quickfix |window-ID| (if opened)
@@ -6885,7 +6893,12 @@ setqflist({list} [, {action}[, {what}]]) *setqflist()*
only the items listed in {what} are set. The first {list}
argument is ignored. The following items can be specified in
{what}:
- nr list number in the quickfix stack
+ context any Vim type can be stored as a context
+ items list of quickfix entries. Same as the {list}
+ argument.
+ nr list number in the quickfix stack; zero
+ means the current quickfix list and '$' means
+ the last quickfix list
title quickfix list title text
Unsupported keys in {what} are ignored.
If the "nr" item is not present, then the current quickfix list
@@ -6990,18 +7003,22 @@ shellescape({string} [, {special}]) *shellescape()*
quotes within {string}.
Otherwise, it will enclose {string} in single quotes and
replace all "'" with "'\''".
+
When the {special} argument is present and it's a non-zero
Number or a non-empty String (|non-zero-arg|), then special
items such as "!", "%", "#" and "<cword>" will be preceded by
a backslash. This backslash will be removed again by the |:!|
command.
+
The "!" character will be escaped (again with a |non-zero-arg|
{special}) when 'shell' contains "csh" in the tail. That is
because for csh and tcsh "!" is used for history replacement
even when inside single quotes.
- The <NL> character is also escaped. With a |non-zero-arg|
- {special} and 'shell' containing "csh" in the tail it's
+
+ With a |non-zero-arg| {special} the <NL> character is also
+ escaped. When 'shell' containing "csh" in the tail it's
escaped a second time.
+
Example of use with a |:!| command: >
:exe '!dir ' . shellescape(expand('<cfile>'), 1)
< This results in a directory listing for the file under the
@@ -10508,18 +10525,19 @@ missing: >
To execute a command only when the |+eval| feature is disabled requires a trick,
as this example shows: >
- if 1
- nnoremap : :"
- endif
- normal :set history=111<CR>
- if 1
- nunmap :
- endif
+
+ silent! while 0
+ set history=111
+ silent! endwhile
+
+When the |+eval| feature is available the command is skipped because of the
+"while 0". Without the |+eval| feature the "while 0" is an error, which is
+silently ignored, and the command is executed.
The "<CR>" here is a real CR character, type CTRL-V Enter to get it.
When the |+eval| feature is available the ":" is remapped to add a double
-quote, which has the effect of commenting-out the command. without the
+quote, which has the effect of commenting-out the command. Without the
|+eval| feature the nnoremap command is skipped and the command is executed.
==============================================================================