Skip to content

Latest commit

 

History

History
54 lines (37 loc) · 1.8 KB

buffers.asciidoc

File metadata and controls

54 lines (37 loc) · 1.8 KB

Buffers

Commands

To open buffers or navigate through the buffers list see :doc commands files-and-buffers.

Scratch Buffers

Scratch buffers are useful for volatile data and quick prototyping. They are not linked to files.

One particular scratch buffer, named \*scratch\*, is automatically created when there are no other buffers left in the current session. (which is also the case at Kakoune’s startup when no files to open have been provided)

A scratch buffer can be created by passing the -scratch switch to the :edit command.

Debug Buffers

Debug buffers are used to gather diagnostics. They are not accessible while cycling over the buffers list.

A specific \*debug\* buffer is used by Kakoune to write errors or warnings. This is also where the ouput of the :debug and the :echo -debug commands will land.

A scratch buffer can be created by passing the -debug switch to the :edit command.

FIFO Buffers

The :edit command can take a -fifo switch:

:edit -fifo <filename> [-scroll] <buffername>

In this case, a buffer named <buffername> is created which reads its content from the fifo (also called "named pipe") <filename>. When the fifo is written to, the buffer is automatically updated.

If the -scroll switch is specified, the window displaying the buffer will scroll so that the newest data is always visible.

This is very useful for running some commands asynchronously while displaying their result in a buffer. See rc/make.kak and rc/grep.kak for examples.

When the buffer is deleted, the fifo will be closed, so any program writing to it will receive SIGPIPE. This is useful as it permits to stop the writing program when the buffer is deleted.