What is the difference between BufRead and BufEnter?

后端 未结 2 2433
星月不相逢
星月不相逢 2021-02-20 15:41

I am confused between the two events BufRead and BufEnter. What is the difference between them?

Some example scenarios where I would choose one

相关标签:
2条回答
  • 2021-02-20 16:32

    BufRead is triggered after the buffer has been populated with the content of a file.

    BufEnter is triggered after you enter a buffer for editing.

    You may use BufNew, BufRead or BufAdd if you want to do something upon the creation of the buffer: setting some global variable, populating a buffer list of your own for use in a script.

    You may use BufEnter when you want to set specific options depending on the filetype or whatever.

    0 讨论(0)
  • 2021-02-20 16:44

    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 <C-^>, :bnext to change which buffer is currently edited.

    0 讨论(0)
提交回复
热议问题