Patch 7.4.1728
Problem: The help for functions require a space after the "(".
Solution: Make CTRL-] on a function name ignore the arguments. (Hirohito
Higashi)
Files: src/ex_cmds.c, src/testdir/test_help_tagjump.vim,
runtime/doc/eval.txt
*** ../vim-7.4.1727/src/ex_cmds.c 2016-04-13 21:14:31.256124229 +0200
--- src/ex_cmds.c 2016-04-14 13:38:59.739203829 +0200
***************
*** 6204,6209 ****
--- 6204,6216 ----
*d++ = *s;
/*
+ * If tag contains "({" or "([", tag terminates at the "(".
+ * This is for help on functions, e.g.: abs({expr}).
+ */
+ if (*s == '(' && (s[1] == '{' || s[1] =='['))
+ break;
+
+ /*
* If tag starts with ', toss everything after a second '. Fixes
* CTRL-] on 'option'. (would include the trailing '.').
*/
*** ../vim-7.4.1727/src/testdir/test_help_tagjump.vim 2016-03-15
16:35:23.504279033 +0100
--- src/testdir/test_help_tagjump.vim 2016-04-14 13:35:51.281201492 +0200
***************
*** 15,18 ****
--- 15,28 ----
call assert_equal("help", &filetype)
call assert_true(getline('.') =~ "\\*'buflisted'\\*")
helpclose
+
+ exec "help! abs({expr})"
+ call assert_equal("help", &filetype)
+ call assert_true(getline('.') =~ '\*abs()\*')
+ helpclose
+
+ exec "help! arglistid([{winnr}"
+ call assert_equal("help", &filetype)
+ call assert_true(getline('.') =~ '\*arglistid()\*')
+ helpclose
endfunc
*** ../vim-7.4.1727/runtime/doc/eval.txt 2016-04-14 12:46:33.620678603
+0200
--- runtime/doc/eval.txt 2016-04-14 13:49:20.540627890 +0200
***************
*** 1773,2174 ****
USAGE RESULT DESCRIPTION ~
! abs( {expr}) Float or Number absolute value of {expr}
! acos( {expr}) Float arc cosine of {expr}
! add( {list}, {item}) List append {item} to |List| {list}
! alloc_fail( {countdown}, {when}, {repeat})
! nothing make memory allocation fail
! and( {expr}, {expr}) Number bitwise AND
! append( {lnum}, {string}) Number append {string} below line {lnum}
! append( {lnum}, {list}) Number append lines {list} below line
{lnum}
argc() 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}) String {nr} entry of the argument list
argv() List the argument list
! assert_equal( {exp}, {act} [, {msg}]) none assert {exp} is equal to {act}
! assert_exception( {error} [, {msg}]) none assert {error} is in v:exception
! assert_fails( {cmd} [, {error}]) none assert {cmd} fails
! assert_false( {actual} [, {msg}]) none assert {actual} is false
! assert_match( {pat}, {text} [, {msg}]) none assert {pat} matches {text}
! assert_notequal( {exp}, {act} [, {msg}]) none assert {exp} is not equal {act}
! assert_notmatch( {pat}, {text} [, {msg}]) none assert {pat} not matches
{text}
! assert_true( {actual} [, {msg}]) none assert {actual} is true
! asin( {expr}) Float arc sine of {expr}
! atan( {expr}) Float arc tangent of {expr}
! atan2( {expr}, {expr}) Float arc tangent of {expr1} / {expr2}
! browse( {save}, {title}, {initdir}, {default})
String put up a file requester
! browsedir( {title}, {initdir}) String put up a directory requester
! bufexists( {expr}) Number TRUE if buffer {expr} exists
! buflisted( {expr}) Number TRUE if buffer {expr} is listed
! bufloaded( {expr}) Number TRUE if buffer {expr} is loaded
! bufname( {expr}) String Name of the buffer {expr}
! bufnr( {expr}) Number Number of the buffer {expr}
! bufwinnr( {expr}) Number window number of buffer {expr}
! 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_close( {handle}) none close {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_readraw( {handle} [, {options}]) String read raw from {handle}
! ch_sendexpr( {handle}, {expr} [, {options}])
any send {expr} over JSON {handle}
! ch_sendraw( {handle}, {string} [, {options}])
any send {string} over raw {handle}
! ch_setoptions( {handle}, {options}) none set options for {handle}
! ch_status( {handle}) String status of channel {handle}
changenr() Number current change number
! char2nr( {expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
! cindent( {lnum}) Number C indent for line {lnum}
clearmatches() none clear all matches
! col( {expr}) Number column nr 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
! 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( {list}, {expr} [, {ic} [, {start}]])
Number count how many {expr} are in {list}
! 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}
! deepcopy( {expr} [, {noref}]) any make a full copy of {expr}
! delete( {fname} [, {flags}]) Number delete the file or directory {fname}
did_filetype() Number TRUE if FileType autocommand
event used
! diff_filler( {lnum}) Number diff filler lines about {lnum}
! diff_hlID( {lnum}, {col}) Number diff highlighting at {lnum}/{col}
! disable_char_avail_for_testing({expr}) none test without typeahead
! empty( {expr}) Number TRUE if {expr} is empty
! 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
! exepath( {expr}) String full path of the command {expr}
! exists( {expr}) Number TRUE if {expr} exists
! extend( {expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
! exp( {expr}) Float exponential of {expr}
! expand( {expr} [, {nosuf} [, {list}]])
any expand special keywords in {expr}
! 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( {expr}, {string}) List/Dict remove items from {expr} where
{string} is 0
! finddir( {name}[, {path}[, {count}]])
String find directory {name} in {path}
! findfile( {name}[, {path}[, {count}]])
String find file {name} in {path}
! 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
! function( {name} [, {arglist}] [, {dict}])
Funcref reference to function {name}
! garbagecollect( [{atexit}]) none free memory, breaking cyclic references
garbagecollect_for_testing() none free memory right now
! get( {list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
! get( {dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
! getbufline( {expr}, {lnum} [, {end}])
List lines {lnum} to {end} of buffer {expr}
! getbufvar( {expr}, {varname} [, {def}])
any variable {varname} in buffer {expr}
! getchar( [expr]) Number get one character from the user
! getcharmod( ) Number modifiers for the last typed character
getcharsearch() Dict last character search
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
getcurpos() List position of the cursor
! getcwd( [{winnr} [, {tabnr}]]) String get the current working
directory
! 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}
! 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
getmatches() List list of current matches
getpid() Number process ID of Vim
! getpos( {expr}) List position of cursor, mark, etc.
getqflist() List list of quickfix items
! getreg( [{regname} [, 1 [, {list}]]])
String or List contents of register
! getregtype( [{regname}]) String type of register
! 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}
getwinposx() Number X coord in pixels of GUI Vim window
getwinposy() Number Y coord in pixels of GUI 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}) 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|
! hasmapto( {what} [, {mode} [, {abbr}]])
Number TRUE if mapping to {what} exists
! histadd( {history},{item}) String add an item to a history
! histdel( {history} [, {item}]) String 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
! hlexists( {name}) Number TRUE if highlight group {name} exists
! hlID( {name}) Number syntax ID of highlight group {name}
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( {list}, {expr} [, {start} [, {ic}]])
Number index in {list} where {expr} appears
! input( {prompt} [, {text} [, {completion}]])
String get input from the user
! inputdialog( {p} [, {t} [, {c}]]) 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( {list}, {item} [, {idx}]) List insert {item} in {list} [before
{idx}]
! invert( {expr}) Number bitwise invert
! isdirectory( {directory}) Number TRUE if {directory} is a directory
! 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}) 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}
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( {expr}, {string}) List/Dict change each item in {expr}
to {expr}
! 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}
! match( {expr}, {pat}[, {start}[, {count}]])
Number position where {pat} matches in {expr}
! matchadd( {group}, {pattern}[, {priority}[, {id}]])
Number highlight {pattern} with {group}
! matchaddpos( {group}, {list}[, {priority}[, {id}]])
Number highlight positions with {group}
! matcharg( {nr}) List arguments of |:match|
! matchdelete( {id}) Number delete match identified by {id}
! matchend( {expr}, {pat}[, {start}[, {count}]])
Number position where {pat} ends in {expr}
! 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( {list}) Number maximum value of items in {list}
! min( {list}) Number minimum value of items in {list}
! 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/UTF8 value {expr}
! or( {expr}, {expr}) Number bitwise OR
! pathshorten( {expr}) String shorten directory names in a path
! perleval( {expr}) any evaluate |Perl| expression
! 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
pumvisible() Number whether popup menu is visible
! pyeval( {expr}) any evaluate |Python| expression
! py3eval( {expr}) any evaluate |python3| expression
! range( {expr} [, {max} [, {stride}]])
List items from {expr} to {max}
! readfile( {fname} [, {binary} [, {max}]])
List get list of lines from file {fname}
! reltime( [{start} [, {end}]]) List get time value
! reltimestr( {time}) String turn time value into a String
! remote_expr( {server}, {string} [, {idvar}])
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}) String read reply string
! remote_send( {server}, {string} [, {idvar}])
String send key sequence
! remove( {list}, {idx} [, {end}]) any remove items {idx}-{end} from {list}
! 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}
! screenattr( {row}, {col}) Number attribute at screen position
! screenchar( {row}, {col}) Number character at screen position
screencol() Number current cursor column
screenrow() Number current cursor row
! search( {pattern} [, {flags} [, {stopline} [, {timeout}]]])
Number search for {pattern}
! 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}]]])
List search for {pattern}
! server2client( {clientid}, {string})
Number send reply string
serverlist() String get a list of available servers
! setbufvar( {expr}, {varname}, {val}) set {varname} in buffer {expr} to {val}
! setcharsearch( {dict}) Dict set character search from {dict}
! setcmdpos( {pos}) Number set cursor position in command-line
! 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}
! setmatches( {list}) 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}
! setreg( {n}, {v}[, {opt}]) Number set register to value and type
! settabvar( {nr}, {varname}, {val}) set {varname} in tab page {nr} to {val}
! settabwinvar( {tabnr}, {winnr}, {varname}, {val}) set {varname} in window
! {winnr} in tab page {tabnr} to {val}
! setwinvar( {nr}, {varname}, {val}) 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() Number effective value of 'shiftwidth'
! simplify( {filename}) String simplify filename as much as possible
! sin( {expr}) Float sine of {expr}
! sinh( {expr}) Float hyperbolic sine of {expr}
! sort( {list} [, {func} [, {dict}]])
List sort {list}, using {func} to compare
! 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}
! str2float( {expr}) Float convert String to Float
! str2nr( {expr} [, {base}]) Number convert String to Number
! strchars( {expr} [, {skipcc}]) Number character length of the String
{expr}
! strdisplaywidth( {expr} [, {col}]) Number display length of the String {expr}
! strftime( {format}[, {time}]) String time in specified format
! 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( {src}, {start}[, {len}])
String {len} characters of {src} at {start}
! 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}
! 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
! taglist( {expr}) List list of tags matching {expr}
tagfiles() List tags files used
! tan( {expr}) Float tangent of {expr}
! tanh( {expr}) Float hyperbolic tangent of {expr}
tempname() String name for a temporary file
! timer_start( {time}, {callback} [, {options}])
Number create a timer
! timer_stop( {timer}) none stop a timer
! 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}
! trunc( {expr}) Float truncate Float {expr}
! type( {name}) Number type of variable {name}
! 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_findbuf( {bufnr}) List find windows containing {bufnr}
! win_getid( [{win} [, {tab}]]) Number get window ID for {win} in {tab}
! 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
! winbufnr( {nr}) Number buffer number of window {nr}
wincol() Number window column of the cursor
! winheight( {nr}) Number height of window {nr}
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( {list}, {fname} [, {flags}])
Number write list of lines to file {fname}
! xor( {expr}, {expr}) Number bitwise XOR
abs({expr}) *abs()*
Return the absolute value of {expr}. When {expr} evaluates to
--- 1791,2200 ----
USAGE RESULT DESCRIPTION ~
! abs({expr}) Float or Number absolute value of {expr}
! acos({expr}) Float arc cosine of {expr}
! add({list}, {item}) List append {item} to |List| {list}
! alloc_fail({id}, {countdown}, {repeat})
! none make memory allocation fail
! and({expr}, {expr}) Number bitwise AND
! append({lnum}, {string}) Number append {string} below line {lnum}
! append({lnum}, {list}) Number append lines {list} below line
{lnum}
argc() 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}) String {nr} entry of the argument list
argv() List the argument list
! assert_equal({exp}, {act} [, {msg}]) none assert {exp} is equal to {act}
! assert_exception({error} [, {msg}]) none assert {error} is in
v:exception
! assert_fails({cmd} [, {error}]) none assert {cmd} fails
! assert_false({actual} [, {msg}]) none assert {actual} is false
! assert_match({pat}, {text} [, {msg}]) none assert {pat} matches {text}
! assert_notequal({exp}, {act} [, {msg}]) none assert {exp} is not equal {act}
! assert_notmatch({pat}, {text} [, {msg}]) none assert {pat} not matches {text}
! assert_true({actual} [, {msg}]) none assert {actual} is true
! asin({expr}) Float arc sine of {expr}
! atan({expr}) Float arc tangent of {expr}
! atan2({expr}, {expr}) Float arc tangent of {expr1} / {expr2}
! browse({save}, {title}, {initdir}, {default})
String put up a file requester
! browsedir({title}, {initdir}) String put up a directory requester
! bufexists({expr}) Number TRUE if buffer {expr} exists
! buflisted({expr}) Number TRUE if buffer {expr} is listed
! bufloaded({expr}) Number TRUE if buffer {expr} is loaded
! bufname({expr}) String Name of the buffer {expr}
! bufnr({expr} [, {create}]) Number Number of the buffer {expr}
! bufwinnr({expr}) Number window number of buffer {expr}
! 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_close({handle}) none close {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_readraw({handle} [, {options}])
! String read raw from {handle}
! ch_sendexpr({handle}, {expr} [, {options}])
any send {expr} over JSON {handle}
! ch_sendraw({handle}, {string} [, {options}])
any send {string} over raw {handle}
! ch_setoptions({handle}, {options})
! none set options for {handle}
! ch_status({handle}) String status of channel {handle}
changenr() Number current change number
! char2nr({expr}[, {utf8}]) Number ASCII/UTF8 value of first char in {expr}
! cindent({lnum}) Number C indent for line {lnum}
clearmatches() none clear all matches
! col({expr}) Number column nr 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
! 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({list}, {expr} [, {ic} [, {start}]])
Number count how many {expr} are in {list}
! 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}
! deepcopy({expr} [, {noref}]) any make a full copy of {expr}
! delete({fname} [, {flags}]) Number delete the file or directory {fname}
did_filetype() Number TRUE if FileType autocommand
event used
! diff_filler({lnum}) Number diff filler lines about {lnum}
! diff_hlID({lnum}, {col}) Number diff highlighting at {lnum}/{col}
! disable_char_avail_for_testing({expr})
! none test without typeahead
! empty({expr}) Number TRUE if {expr} is empty
! 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
! exepath({expr}) String full path of the command {expr}
! exists({expr}) Number TRUE if {expr} exists
! extend({expr1}, {expr2} [, {expr3}])
List/Dict insert items of {expr2} into {expr1}
! exp({expr}) Float exponential of {expr}
! expand({expr} [, {nosuf} [, {list}]])
any expand special keywords in {expr}
! 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({expr}, {string}) List/Dict remove items from {expr} where
{string} is 0
! finddir({name}[, {path}[, {count}]])
String find directory {name} in {path}
! findfile({name}[, {path}[, {count}]])
String find file {name} in {path}
! 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
! function({name} [, {arglist}] [, {dict}])
Funcref reference to function {name}
! garbagecollect([{atexit}]) none free memory, breaking cyclic references
garbagecollect_for_testing() none free memory right now
! get({list}, {idx} [, {def}]) any get item {idx} from {list} or {def}
! get({dict}, {key} [, {def}]) any get item {key} from {dict} or {def}
! getbufline({expr}, {lnum} [, {end}])
List lines {lnum} to {end} of buffer {expr}
! getbufvar({expr}, {varname} [, {def}])
any variable {varname} in buffer {expr}
! getchar([expr]) Number get one character from the user
! getcharmod() Number modifiers for the last typed character
getcharsearch() Dict last character search
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
getcurpos() List position of the cursor
! getcwd([{winnr} [, {tabnr}]]) String get the current working directory
! 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}
! 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
getmatches() List list of current matches
getpid() Number process ID of Vim
! getpos({expr}) List position of cursor, mark, etc.
getqflist() List list of quickfix items
! getreg([{regname} [, 1 [, {list}]]])
String or List contents of register
! getregtype([{regname}]) String type of register
! 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}
getwinposx() Number X coord in pixels of GUI Vim window
getwinposy() Number Y coord in pixels of GUI 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}) 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|
! hasmapto({what} [, {mode} [, {abbr}]])
Number TRUE if mapping to {what} exists
! histadd({history}, {item}) String add an item to a history
! histdel({history} [, {item}]) String 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
! hlexists({name}) Number TRUE if highlight group {name} exists
! hlID({name}) Number syntax ID of highlight group {name}
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({list}, {expr} [, {start} [, {ic}]])
Number index in {list} 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({list}, {item} [, {idx}]) List insert {item} in {list} [before {idx}]
! invert({expr}) Number bitwise invert
! isdirectory({directory}) Number TRUE if {directory} is a directory
! 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}) 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}
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({expr}, {string}) List/Dict change each item in {expr} to {expr}
! 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}
! 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}) Number delete match identified by {id}
! matchend({expr}, {pat}[, {start}[, {count}]])
Number position where {pat} ends in {expr}
! 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({list}) Number maximum value of items in {list}
! min({list}) Number minimum value of items in {list}
! 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/UTF8 value {expr}
! or({expr}, {expr}) Number bitwise OR
! pathshorten({expr}) String shorten directory names in a path
! perleval({expr}) any evaluate |Perl| expression
! 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
pumvisible() Number whether popup menu is visible
! pyeval({expr}) any evaluate |Python| expression
! py3eval({expr}) any evaluate |python3| expression
! range({expr} [, {max} [, {stride}]])
List items from {expr} to {max}
! readfile({fname} [, {binary} [, {max}]])
List get list of lines from file {fname}
! 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}])
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}) String read reply string
! remote_send({server}, {string} [, {idvar}])
String send key sequence
! remove({list}, {idx} [, {end}]) any remove items {idx}-{end} from {list}
! 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}
! screenattr({row}, {col}) Number attribute at screen position
! screenchar({row}, {col}) Number character at screen position
screencol() Number current cursor column
screenrow() Number current cursor row
! search({pattern} [, {flags} [, {stopline} [, {timeout}]]])
Number search for {pattern}
! 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}]]])
List search for {pattern}
! server2client({clientid}, {string})
Number send reply string
serverlist() String get a list of available servers
! setbufvar({expr}, {varname}, {val})
! none set {varname} in buffer {expr} to {val}
! setcharsearch({dict}) Dict set character search from {dict}
! setcmdpos({pos}) Number set cursor position in command-line
! 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}
! setmatches({list}) 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}
! 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}
! 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() Number effective value of 'shiftwidth'
! simplify({filename}) String simplify filename as much as possible
! sin({expr}) Float sine of {expr}
! sinh({expr}) Float hyperbolic sine of {expr}
! sort({list} [, {func} [, {dict}]])
List sort {list}, using {func} to compare
! 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}
! str2float({expr}) Float convert String to Float
! str2nr({expr} [, {base}]) Number convert String to Number
! strchars({expr} [, {skipcc}]) Number character length of the String {expr}
! strdisplaywidth({expr} [, {col}]) Number display length of the String {expr}
! strftime({format}[, {time}]) String time in specified format
! 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({src}, {start}[, {len}])
String {len} characters of {src} at {start}
! 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}
! 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
! taglist({expr}) List list of tags matching {expr}
tagfiles() List tags files used
! tan({expr}) Float tangent of {expr}
! tanh({expr}) Float hyperbolic tangent of {expr}
tempname() String name for a temporary file
! timer_start({time}, {callback} [, {options}])
Number create a timer
! timer_stop({timer}) none stop a timer
! 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}
! trunc({expr}) Float truncate Float {expr}
! type({name}) Number type of variable {name}
! 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_findbuf({bufnr}) List find windows containing {bufnr}
! win_getid([{win} [, {tab}]]) Number get window ID for {win} in {tab}
! 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
! winbufnr({nr}) Number buffer number of window {nr}
wincol() Number window column of the cursor
! winheight({nr}) Number height of window {nr}
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({list}, {fname} [, {flags}])
Number write list of lines to file {fname}
! xor({expr}, {expr}) Number bitwise XOR
!
abs({expr}) *abs()*
Return the absolute value of {expr}. When {expr} evaluates to
***************
*** 6022,6028 ****
< In this example "submatch" is 2 when a lowercase letter is
found |/\l|, 3 when an uppercase letter is found |/\u|.
! server2client( {clientid}, {string}) *server2client()*
Send a reply string to {clientid}. The most recent {clientid}
that sent a string can be retrieved with expand("<client>").
{only available when compiled with the |+clientserver| feature}
--- 6104,6110 ----
< In this example "submatch" is 2 when a lowercase letter is
found |/\l|, 3 when an uppercase letter is found |/\u|.
! server2client({clientid}, {string}) *server2client()*
Send a reply string to {clientid}. The most recent {clientid}
that sent a string can be retrieved with expand("<client>").
{only available when compiled with the |+clientserver| feature}
***************
*** 6541,6547 ****
{only available when compiled with the |+float| feature}
! str2float( {expr}) *str2float()*
Convert String {expr} to a Float. This mostly works the same
as when using a floating point number in an expression, see
|floating-point-format|. But it's a bit more permissive.
--- 6617,6623 ----
{only available when compiled with the |+float| feature}
! str2float({expr}) *str2float()*
Convert String {expr} to a Float. This mostly works the same
as when using a floating point number in an expression, see
|floating-point-format|. But it's a bit more permissive.
***************
*** 6556,6569 ****
< {only available when compiled with the |+float| feature}
! str2nr( {expr} [, {base}]) *str2nr()*
Convert string {expr} to a number.
! {base} is the conversion base, it can be 8, 10 or 16.
When {base} is omitted base 10 is used. This also means that
a leading zero doesn't cause octal conversion to be used, as
with the default String to Number conversion.
When {base} is 16 a leading "0x" or "0X" is ignored. With a
! different base the result will be zero.
Text after the number is silently ignored.
--- 6632,6647 ----
< {only available when compiled with the |+float| feature}
! str2nr({expr} [, {base}]) *str2nr()*
Convert string {expr} to a number.
! {base} is the conversion base, it can be 2, 8, 10 or 16.
When {base} is omitted base 10 is used. This also means that
a leading zero doesn't cause octal conversion to be used, as
with the default String to Number conversion.
When {base} is 16 a leading "0x" or "0X" is ignored. With a
! different base the result will be zero. Similarly, when
! {base} is 8 a leading "0" is ignored, and when {base} is 2 a
! leading "0b" or "0B" is ignored.
Text after the number is silently ignored.
*** ../vim-7.4.1727/src/version.c 2016-04-14 12:46:33.620678603 +0200
--- src/version.c 2016-04-14 13:39:45.374720193 +0200
***************
*** 750,751 ****
--- 750,753 ----
{ /* Add new patch number below this line */
+ /**/
+ 1728,
/**/
--
A cow comes flying over the battlements, lowing aggressively. The cow
lands on GALAHAD'S PAGE, squashing him completely.
"Monty Python and the Holy Grail" PYTHON (MONTY) PICTURES LTD
/// Bram Moolenaar -- [email protected] -- http://www.Moolenaar.net \\\
/// sponsor Vim, vote for features -- http://www.Vim.org/sponsor/ \\\
\\\ an exciting new programming language -- http://www.Zimbu.org ///
\\\ help me help AIDS victims -- http://ICCF-Holland.org ///
--
--
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php
---
You received this message because you are subscribed to the Google Groups
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email
to [email protected].
For more options, visit https://groups.google.com/d/optout.