Search notes:

VIM enum: auto_event

The vim.h source file defines the auto_event enum that has an entry for each event. It basically assigns an (internal) number to each event:
enum auto_event
{
    EVENT_BUFADD = 0,           // after adding a buffer to the buffer list
    EVENT_BUFDELETE,            // deleting a buffer from the buffer list
    EVENT_BUFENTER,             // after entering a buffer
    EVENT_BUFFILEPOST,          // after renaming a buffer
    EVENT_BUFFILEPRE,           // before renaming a buffer
    EVENT_BUFHIDDEN,            // just after buffer becomes hidden
    EVENT_BUFLEAVE,             // before leaving a buffer
    EVENT_BUFNEW,               // after creating any buffer
    EVENT_BUFNEWFILE,           // when creating a buffer for a new file
    EVENT_BUFREADCMD,           // read buffer using command
    EVENT_BUFREADPOST,          // after reading a buffer
    EVENT_BUFREADPRE,           // before reading a buffer
    EVENT_BUFUNLOAD,            // just before unloading a buffer
    EVENT_BUFWINENTER,          // after showing a buffer in a window
    EVENT_BUFWINLEAVE,          // just after buffer removed from window
    EVENT_BUFWIPEOUT,           // just before really deleting a buffer
    EVENT_BUFWRITECMD,          // write buffer using command
    EVENT_BUFWRITEPOST,         // after writing a buffer
    EVENT_BUFWRITEPRE,          // before writing a buffer
    EVENT_CMDLINECHANGED,       // command line was modified
    EVENT_CMDLINEENTER,         // after entering the command line
    EVENT_CMDLINELEAVE,         // before leaving the command line
    EVENT_CMDUNDEFINED,         // command undefined
    EVENT_CMDWINENTER,          // after entering the cmdline window
    EVENT_CMDWINLEAVE,          // before leaving the cmdline window
    EVENT_COLORSCHEME,          // after loading a colorscheme
    EVENT_COLORSCHEMEPRE,       // before loading a colorscheme
    EVENT_COMPLETECHANGED,      // after completion popup menu changed
    EVENT_COMPLETEDONE,         // after finishing insert complete
    EVENT_CURSORHOLD,           // cursor in same position for a while
    EVENT_CURSORHOLDI,          // idem, in Insert mode
    EVENT_CURSORMOVED,          // cursor was moved
    EVENT_CURSORMOVEDI,         // cursor was moved in Insert mode
    EVENT_DIFFUPDATED,          // after diffs were updated
    EVENT_DIRCHANGED,           // after user changed directory
    EVENT_ENCODINGCHANGED,      // after changing the 'encoding' option
    EVENT_EXITPRE,              // before exiting
    EVENT_FILEAPPENDCMD,        // append to a file using command
    EVENT_FILEAPPENDPOST,       // after appending to a file
    EVENT_FILEAPPENDPRE,        // before appending to a file
    EVENT_FILECHANGEDRO,        // before first change to read-only file
    EVENT_FILECHANGEDSHELL,     // after shell command that changed file
    EVENT_FILECHANGEDSHELLPOST, // after (not) reloading changed file
    EVENT_FILEREADCMD,          // read from a file using command
    EVENT_FILEREADPOST,         // after reading a file
    EVENT_FILEREADPRE,          // before reading a file
    EVENT_FILETYPE,             // new file type detected (user defined)
    EVENT_FILEWRITECMD,         // write to a file using command
    EVENT_FILEWRITEPOST,        // after writing a file
    EVENT_FILEWRITEPRE,         // before writing a file
    EVENT_FILTERREADPOST,       // after reading from a filter
    EVENT_FILTERREADPRE,        // before reading from a filter
    EVENT_FILTERWRITEPOST,      // after writing to a filter
    EVENT_FILTERWRITEPRE,       // before writing to a filter
    EVENT_FOCUSGAINED,          // got the focus
    EVENT_FOCUSLOST,            // lost the focus to another app
    EVENT_FUNCUNDEFINED,        // if calling a function which doesn't exist
    EVENT_GUIENTER,             // after starting the GUI
    EVENT_GUIFAILED,            // after starting the GUI failed
    EVENT_INSERTCHANGE,         // when changing Insert/Replace mode
    EVENT_INSERTCHARPRE,        // before inserting a char
    EVENT_INSERTENTER,          // when entering Insert mode
    EVENT_INSERTLEAVE,          // when leaving Insert mode
    EVENT_MENUPOPUP,            // just before popup menu is displayed
    EVENT_OPTIONSET,            // option was set
    EVENT_QUICKFIXCMDPOST,      // after :make, :grep etc.
    EVENT_QUICKFIXCMDPRE,       // before :make, :grep etc.
    EVENT_QUITPRE,              // before :quit
    EVENT_REMOTEREPLY,          // upon string reception from a remote vim
    EVENT_SAFESTATE,            // going to wait for a character
    EVENT_SAFESTATEAGAIN,       // still waiting for a character
    EVENT_SESSIONLOADPOST,      // after loading a session file
    EVENT_SHELLCMDPOST,         // after ":!cmd"
    EVENT_SHELLFILTERPOST,      // after ":1,2!cmd", ":w !cmd", ":r !cmd".
    EVENT_SOURCECMD,            // sourcing a Vim script using command
    EVENT_SOURCEPRE,            // before sourcing a Vim script
    EVENT_SOURCEPOST,           // after sourcing a Vim script
    EVENT_SPELLFILEMISSING,     // spell file missing
    EVENT_STDINREADPOST,        // after reading from stdin
    EVENT_STDINREADPRE,         // before reading from stdin
    EVENT_SWAPEXISTS,           // found existing swap file
    EVENT_SYNTAX,               // syntax selected
    EVENT_TABCLOSED,            // after closing a tab page
    EVENT_TABENTER,             // after entering a tab page
    EVENT_TABLEAVE,             // before leaving a tab page
    EVENT_TABNEW,               // when entering a new tab page
    EVENT_TERMCHANGED,          // after changing 'term'
    EVENT_TERMINALOPEN,         // after a terminal buffer was created
    EVENT_TERMINALWINOPEN,      // after a terminal buffer was created and entering its window
    EVENT_TERMRESPONSE,         // after setting "v:termresponse"
    EVENT_TEXTCHANGED,          // text was modified not in Insert mode
    EVENT_TEXTCHANGEDI,         // text was modified in Insert mode
    EVENT_TEXTCHANGEDP,         // TextChangedI with popup menu visible
    EVENT_TEXTYANKPOST,         // after some text was yanked
    EVENT_USER,                 // user defined autocommand
    EVENT_VIMENTER,             // after starting Vim
    EVENT_VIMLEAVE,             // before exiting Vim
    EVENT_VIMLEAVEPRE,          // before exiting Vim and writing .viminfo
    EVENT_VIMRESIZED,           // after Vim window was resized
    EVENT_WINENTER,             // after entering a window
    EVENT_WINLEAVE,             // before leaving a window
    EVENT_WINNEW,               // when entering a new window

    NUM_EVENTS			// MUST be the last one
}

typedef enum auto_event event_T;
autocmd.c then defines the static struct event_name that is used in the array event_names to assign a name to each event number (event_T).

See also

Event names can be converted to event numbers (ids) and vice versa with event_name2nr() and event_nr2name().

Index