summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2021-12-27 21:28:34 +0000
committerBram Moolenaar <Bram@vim.org>2021-12-27 21:28:34 +0000
commit1cae5a0a034d0545360387407a7a409310f1efe2 (patch)
tree0a4b7b3539db3b8ca92acb47e8e10953130a1f2b
parent8dac2acd6a79d571ff5409d9c90b4c9e73237eb4 (diff)
patch 8.2.3917: the eval.txt help file is way too bigv8.2.3917
Problem: The eval.txt help file is way too big. Solution: Move the builtin function details to a separate file.
-rw-r--r--runtime/doc/Makefile2
-rw-r--r--runtime/doc/builtin.txt10125
-rw-r--r--runtime/doc/eval.txt10097
-rw-r--r--runtime/doc/help.txt1
-rw-r--r--runtime/doc/remote.txt2
-rw-r--r--src/version.c2
6 files changed, 10137 insertions, 10092 deletions
diff --git a/runtime/doc/Makefile b/runtime/doc/Makefile
index e0c0f841e8..de986a6219 100644
--- a/runtime/doc/Makefile
+++ b/runtime/doc/Makefile
@@ -16,6 +16,7 @@ include ../../src/auto/config.mk
DOCS = \
arabic.txt \
autocmd.txt \
+ builtin.txt \
change.txt \
channel.txt \
cmdline.txt \
@@ -161,6 +162,7 @@ DOCS = \
HTMLS = \
arabic.html \
autocmd.html \
+ builtin.html \
change.html \
channel.html \
cmdline.html \
diff --git a/runtime/doc/builtin.txt b/runtime/doc/builtin.txt
new file mode 100644
index 0000000000..8855dd0a35
--- /dev/null
+++ b/runtime/doc/builtin.txt
@@ -0,0 +1,10125 @@
+*builtin.txt* For Vim version 8.2. Last change: 2021 Dec 27
+
+
+ VIM REFERENCE MANUAL by Bram Moolenaar
+
+
+Builtin functions *builtin-functions*
+
+Note: Expression evaluation can be disabled at compile time. If this has been
+done, the builtin functions are not available. See |+eval| and
+|no-eval-feature|.
+
+1. Overview |builtin-function-list|
+2. Details |builtin-function-details|
+3. Feature list |feature-list|
+4. Matching a pattern in a String |string-match|
+
+==============================================================================
+1. Overview *builtin-function-list*
+
+Use CTRL-] on the function name to jump to the full explanation.
+
+USAGE RESULT DESCRIPTION ~
+
+abs({expr}) Float or Number absolute value of {expr}
+acos({expr}) Float arc cosine of {expr}
+add({object}, {item}) List/Blob append {item} to {object}
+and({expr}, {expr}) Number bitwise AND
+append({lnum}, {text}) Number append {text} below line {lnum}
+appendbufline({expr}, {lnum}, {text})
+ Number append {text} below line {lnum}
+ in buffer {expr}
+argc([{winid}]) Number number of files in the argument list
+argidx() Number current index in the argument list
+arglistid([{winnr} [, {tabnr}]]) Number argument list id
+argv({nr} [, {winid}]) String {nr} entry of the argument list
+argv([-1, {winid}]) List the argument list
+asin({expr}) Float arc sine of {expr}
+assert_beeps({cmd}) Number assert {cmd} causes a beep
+assert_equal({exp}, {act} [, {msg}])
+ Number assert {exp} is equal to {act}
+assert_equalfile({fname-one}, {fname-two} [, {msg}])
+ Number assert file contents are equal
+assert_exception({error} [, {msg}])
+ Number assert {error} is in v:exception
+assert_fails({cmd} [, {error} [, {msg} [, {lnum} [, {context}]]]])
+ Number assert {cmd} fails
+assert_false({actual} [, {msg}])
+ Number assert {actual} is false
+assert_inrange({lower}, {upper}, {actual} [, {msg}])
+ Number assert {actual} is inside the range
+assert_match({pat}, {text} [, {msg}])
+ Number assert {pat} matches {text}
+assert_nobeep({cmd}) Number assert {cmd} does not cause a beep
+assert_notequal({exp}, {act} [, {msg}])
+ Number assert {exp} is not equal {act}
+assert_notmatch({pat}, {text} [, {msg}])
+ Number assert {pat} not matches {text}
+assert_report({msg}) Number report a test failure
+assert_true({actual} [, {msg}]) Number assert {actual} is true
+atan({expr}) Float arc tangent of {expr}
+atan2({expr1}, {expr2}) Float arc tangent of {expr1} / {expr2}
+balloon_gettext() String current text in the balloon
+balloon_show({expr}) none show {expr} inside the balloon
+balloon_split({msg}) List split {msg} as used for a balloon
+blob2list({blob}) List convert {blob} into a list of numbers
+browse({save}, {title}, {initdir}, {default})
+ String put up a file requester
+browsedir({title}, {initdir}) String put up a directory requester
+bufadd({name}) Number add a buffer to the buffer list
+bufexists({buf}) Number |TRUE| if buffer {buf} exists
+buflisted({buf}) Number |TRUE| if buffer {buf} is listed
+bufload({buf}) Number load buffer {buf} if not loaded yet
+bufloaded({buf}) Number |TRUE| if buffer {buf} is loaded
+bufname([{buf}]) String Name of the buffer {buf}
+bufnr([{buf} [, {create}]]) Number Number of the buffer {buf}
+bufwinid({buf}) Number window ID of buffer {buf}
+bufwinnr({buf}) Number window number of buffer {buf}
+byte2line({byte}) Number line number at byte count {byte}
+byteidx({expr}, {nr}) Number byte index of {nr}'th char in {expr}
+byteidxcomp({expr}, {nr}) Number byte index of {nr}'th char in {expr}
+call({func}, {arglist} [, {dict}])
+ any call {func} with arguments {arglist}
+ceil({expr}) Float round {expr} up
+ch_canread({handle}) Number check if there is something to read
+ch_close({handle}) none close {handle}
+ch_close_in({handle}) none close in part of {handle}
+ch_evalexpr({handle}, {expr} [, {options}])
+ any evaluate {expr} on JSON {handle}
+ch_evalraw({handle}, {string} [, {options}])
+ any evaluate {string} on raw {handle}
+ch_getbufnr({handle}, {what}) Number get buffer number for {handle}/{what}
+ch_getjob({channel}) Job get the Job of {channel}
+ch_info({handle}) String info about channel {handle}
+ch_log({msg} [, {handle}]) none write {msg} in the channel log file
+ch_logfile({fname} [, {mode}]) none start logging channel activity
+ch_open({address} [, {options}])
+ Channel open a channel to {address}
+ch_read({handle} [, {options}]) String read from {handle}
+ch_readblob({handle} [, {options}])
+ Blob read Blob from {handle}
+ch_readraw({handle} [, {options}])
+ String read raw from {handle}
+ch_sendexpr({handle}, {expr} [, {options}])
+ any send {expr} over JSON {handle}
+ch_sendraw({handle}, {expr} [, {options}])
+ any send {expr} over raw {handle}
+ch_setoptions({handle}, {options})
+ none set options for {handle}
+ch_status({handle} [, {options}])
+ String status of channel {handle}
+changenr() Number current change number
+char2nr({expr} [, {utf8}]) Number ASCII/UTF-8 value of first char in {expr}
+charclass({string}) Number character class of {string}
+charcol({expr}) Number column number of cursor or mark
+charidx({string}, {idx} [, {countcc}])
+ Number char index of byte {idx} in {string}
+chdir({dir}) String change current working directory
+cindent({lnum}) Number C indent for line {lnum}
+clearmatches([{win}]) none clear all matches
+col({expr}) Number column byte index of cursor or mark
+complete({startcol}, {matches}) none set Insert mode completion
+complete_add({expr}) Number add completion match
+complete_check() Number check for key typed during completion
+complete_info([{what}]) Dict get current completion information
+confirm({msg} [, {choices} [, {default} [, {type}]]])
+ Number number of choice picked by user
+copy({expr}) any make a shallow copy of {expr}
+cos({expr}) Float cosine of {expr}
+cosh({expr}) Float hyperbolic cosine of {expr}
+count({comp}, {expr} [, {ic} [, {start}]])
+ Number count how many {expr} are in {comp}
+cscope_connection([{num}, {dbpath} [, {prepend}]])
+ Number checks existence of cscope connection
+cursor({lnum}, {col} [, {off}])
+ Number move cursor to {lnum}, {col}, {off}
+cursor({list}) Number move cursor to position in {list}
+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({buf}, {first} [, {last}])
+ Number delete lines from buffer {buf}
+did_filetype() Number |TRUE| if FileType autocmd event used
+diff_filler({lnum}) Number diff filler lines about {lnum}
+diff_hlID({lnum}, {col}) Number diff highlighting at {lnum}/{col}
+digraph_get({chars}) String get the |digraph| of {chars}
+digraph_getlist([{listall}]) List get all |digraph|s
+digraph_set({chars}, {digraph}) Boolean register |digraph|
+digraph_setlist({digraphlist}) Boolean register multiple |digraph|s
+echoraw({expr}) none output {expr} as-is
+empty({expr}) Number |TRUE| if {expr} is empty
+environ() Dict return environment variables
+escape({string}, {chars}) String escape {chars} in {string} with '\'
+eval({string}) any evaluate {string} into its value
+eventhandler() Number |TRUE| if inside an event handler
+executable({expr}) Number 1 if executable {expr} exists
+execute({command}) String execute {command} and get the output
+exepath({expr}) String full path of the command {expr}
+exists({expr}) Number |TRUE| if {expr} exists
+exists_compiled({expr}) Number |TRUE| if {expr} exists at compile time
+exp({expr}) Float exponential of {expr}
+expand({expr} [, {nosuf} [, {list}]])
+ any expand special keywords in {expr}
+expandcmd({expr}) String expand {expr} like with `:edit`
+extend({expr1}, {expr2} [, {expr3}])
+ List/Dict insert items of {expr2} into {expr1}
+extendnew({expr1}, {expr2} [, {expr3}])
+ List/Dict like |extend()| but creates a new
+ List or Dictionary
+feedkeys({string} [, {mode}]) Number add key sequence to typeahead buffer
+filereadable({file}) Number |TRUE| if {file} is a readable file
+filewritable({file}) Number |TRUE| if {file} is a writable file
+filter({expr1}, {expr2}) List/Dict/Blob/String
+ remove items from {expr1} where
+ {expr2} is 0
+finddir({name} [, {path} [, {count}]])
+ String find directory {name} in {path}
+findfile({name} [, {path} [, {count}]])
+ String find file {name} in {path}
+flatten({list} [, {maxdepth}]) List flatten {list} up to {maxdepth} levels
+flattennew({list} [, {maxdepth}])
+ List flatten a copy of {list}
+float2nr({expr}) Number convert Float {expr} to a Number
+floor({expr}) Float round {expr} down
+fmod({expr1}, {expr2}) Float remainder of {expr1} / {expr2}
+fnameescape({fname}) String escape special characters in {fname}
+fnamemodify({fname}, {mods}) String modify file name
+foldclosed({lnum}) Number first line of fold at {lnum} if closed
+foldclosedend({lnum}) Number last line of fold at {lnum} if closed
+foldlevel({lnum}) Number fold level at {lnum}
+foldtext() String line displayed for closed fold
+foldtextresult({lnum}) String text for closed fold at {lnum}
+foreground() Number bring the Vim window to the foreground
+fullcommand({name}) String get full command from {name}
+funcref({name} [, {arglist}] [, {dict}])
+ Funcref reference to function {name}
+function({name} [, {arglist}] [, {dict}])
+ Funcref named reference to function {name}
+garbagecollect([{atexit}]) none free memory, breaking cyclic references
+get({list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
+get({dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
+get({func}, {what}) any get property of funcref/partial {func}
+getbufinfo([{buf}]) List information about buffers
+getbufline({buf}, {lnum} [, {end}])
+ List lines {lnum} to {end} of buffer {buf}
+getbufvar({buf}, {varname} [, {def}])
+ any variable {varname} in buffer {buf}
+getchangelist([{buf}]) List list of change list items
+getchar([expr]) Number or String
+ get one character from the user
+getcharmod() Number modifiers for the last typed character
+getcharpos({expr}) List position of cursor, mark, etc.
+getcharsearch() Dict last character search
+getcharstr([expr]) String get one character from the user
+getcmdline() String return the current command-line
+getcmdpos() Number return cursor position in command-line
+getcmdtype() String return current command-line type
+getcmdwintype() String return current command-line window type
+getcompletion({pat}, {type} [, {filtered}])
+ List list of cmdline completion matches
+getcurpos([{winnr}]) List position of the cursor
+getcursorcharpos([{winnr}]) List character position of the cursor
+getcwd([{winnr} [, {tabnr}]]) String get the current working directory
+getenv({name}) String return environment variable
+getfontname([{name}]) String name of font being used
+getfperm({fname}) String file permissions of file {fname}
+getfsize({fname}) Number size in bytes of file {fname}
+getftime({fname}) Number last modification time of file
+getftype({fname}) String description of type of file {fname}
+getimstatus() Number |TRUE| if the IME status is active
+getjumplist([{winnr} [, {tabnr}]])
+ List list of jump list items
+getline({lnum}) String line {lnum} of current buffer
+getline({lnum}, {end}) List lines {lnum} to {end} of current buffer
+getloclist({nr}) List list of location list items
+getloclist({nr}, {what}) Dict get specific location list properties
+getmarklist([{buf}]) List list of global/local marks
+getmatches([{win}]) List list of current matches
+getmousepos() Dict last known mouse position
+getpid() Number process ID of Vim
+getpos({expr}) List position of cursor, mark, etc.
+getqflist() List list of quickfix items
+getqflist({what}) Dict get specific quickfix list properties
+getreg([{regname} [, 1 [, {list}]]])
+ String or List contents of a register
+getreginfo([{regname}]) Dict information about a register
+getregtype([{regname}]) String type of a register
+gettabinfo([{expr}]) List list of tab pages
+gettabvar({nr}, {varname} [, {def}])
+ any variable {varname} in tab {nr} or {def}
+gettabwinvar({tabnr}, {winnr}, {name} [, {def}])
+ any {name} in {winnr} in tab page {tabnr}
+gettagstack([{nr}]) Dict get the tag stack of window {nr}
+gettext({text}) String lookup translation of {text}
+getwininfo([{winid}]) List list of info about each window
+getwinpos([{timeout}]) List X and Y coord in pixels of the Vim window
+getwinposx() Number X coord in pixels of the Vim window
+getwinposy() Number Y coord in pixels of the Vim window
+getwinvar({nr}, {varname} [, {def}])
+ any variable {varname} in window {nr}
+glob({expr} [, {nosuf} [, {list} [, {alllinks}]]])
+ any expand file wildcards in {expr}
+glob2regpat({expr}) String convert a glob pat into a search pat
+globpath({path}, {expr} [, {nosuf} [, {list} [, {alllinks}]]])
+ String do glob({expr}) for all dirs in {path}
+has({feature} [, {check}]) Number |TRUE| if feature {feature} supported
+has_key({dict}, {key}) Number |TRUE| if {dict} has entry {key}
+haslocaldir([{winnr} [, {tabnr}]])
+ Number |TRUE| if the window executed |:lcd|
+ or |:tcd|
+hasmapto({what} [, {mode} [, {abbr}]])
+ Number |TRUE| if mapping to {what} exists
+histadd({history}, {item}) Number add an item to a history
+histdel({history} [, {item}]) Number remove an item from a history
+histget({history} [, {index}]) String get the item {index} from a history
+histnr({history}) Number highest index of a history
+hlID({name}) Number syntax ID of highlight group {name}
+hlexists({name}) Number |TRUE| if highlight group {name} exists
+hlget([{name} [, {resolve}]]) List get highlight group attributes
+hlset({list}) Number set highlight group attributes
+hostname() String name of the machine Vim is running on
+iconv({expr}, {from}, {to}) String convert encoding of {expr}
+indent({lnum}) Number indent of line {lnum}
+index({object}, {expr} [, {start} [, {ic}]])
+ Number index in {object} where {expr} appears
+input({prompt} [, {text} [, {completion}]])
+ String get input from the user
+inputdialog({prompt} [, {text} [, {completion}]])
+ String like input() but in a GUI dialog
+inputlist({textlist}) Number let the user pick from a choice list
+inputrestore() Number restore typeahead
+inputsave() Number save and clear typeahead
+inputsecret({prompt} [, {text}]) String like input() but hiding the text
+insert({object}, {item} [, {idx}]) List insert {item} in {object} [before {idx}]
+interrupt() none interrupt script execution
+invert({expr}) Number bitwise invert
+isdirectory({directory}) Number |TRUE| if {directory} is a directory
+isinf({expr}) Number determine if {expr} is infinity value
+ (positive or negative)
+islocked({expr}) Number |TRUE| if {expr} is locked
+isnan({expr}) Number |TRUE| if {expr} is NaN
+items({dict}) List key-value pairs in {dict}
+job_getchannel({job}) Channel get the channel handle for {job}
+job_info([{job}]) Dict get information about {job}
+job_setoptions({job}, {options}) none set options for {job}
+job_start({command} [, {options}])
+ Job start a job
+job_status({job}) String get the status of {job}
+job_stop({job} [, {how}]) Number stop {job}
+join({list} [, {sep}]) String join {list} items into one String
+js_decode({string}) any decode JS style JSON
+js_encode({expr}) String encode JS style JSON
+json_decode({string}) any decode JSON
+json_encode({expr}) String encode JSON
+keys({dict}) List keys in {dict}
+len({expr}) Number the length of {expr}
+libcall({lib}, {func}, {arg}) String call {func} in library {lib} with {arg}
+libcallnr({lib}, {func}, {arg}) Number idem, but return a Number
+line({expr} [, {winid}]) Number line nr of cursor, last line or mark
+line2byte({lnum}) Number byte count of line {lnum}
+lispindent({lnum}) Number Lisp indent for line {lnum}
+list2blob({list}) Blob turn {list} of numbers into a Blob
+list2str({list} [, {utf8}]) String turn {list} of numbers into a String
+listener_add({callback} [, {buf}])
+ Number add a callback to listen to changes
+listener_flush([{buf}]) none invoke listener callbacks
+listener_remove({id}) none remove a listener callback
+localtime() Number current time
+log({expr}) Float natural logarithm (base e) of {expr}
+log10({expr}) Float logarithm of Float {expr} to base 10
+luaeval({expr} [, {expr}]) any evaluate |Lua| expression
+map({expr1}, {expr2}) List/Dict/Blob/String
+ change each item in {expr1} to {expr2}
+maparg({name} [, {mode} [, {abbr} [, {dict}]]])
+ String or Dict
+ rhs of mapping {name} in mode {mode}
+mapcheck({name} [, {mode} [, {abbr}]])
+ String check for mappings matching {name}
+mapnew({expr1}, {expr2}) List/Dict/Blob/String
+ like |map()| but creates a new List or
+ Dictionary
+mapset({mode}, {abbr}, {dict}) none restore mapping from |maparg()| result
+match({expr}, {pat} [, {start} [, {count}]])
+ Number position where {pat} matches in {expr}
+matchadd({group}, {pattern} [, {priority} [, {id} [, {dict}]]])
+ Number highlight {pattern} with {group}
+matchaddpos({group}, {pos} [, {priority} [, {id} [, {dict}]]])
+ Number highlight positions with {group}
+matcharg({nr}) List arguments of |:match|
+matchdelete({id} [, {win}]) Number delete match identified by {id}
+matchend({expr}, {pat} [, {start} [, {count}]])
+ Number position where {pat} ends in {expr}
+matchfuzzy({list}, {str} [, {dict}])
+ List fuzzy match {str} in {list}
+matchfuzzypos({list}, {str} [, {dict}])
+ List fuzzy match {str} in {list}
+matchlist({expr}, {pat} [, {start} [, {count}]])
+ List match and submatches of {pat} in {expr}
+matchstr({expr}, {pat} [, {start} [, {count}]])
+ String {count}'th match of {pat} in {expr}
+matchstrpos({expr}, {pat} [, {start} [, {count}]])
+ List {count}'th match of {pat} in {expr}
+max({expr}) Number maximum value of items in {expr}
+menu_info({name} [, {mode}]) Dict get menu item information
+min({expr}) Number minimum value of items in {expr}
+mkdir({name} [, {path} [, {prot}]])
+ Number create directory {name}
+mode([expr]) String current editing mode
+mzeval({expr}) any evaluate |MzScheme| expression
+nextnonblank({lnum}) Number line nr of non-blank line >= {lnum}
+nr2char({expr} [, {utf8}]) String single char with ASCII/UTF-8 value {expr}
+or({expr}, {expr}) Number bitwise OR
+pathshorten({expr} [, {len}]) String shorten directory names in a path
+perleval({expr}) any evaluate |Perl| expression
+popup_atcursor({what}, {options}) Number create popup window near the cursor
+popup_beval({what}, {options}) Number create popup window for 'ballooneval'
+popup_clear() none close all popup windows
+popup_close({id} [, {result}]) none close popup window {id}
+popup_create({what}, {options}) Number create a popup window
+popup_dialog({what}, {options}) Number create a popup window used as a dialog
+popup_filter_menu({id}, {key}) Number filter for a menu popup window
+popup_filter_yesno({id}, {key}) Number filter for a dialog popup window
+popup_findinfo() Number get window ID of info popup window
+popup_findpreview() Number get window ID of preview popup window
+popup_getoptions({id}) Dict get options of popup window {id}
+popup_getpos({id}) Dict get position of popup window {id}
+popup_hide({id}) none hide popup menu {id}
+popup_list() List get a list of window IDs of all popups
+popup_locate({row}, {col}) Number get window ID of popup at position
+popup_menu({what}, {options}) Number create a popup window used as a menu
+popup_move({id}, {options}) none set position of popup window {id}
+popup_notification({what}, {options})
+ Number create a notification popup window
+popup_setoptions({id}, {options})
+ none set options for popup window {id}
+popup_settext({id}, {text}) none set the text of popup window {id}
+popup_show({id}) none unhide popup window {id}
+pow({x}, {y}) Float {x} to the power of {y}
+prevnonblank({lnum}) Number line nr of non-blank line <= {lnum}
+printf({fmt}, {expr1}...) String format text
+prompt_getprompt({buf}) String get prompt text
+prompt_setcallback({buf}, {expr}) none set prompt callback function
+prompt_setinterrupt({buf}, {text}) none set prompt interrupt function
+prompt_setprompt({buf}, {text}) none set prompt text
+prop_add({lnum}, {col}, {props}) none add one text property
+prop_add_list({props}, [[{lnum}, {col}, {end-lnum}, {end-col}], ...])
+ none add multiple text properties
+prop_clear({lnum} [, {lnum-end} [, {props}]])
+ 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
+prop_type_change({name}, {props})
+ none change an existing property type
+prop_type_delete({name} [, {props}])
+ none delete a property type
+prop_type_get({name} [, {props}])
+ Dict get property type values
+prop_type_list([{props}]) List get list of property types
+pum_getpos() Dict position and size of pum if visible
+pumvisible() Number whether popup menu is visible
+py3eval({expr}) any evaluate |python3| expression
+pyeval({expr}) any evaluate |Python| expression
+pyxeval({expr}) any evaluate |python_x| expression
+rand([{expr}]) Number get pseudo-random number
+range({expr} [, {max} [, {stride}]])
+ List items from {expr} to {max}
+readblob({fname}) Blob read a |Blob| from {fname}
+readdir({dir} [, {expr} [, {dict}]])
+ List file names in {dir} selected by {expr}
+readdirex({dir} [, {expr} [, {dict}]])
+ List file info in {dir} selected by {expr}
+readfile({fname} [, {type} [, {max}]])
+ List get list of lines from file {fname}
+reduce({object}, {func} [, {initial}])
+ any reduce {object} using {func}
+reg_executing() String get the executing register name
+reg_recording() String get the recording register name
+reltime([{start} [, {end}]]) List get time value
+reltimefloat({time}) Float turn the time value into a Float
+reltimestr({time}) String turn time value into a String
+remote_expr({server}, {string} [, {idvar} [, {timeout}]])
+ String send expression
+remote_foreground({server}) Number bring Vim server to the foreground
+remote_peek({serverid} [, {retvar}])
+ Number check for reply string
+remote_read({serverid} [, {timeout}])
+ String read reply string
+remote_send({server}, {string} [, {idvar}])
+ String send key sequence
+remote_startserver({name}) none become server {name}
+remove({list}, {idx} [, {end}]) any/List
+ remove items {idx}-{end} from {list}
+remove({blob}, {idx} [, {end}]) Number/Blob
+ remove bytes {idx}-{end} from {blob}
+remove({dict}, {key}) any remove entry {key} from {dict}
+rename({from}, {to}) Number rename (move) file from {from} to {to}
+repeat({expr}, {count}) String repeat {expr} {count} times
+resolve({filename}) String get filename a shortcut points to
+reverse({list}) List reverse {list} in-place
+round({expr}) Float round off {expr}
+rubyeval({expr}) any evaluate |Ruby| expression
+screenattr({row}, {col}) Number attribute at screen position
+screenchar({row}, {col}) Number character at screen position
+screenchars({row}, {col}) List List of characters at screen position
+screencol() Number current cursor column
+screenpos({winid}, {lnum}, {col}) Dict screen row and col of a text character
+screenrow() Number current cursor row
+screenstring({row}, {col}) String characters at screen position
+search({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
+ Number search for {pattern}
+searchcount([{options}]) Dict get or update search stats
+searchdecl({name} [, {global} [, {thisblock}]])
+ Number search for variable declaration
+searchpair({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
+ Number search for other end of start/end pair
+searchpairpos({start}, {middle}, {end} [, {flags} [, {skip} [...]]])
+ List search for other end of start/end pair
+searchpos({pattern} [, {flags} [, {stopline} [, {timeout} [, {skip}]]]])
+ List search for {pattern}
+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({buf}, {varname}, {val})
+ none set {varname} in buffer {buf} to {val}
+setcellwidths({list}) none set character cell width overrides
+setcharpos({expr}, {list}) Number set the {expr} position to {list}
+setcharsearch({dict}) Dict set character search from {dict}
+setcmdpos({pos}) Number set cursor position in command-line
+setcursorcharpos({list}) Number move cursor to position in {list}
+setenv({name}, {val}) none set environment variable
+setfperm({fname}, {mode}) Number set {fname} file permissions to {mode}
+setline({lnum}, {line}) Number set line {lnum} to {line}
+setloclist({nr}, {list} [, {action}])
+ Number modify location list using {list}
+setloclist({nr}, {list}, {action}, {what})
+ Number modify specific location list props
+setmatches({list} [, {win}]) Number restore a list of matches
+setpos({expr}, {list}) Number set the {expr} position to {list}
+setqflist({list} [, {action}]) Number modify quickfix list using {list}
+setqflist({list}, {action}, {what})
+ Number modify specific quickfix list props
+setreg({n}, {v} [, {opt}]) Number set register to value and type
+settabvar({nr}, {varname}, {val}) none set {varname} in tab page {nr} to {val}
+settabwinvar({tabnr}, {winnr}, {varname}, {val})
+ none set {varname} in window {winnr} in tab
+ page {tabnr} to {val}
+settagstack({nr}, {dict} [, {action}])
+ Number modify tag stack using {dict}
+setwinvar({nr}, {varname}, {val}) none set {varname} in window {nr} to {val}
+sha256({string}) String SHA256 checksum of {string}
+shellescape({string} [, {special}])
+ String escape {string} for use as shell
+ command argument
+shiftwidth([{col}]) Number effective value of 'shiftwidth'
+sign_define({name} [, {dict}]) Number define or update a sign
+sign_define({list}) List define or update a list of signs
+sign_getdefined([{name}]) List get a list of defined signs
+sign_getplaced([{buf} [, {dict}]])
+ List get a list of placed signs
+sign_jump({id}, {group}, {buf})
+ Number jump to a sign
+sign_place({id}, {group}, {name}, {buf} [, {dict}])
+ Number place a sign
+sign_placelist({list}) List place a list of signs
+sign_undefine([{name}]) Number undefine a sign
+sign_undefine({list}) List undefine a list of signs
+sign_unplace({group} [, {dict}])
+ Number unplace a sign
+sign_unplacelist({list}) List unplace a list of signs
+simplify({filename}) String simplify filename as much as possible
+sin({expr}) Float sine of {expr}
+sinh({expr}) Float hyperbolic sine of {expr}
+slice({expr}, {start} [, {end}]) String, List or Blob
+ slice of a String, List or Blob
+sort({list} [, {func} [, {dict}]])
+ List sort {list}, using {func} to compare
+sound_clear() none stop playing all sounds
+sound_playevent({name} [, {callback}])
+ Number play an event sound
+sound_playfile({path} [, {callback}])
+ Number play sound file {path}
+sound_stop({id}) none stop playing sound {id}
+soundfold({word}) String sound-fold {word}
+spellbadword() String badly spelled word at cursor
+spellsuggest({word} [, {max} [, {capital}]])
+ List spelling suggestions
+split({expr} [, {pat} [, {keepempty}]])
+ List make |List| from {pat} separated {expr}
+sqrt({expr}) Float square root of {expr}
+srand([{expr}]) List get seed for |rand()|
+state([{what}]) String current state of Vim
+str2float({expr} [, {quoted}]) Float convert String to Float
+str2list({expr} [, {utf8}]) List convert each character of {expr} to
+ ASCII/UTF-8 value
+str2nr({expr} [, {base} [, {quoted}]])
+ Number convert String to Number
+strcharlen({expr}) Number character length of the String {expr}
+strcharpart({str}, {start} [, {len} [, {skipcc}]])
+ String {len} characters of {str} at
+ character {start}
+strchars({expr} [, {skipcc}]) Number character count of the String {expr}
+strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
+strftime({format} [, {time}]) String format time with a specified format
+strgetchar({str}, {index}) Number get char {index} from {str}
+stridx({haystack}, {needle} [, {start}])
+ Number index of {needle} in {haystack}
+string({expr}) String String representation of {expr} value
+strlen({expr}) Number length of the String {expr}
+strpart({str}, {start} [, {len} [, {chars}]])
+ String {len} bytes/chars of {str} at
+ byte {start}
+strptime({format}, {timestring})
+ Number Convert {timestring} to unix timestamp
+strridx({haystack}, {needle} [, {start}])
+ Number last index of {needle} in {haystack}
+strtrans({expr}) String translate string to make it printable
+strwidth({expr}) Number display cell length of the String {expr}
+submatch({nr} [, {list}]) String or List
+ specific match in ":s" or substitute()
+substitute({expr}, {pat}, {sub}, {flags})
+ String all {pat} in {expr} replaced with {sub}
+swapinfo({fname}) Dict information about swap file {fname}
+swapname({buf}) String swap file of buffer {buf}
+synID({lnum}, {col}, {trans}) Number syntax ID at {lnum} and {col}
+synIDattr({synID}, {what} [, {mode}])
+ String attribute {what} of syntax ID {synID}
+synIDtrans({synID}) Number translated syntax ID of {synID}
+synconcealed({lnum}, {col}) List info about concealing
+synstack({lnum}, {col}) List stack of syntax IDs at {lnum} and {col}
+system({expr} [, {input}]) String output of shell command/filter {expr}
+systemlist({expr} [, {input}]) List output of shell command/filter {expr}
+tabpagebuflist([{arg}]) List list of buffer numbers in tab page
+tabpagenr([{arg}]) Number number of current or last tab page
+tabpagewinnr({tabarg} [, {arg}]) Number number of current window in tab page
+tagfiles() List tags files used
+taglist({expr} [, {filename}]) List list of tags matching {expr}
+tan({expr}) Float tangent of {expr}
+tanh({expr}) Float hyperbolic tangent of {expr}
+tempname() String name for a temporary file
+term_dumpdiff({filename}, {filename} [, {options}])
+ Number display difference between two dumps
+term_dumpload({filename} [, {options}])
+ Number displaying a screen dump
+term_dumpwrite({buf}, {filename} [, {options}])
+ none dump terminal window contents
+term_getaltscreen({buf}) Number get the alternate screen flag
+term_getansicolors({buf}) List get ANSI palette in GUI color mode
+term_getattr({attr}, {what}) Number get the value of attribute {what}
+term_getcursor({buf}) List get the cursor position of a terminal
+term_getjob({buf}) Job get the job associated with a terminal
+term_getline({buf}, {row}) String get a line of text from a terminal
+term_getscrolled({buf}) Number get the scroll count of a terminal
+term_getsize({buf}) List get the size of a terminal
+term_getstatus({buf}) String get the status of a terminal
+term_gettitle({buf}) String get the title of a terminal
+term_gettty({buf}, [{input}]) String get the tty name of a terminal
+term_list() List get the list of terminal buffers
+term_scrape({buf}, {row}) List get row of a terminal screen
+term_sendkeys({buf}, {keys}) none send keystrokes to a terminal
+term_setansicolors({buf}, {colors})
+ none set ANSI palette in GUI color mode
+term_setapi({buf}, {expr}) none set |terminal-api| function name prefix
+term_setkill({buf}, {how}) none set signal to stop job in terminal
+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
+terminalprops() Dict properties of the terminal
+test_alloc_fail({id}, {countdown}, {repeat})
+ none make memory allocation fail
+test_autochdir() none enable 'autochdir' during startup
+test_feedinput({string}) none add key sequence to input buffer
+test_garbagecollect_now() none free memory right now for testing
+test_garbagecollect_soon() none free memory soon for testing
+test_getvalue({string}) any get value of an internal variable
+test_gui_drop_files({list}, {row}, {col}, {mods})
+ none drop a list of files in a window
+test_gui_mouse_event({button}, {row}, {col}, {repeated}, {mods})
+ none add a mouse event to the input buffer
+test_ignore_error({expr}) none ignore a specific error
+test_null_blob() Blob null value for testing
+test_null_channel() Channel null value for testing
+test_null_dict() Dict null value for testing
+test_null_function() Funcref null value for testing
+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_option_not_set({name}) none reset flag indicating option was set
+test_override({expr}, {val}) none test with Vim internal overrides
+test_refcount({expr}) Number get the reference count of {expr}
+test_scrollbar({which}, {value}, {dragging})
+ none scroll in the GUI for testing
+test_setmouse({row}, {col}) none set the mouse position for testing
+test_settime({expr}) none set current time for testing
+test_srand_seed([seed]) none set seed for testing srand()
+test_unknown() any unknown value for testing
+test_void() any void value for testing
+timer_info([{id}]) List information about timers
+timer_pause({id}, {pause}) none pause or unpause a timer
+timer_start({time}, {callback} [, {options}])
+ Number create a timer
+timer_stop({timer}) none stop a timer
+timer_stopall() none stop all timers
+tolower({expr}) String the String {expr} switched to lowercase
+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} [, {dir}]])
+ String trim characters in {mask} from {text}
+trunc({expr}) Float truncate Float {expr}
+type({expr}) Number type of value {expr}
+typename({expr}) String representation of the type of {expr}
+undofile({name}) String undo file name for {name}
+undotree() List undo file tree
+uniq({list} [, {func} [, {dict}]])
+ List remove adjacent duplicates from a list
+values({dict}) List values in {dict}
+virtcol({expr}) Number screen column of cursor or mark
+visualmode([expr]) String last visual mode used
+wildmenumode() Number whether 'wildmenu' mode is active
+win_execute({id}, {command} [, {silent}])
+ String execute {command} in window {id}
+win_findbuf({bufnr}) List find windows containing {bufnr}
+win_getid([{win} [, {tab}]]) Number get window ID for {win} in {tab}
+win_gettype([{nr}]) String type of window {nr}
+win_gotoid({expr}) Number go to window with ID {expr}
+win_id2tabwin({expr}) List get tab and window nr from window ID
+win_id2win({expr}) Number get window nr from window ID
+win_screenpos({nr}) List get screen position of window {nr}
+win_splitmove({nr}, {target} [, {options}])
+ Number move window {nr} to split of {target}
+winbufnr({nr}) Number buffer number of window {nr}
+wincol() Number window column of the cursor
+windowsversion() String MS-Windows OS version
+winheight({nr}) Number height of window {nr}
+winlayout([{tabnr}]) List layout of windows in tab {tabnr}
+winline() Number window line of the cursor
+winnr([{expr}]) Number number of current window
+winrestcmd() String returns command to restore window sizes
+winrestview({dict}) none restore view of current window
+winsaveview() Dict save view of current window
+winwidth({nr}) Number width of window {nr}
+wordcount() Dict get byte/char/word statistics
+writefile({object}, {fname} [, {flags}])
+ Number write |Blob| or |List| of lines to file
+xor({expr}, {expr}) Number bitwise XOR
+
+==============================================================================
+2. Details *builtin-function-details*
+
+Not all functions are here, some have been moved to a help file covering the
+specific functionality.
+
+abs({expr}) *abs()*
+ Return the absolute value of {expr}. When {expr} evaluates to
+ a |Float| abs() returns a |Float|. When {expr} can be
+ converted to a |Number| abs() returns a |Number|. Otherwise
+ abs() gives an error message and returns -1.
+ Examples: >
+ echo abs(1.456)
+< 1.456 >
+ echo abs(-5.456)
+< 5.456 >
+ echo abs(-4)
+< 4
+
+ Can also be used as a |method|: >
+ Compute()->abs()
+
+< {only available when compiled with the |+float| feature}
+
+
+acos({expr}) *acos()*
+ Return the arc cosine of {expr} measured in radians, as a
+ |Float| in the range of [0, pi].
+ {expr} must evaluate to a |Float| or a |Number| in the range
+ [-1, 1].
+ Examples: >
+ :echo acos(0)
+< 1.570796 >
+ :echo acos(-0.5)
+< 2.094395
+
+ Can also be used as a |method|: >
+ Compute()->acos()
+
+< {only available when compiled with the |+float| feature}
+
+
+add({object}, {expr}) *add()*
+ Append the item {expr} to |List| or |Blob| {object}. Returns
+ the resulting |List| or |Blob|. Examples: >
+ :let alist = add([1, 2, 3], item)
+ :call add(mylist, "woodstock")
+< Note that when {expr} is a |List| it is appended as a single
+ item. Use |extend()| to concatenate |Lists|.
+ When {object} is a |Blob| then {expr} must be a number.
+ Use |insert()| to add an item at another position.
+
+ Can also be used as a |method|: >
+ mylist->add(val1)->add(val2)
+
+
+and({expr}, {expr}) *and()*
+ Bitwise AND on the two arguments. The arguments are converted
+ to a number. A List, Dict or Float argument causes an error.
+ Example: >
+ :let flag = and(bits, 0x80)
+< Can also be used as a |method|: >
+ :let flag = bits->and(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.
+ Any type of item is accepted and converted to a String.
+ {lnum} can be zero to insert a line before the first one.
+ {lnum} is used like with |getline()|.
+ Returns 1 for failure ({lnum} out of range or out of memory),
+ 0 for success. In