So many choices! So confusing!
- When should one be used in preference to another?
- How do these relate to each other?
- What are the differences between them, anyway?
- How do they affect commands you type in?
- How do they relate to registers, macros, marks, options, and command history?
- Which nest inside which others, for example is a tab a subdivision of a window like in typical GUI programs, or is a window a subdivision of a tab?
- How does this relate to multiple command line arguments (the arglist) accessible through
:next
and:prev
? - And lastly, which of these (if any) are
vi
compatible?
:args
(which doesn't change buffers), and you can delete buffers, including the ones corresponding to arguments, with:bdelete
(which doesn't affect the list of arguments). Editing new files with:e
creates new buffers, and so does, say, opening help, but neither changes the list of arguments. And so on, and so forth; you can't rely on any relation between the two beyond startup.