Home Explore Blog CI



neovim

3rd chunk of `runtime/doc/if_perl.txt`
15bf13ae87f09a586d22bef808584168d5769b8d723bae4e0000000100000f42
 argument!  See |:set|.

							*perl-Buffers*
VIM::Buffers([{bn}...])	With no arguments, returns a list of all the buffers
			in an array context or returns the number of buffers
			in a scalar context.  For a list of buffer names or
			numbers {bn}, returns a list of the buffers matching
			{bn}, using the same rules as Vim's internal
			|bufname()| function.
			WARNING: the list becomes invalid when |:bwipe| is
			used.

							*perl-Windows*
VIM::Windows([{wn}...])	With no arguments, returns a list of all the windows
			in an array context or returns the number of windows
			in a scalar context.  For a list of window numbers
			{wn}, returns a list of the windows with those
			numbers.
			WARNING: the list becomes invalid when a window is
			closed.

							*perl-DoCommand*
VIM::DoCommand({cmd})	Executes Ex command {cmd}.

							*perl-Eval*
VIM::Eval({expr})	Evaluates {expr} and returns (success, value) in list
			context or just value in scalar context.
			success=1 indicates that val contains the value of
			{expr}; success=0 indicates a failure to evaluate
			the expression.  '@x' returns the contents of register
			x, '&x' returns the value of option x, 'x' returns the
			value of internal |variables| x, and '$x' is equivalent
			to perl's $ENV{x}.  All |functions| accessible from
			the command-line are valid for {expr}.
			A |List| is turned into a string by joining the items
			and inserting line breaks.

							*perl-Blob*
VIM::Blob({expr})	Return Blob literal string 0zXXXX from scalar value.

==============================================================================
3. VIM::Buffer objects					*perl-buffer*

Methods:

							*perl-Buffer-Name*
Name()		Returns the filename for the Buffer.

							*perl-Buffer-Number*
Number()	Returns the number of the Buffer.

							*perl-Buffer-Count*
Count()		Returns the number of lines in the Buffer.

							*perl-Buffer-Get*
Get({lnum}, {lnum}?, ...)
			Returns a text string of line {lnum} in the Buffer
			for each {lnum} specified.  An array can be passed
			with a list of {lnum}'s specified.

							*perl-Buffer-Delete*
Delete({lnum}, {lnum}?)
			Deletes line {lnum} in the Buffer.  With the second
			{lnum}, deletes the range of lines from the first
			{lnum} to the second {lnum}.

							*perl-Buffer-Append*
Append({lnum}, {line}, {line}?, ...)
			Appends each {line} string after Buffer line {lnum}.
			The list of {line}s can be an array.

							*perl-Buffer-Set*
Set({lnum}, {line}, {line}?, ...)
			Replaces one or more Buffer lines with specified
			{lines}s, starting at Buffer line {lnum}.  The list of
			{line}s can be an array.  If the arguments are
			invalid, replacement does not occur.

==============================================================================
4. VIM::Window objects					*perl-window*

Methods:
							*perl-Window-SetHeight*
SetHeight({height})
			Sets the Window height to {height}, within screen
			limits.

							*perl-Window-GetCursor*
Cursor({row}?, {col}?)
			With no arguments, returns a (row, col) array for the
			current cursor position in the Window.  With {row} and
			{col} arguments, sets the Window's cursor position to
			{row} and {col}.  Note that {col} is numbered from 0,
			Perl-fashion, and thus is one less than the value in
			Vim's ruler.

Buffer()						*perl-Window-Buffer*
			Returns the Buffer object corresponding to the given
			Window.

==============================================================================
5. Lexical variables					*perl-globals*

There are multiple lexical variables.

$curwin			The current Window object.
$curbuf			The current Buffer object.
$vim			A Neovim::Ext object.
$nvim			The same as $nvim.
$current		A Neovim::Ext::Current object.

These are also available via the "main" package:

$main::curwin		The current Window object.
$main::curbuf		The current Buffer object.

 vim:tw=78:ts=8:noet:ft=help:norl:

Title: VIM Module: Buffers, Windows, and Lexical Variables
Summary
This section describes various functions and objects within the VIM module. It details `VIM::DoCommand` for executing Ex commands, `VIM::Eval` for evaluating expressions and retrieving values (options, variables, registers), and `VIM::Blob` for creating Blob literals. It then moves on to the methods available for VIM::Buffer objects, such as getting the name, number, line count, and manipulating lines (getting, deleting, appending, setting). Following this, it outlines the methods for VIM::Window objects, including setting height, getting/setting cursor position, and retrieving the associated buffer. Finally, it lists the available lexical variables like `$curwin`, `$curbuf`, `$vim`, `$nvim`, and `$current`, providing access to current window and buffer objects, along with references to main package equivalents.