I have the following autocmds to automatically open the quickfix window or the location list window after executing a quickfix command. augroup quickfix_window autocmd! autocmd QuickFixCmdPost [^l]* nested cwindow | setlocal nowrap | redraw! autocmd QuickFixCmdPost l* nested lwindow | setlocal nowrap | redraw! augroup END It seems to work except with the `:lhelpgrep` command. If I type `:lvim /autocmd/ %` to look for all the words matching `autocmd` inside the current buffer, the location list is populated with all the matches and the location list window is automatically opened (provided there are matches). But If I type `:lh autocmd` to look for the word `autocmd` inside the help files, even though the command is run and the location list is populated with results, the location list window is not opened, I have to do it manually with `:lwindow`. According to `:h QuickFixCmdPre`, `The pattern is matched against the command being run.`. Here the command name is `:lh` which begins with the `l` character, so it should match the pattern `l*` in the 2nd autocmd. If I replace `:lwindow` with `:lopen` to ask the location list window to be opened even if the location list is empty, the previous command `:lh autocmd` raises the following error: Error detected while processing QuickFixCmdPost Auto commands for "l*": E776: No location list It seems, `:lh` populates the location list after the `QuickFixCmdPost` event, instead of before like I expected. Is there another way to make the location list window automatically opened after `:lh` has been run?