Home Explore Blog CI



neovim

9th chunk of `runtime/doc/usr_41.txt`
e2c6117e0acd448a819284ae6fc4f1ad76a82934646e0b4a0000000100000fa3
 Dictionary
	deepcopy()		make a full copy of a Dictionary
	string()		String representation of a Dictionary
	max()			maximum value in a Dictionary
	min()			minimum value in a Dictionary
	count()			count number of times a value appears

Floating point computation:				*float-functions*
	float2nr()		convert Float to Number
	abs()			absolute value (also works for Number)
	round()			round off
	ceil()			round up
	floor()			round down
	trunc()			remove value after decimal point
	fmod()			remainder of division
	exp()			exponential
	log()			natural logarithm (logarithm to base e)
	log10()			logarithm to base 10
	pow()			value of x to the exponent y
	sqrt()			square root
	sin()			sine
	cos()			cosine
	tan()			tangent
	asin()			arc sine
	acos()			arc cosine
	atan()			arc tangent
	atan2()			arc tangent
	sinh()			hyperbolic sine
	cosh()			hyperbolic cosine
	tanh()			hyperbolic tangent
	isinf()			check for infinity
	isnan()			check for not a number

Blob manipulation:					*blob-functions*
	blob2list()		get a list of numbers from a blob
	list2blob()		get a blob from a list of numbers
	reverse()		reverse the order of numbers in a blob

Other computation:					*bitwise-function*
	and()			bitwise AND
	invert()		bitwise invert
	or()			bitwise OR
	xor()			bitwise XOR
	sha256()		SHA-256 hash
	rand()			get a pseudo-random number
	srand()			initialize seed used by rand()

Variables:						*var-functions*
	type()			type of a variable
	islocked()		check if a variable is locked
	funcref()		get a Funcref for a function reference
	function()		get a Funcref for a function name
	getbufvar()		get a variable value from a specific buffer
	setbufvar()		set a variable in a specific buffer
	getwinvar()		get a variable from specific window
	gettabvar()		get a variable from specific tab page
	gettabwinvar()		get a variable from specific window & tab page
	setwinvar()		set a variable in a specific window
	settabvar()		set a variable in a specific tab page
	settabwinvar()		set a variable in a specific window & tab page
	garbagecollect()	possibly free memory

Cursor and mark position:		*cursor-functions* *mark-functions*
	col()			column number of the cursor or a mark
	virtcol()		screen column of the cursor or a mark
	line()			line number of the cursor or mark
	wincol()		window column number of the cursor
	winline()		window line number of the cursor
	cursor()		position the cursor at a line/column
	screencol()		get screen column of the cursor
	screenrow()		get screen row of the cursor
	screenpos()		screen row and col of a text character
	virtcol2col()		byte index of a text character on screen
	getcurpos()		get position of the cursor
	getpos()		get position of cursor, mark, etc.
	setpos()		set position of cursor, mark, etc.
	getmarklist()		list of global/local marks
	byte2line()		get line number at a specific byte count
	line2byte()		byte count at a specific line
	diff_filler()		get the number of filler lines above a line
	screenattr()		get attribute at a screen line/row
	screenchar()		get character code at a screen line/row
	screenchars()		get character codes at a screen line/row
	screenstring()		get string of characters at a screen line/row
	charcol()		character number of the cursor or a mark
	getcharpos()		get character position of cursor, mark, etc.
	setcharpos()		set character position of cursor, mark, etc.
	getcursorcharpos()	get character position of the cursor
	setcursorcharpos()	set character position of the cursor

Working with text in the current buffer:		*text-functions*
	getline()		get a line or list of lines from the buffer
	getregion()		get a region of text from the buffer
	getregionpos()		get a list of positions for a region
	setline()		replace a line in the buffer
	append()		append line or list of lines in the buffer
	indent()		indent of a specific line
	cindent()		indent according to C indenting
	lispindent()		indent according to Lisp indenting
	nextnonblank()		find next non-blank line
	prevnonblank()		find previous non-blank line
	search()		find a match for

Title: Vim Script Functions: Data Types, Computation, Variables, and Text Manipulation
Summary
This section covers Vim script functions for dictionaries (copying, string representation, min/max, counting), floating-point computations (conversion, math functions, NaN checks), and blobs (converting to/from lists, reversing). It also includes bitwise operations, hashing, and random number generation. Functions for getting/setting variables in different scopes (buffers, windows, tab pages), checking variable types/lock status, and garbage collection are described. Cursor and mark position functions (getting/setting position, line/column numbers, mark lists) are outlined. Finally, it details text manipulation functions for the current buffer: getting/setting lines, appending, indenting, and searching.