by their short name in the
output of |:buffers|, but bufexists() requires using their
long name to be able to find them.
bufexists() may report a buffer exists, but to use the name
with a |:buffer| command you may need to use |expand()|. Esp
for MS-Windows 8.3 names in the form "c:\DOCUME~1"
Use "bufexists(0)" to test for the existence of an alternate
file name.
Parameters: ~
• {buf} (`any`)
Return: ~
(`0|1`)
buflisted({buf}) *buflisted()*
The result is a Number, which is |TRUE| if a buffer called
{buf} exists and is listed (has the 'buflisted' option set).
The {buf} argument is used like with |bufexists()|.
Parameters: ~
• {buf} (`any`)
Return: ~
(`0|1`)
bufload({buf}) *bufload()*
Ensure the buffer {buf} is loaded. When the buffer name
refers to an existing file then the file is read. Otherwise
the buffer will be empty. If the buffer was already loaded
then there is no change. If the buffer is not related to a
file then no file is read (e.g., when 'buftype' is "nofile").
If there is an existing swap file for the file of the buffer,
there will be no dialog, the buffer will be loaded anyway.
The {buf} argument is used like with |bufexists()|.
Parameters: ~
• {buf} (`any`)
bufloaded({buf}) *bufloaded()*
The result is a Number, which is |TRUE| if a buffer called
{buf} exists and is loaded (shown in a window or hidden).
The {buf} argument is used like with |bufexists()|.
Parameters: ~
• {buf} (`any`)
Return: ~
(`0|1`)
bufname([{buf}]) *bufname()*
The result is the name of a buffer. Mostly as it is displayed
by the `:ls` command, but not using special names such as
"[No Name]".
If {buf} is omitted the current buffer is used.
If {buf} is a Number, that buffer number's name is given.
Number zero is the alternate buffer for the current window.
If {buf} is a String, it is used as a |file-pattern| to match
with the buffer names. This is always done like 'magic' is
set and 'cpoptions' is empty. When there is more than one
match an empty string is returned.
"" or "%" can be used for the current buffer, "#" for the
alternate buffer.
A full match is preferred, otherwise a match at the start, end
or middle of the buffer name is accepted. If you only want a
full match then put "^" at the start and "$" at the end of the
pattern.
Listed buffers are found first. If there is a single match
with a listed buffer, that one is returned. Next unlisted
buffers are searched for.
If the {buf} is a String, but you want to use it as a buffer
number, force it to be a Number by adding zero to it: >vim
echo bufname("3" + 0)
< If the buffer doesn't exist, or doesn't have a name, an empty
string is returned. >vim
echo bufname("#") " alternate buffer name
echo bufname(3) " name of buffer 3
echo bufname("%") " name of current buffer
echo bufname("file2") " name of buffer where "file2" matches.
<
Parameters: ~
• {buf} (`integer|string?`)
Return: ~
(`string`)
bufnr([{buf} [, {create}]]) *bufnr()*
The result is the number of a buffer, as it is displayed by
the `:ls` command. For the use of {buf}, see |bufname()|
above.
If the buffer doesn't exist, -1 is returned. Or, if the
{create} argument is present and TRUE, a new, unlisted,
buffer is created and its number is returned.
bufnr("$") is the last buffer: >vim
let last_buffer = bufnr("$")
< The result is a Number, which is the