Vim can open files and create buffers using a variety of commands:
Command | Action | Pattern |
---|---|---|
:edit | edit a file | :edit [path/to/file] |
:read | read file into the text | :read [path/to/file] |
:new | create a new empty window | |
:enew | edit a new, unnamed buffer | |
:write | write to a file | :w[rite] [path/to/file] |
Commands that take paths generally accept both relative and absolute paths.
The commands summarized above each perform similar tasks, but the :read command offers and extra bit of functionality that can be useful in some situations: in addition to accepting a path as an argument, :read can also insert the output of shell commands into the current buffer. For example, to insert the current time into Vim one might execute:
:read !date '%T'
which inserts the current time at the current cursor location.
No-Name Buffers
You might have noticed that when a file is loaded into a buffer, the buffer takes the name of the file. So what happens when an empty buffer is opened? In that case, the buffer is called a "no-name" buffer.
No-name buffers are just like any other buffers, and the content can be saved to a file or simply thrown away.
To save the content from a no-name buffer to a file, simply add a filename to the :write command:
:write /path/to/file
This saves the current buffer content into the specified path, then updates the buffer to reflect the filename.