View a list of recent documents in Vim

2019-03-07 18:21发布

Is there a way to view the list of recent documents you've opened in Vim? I realize I could view the cursor jump list, :ju, and then go to a cursor position in the list but this is not ideal because there will be multiple listings of the same document in the list. Is there another command which would do what I'm looking for?

8条回答
beautiful°
2楼-- · 2019-03-07 19:03

Start Vim and hit Ctrl-o-o to open previously edited file. Keep hitting o (while still pressing the Ctrl key) to cycle back through earlier files. See https://dev.to/jovica/3-little-known-but-useful-vim-tips-1pbg

查看更多
一纸荒年 Trace。
3楼-- · 2019-03-07 19:07

Besides :oldfiles, fzf.vim has :History.

查看更多
再贱就再见
4楼-- · 2019-03-07 19:08

In addition to oldfiles there's a nice thing called tinyMRU.

Vim-tinyMRU's only purpose is to provide an intuitive alternative to the built-in :oldfile command. Nothing more, nothing less.

It's very simple:

https://github.com/romainl/vim-tinyMRU/blob/master/plugin/tinymru.vim

查看更多
Emotional °昔
5楼-- · 2019-03-07 19:10

Don't use a plugin, unless you want a nice menu. From Vim Documentation: Starting (or :help old):

:ol[dfiles]

Then to open one of the listed files, use: '0, '1, '2, ... '9


List the files that have marks stored in the viminfo file.

:bro[wse] ol[dfiles][!]

List file names as with :oldfiles, and then prompt for a number. When the number is valid that file from the list is edited. Use ! to abandon a modified buffer.

查看更多
相关推荐>>
6楼-- · 2019-03-07 19:10

The easiest way for me to access recent files is to add the following to one's .gvimrc file:

let g:netrw_sort_by           = 'time'

let g:netrw_sort_direction    = 'r'

These lines get netrw to sort files by those most recently modified. Then one simply calls :e. and selects the file one wants.

This solution presupposes files are saved in one main directory so specified in .gvimrc. E.g.

cd ~/vim
查看更多
7楼-- · 2019-03-07 19:15

vim plugin: minibufexpl may help you. the opened file list is displayed on the top or bottom of the screen:

enter image description here

in vim normal mode, type :b${bufid} to jump to the ${bufid}_th buffer, for example: type :b13 to jump to the 13th buffer, ie. ngx_mail_ssl_module.c.

besidies, you can map some convenient bindings in your vimrc, such as:

" ------------------------------- minibufexpl mappings -----------------------------------
"let g:miniBufExplSplitBelow=1
nnoremap <silent> <leader>bn :bn<cr>
nnoremap <silent> <leader>bp :bp<cr>
nnoremap <silent> <leader>bf :bf<cr>
nnoremap <silent> <leader>bl :bl<cr>
nnoremap <silent> <leader>bt :TMiniBufExplorer<cr>

Get the plugin from here: https://github.com/fholgado/minibufexpl.vim

查看更多
登录 后发表回答