I am confused between the two events BufRead
and BufEnter
. What is the difference between them?
Some example scenarios where I would choose one
A buffer is the in-memory representation of a file; to edit one, it has to be displayed in a window.
The BufRead
event is triggered after Vim has read the file into its memory. Unless you reload via :edit!
, this only happens once.
The BufEnter
is fired whenever you activate a certain buffer, i.e. when it becomes the buffer the cursor is in. For example when you have split windows that show different buffers, and you move between then. Also in a single window, when you use a command like
, :bnext
to change which buffer is currently edited.