Inspired by a nice solution on a Stack Overflow, the following was put in my vimrc:command! Bro :vnew +setl\ buftype=nofile | 0put =v:oldfiles   \| nnoremap <buffer> <CR> :e <C-r>=getline('.')<CR><CR>There are two problems with it I'd like to fix:I want to view the list from the top (most recent) rather than the bottom, as is currently the case. I've tried adding 1G to the script, but to no avail.I would rather the list be open in the current window, so I don't have to come back to close it later. Using enew instead of vnew produces an E488 error, and e puts the list of files in current file.Thanks.Update. Since the purpose of this exercise is to make the file list searchable, it's probably a good idea to append :noh<CR> to the nnoremap so that once you've searched, found your file, and opened it by pressing Enter, search terms are not highlighted in the file.
Better bro ol
user commands
This should work:command! Bro :enew | setl buftype=nofile |  0put =v:oldfiles  \| nnoremap <buffer> <CR> gf | 1:enew doesn't support +cmd, unlike :vnew, so just split the :setl out to a new, chained, command.I changed the mapping to use gf, which IMHO, is more native. The last command, 1, should move the cursor to the first line. Unlike the :e  getline() version, gf will fail if the file doesn't exist - the help in fact suggests using that if you always want to edit a new file if it doesn't exit and suggests a simpler variant:To make gf always work like that:         :map gf :e <cfile><CR>So you could also do nnoremap <buffer> <CR> :e <cfile><CR>. But I suppose this isn't really a problem - files in the history are more likely to exist than not. :)