在Vim中查看最近的文档列表

时间:2008-11-21 18:37:27

标签: vim recent-documents

有没有办法查看您在Vim中打开的最近文档列表?我意识到我可以查看光标跳转列表:ju,然后转到列表中的光标位置,但这并不理想,因为列表中会有多个相同文档的列表。还有另一个命令会做我正在寻找的事情吗?

9 个答案:

答案 0 :(得分:182)

除非你想要一个漂亮的菜单,否则不要使用插件。来自Vim Documentation: Starting(或:help old):

:ol[dfiles]

然后要打开其中一个列出的文件,请使用:'0'1'2,... '9


列出存储在viminfo文件中的标记的文件。

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

列出与:oldfiles一样的文件名,然后提示输入一个数字。当数字有效时,编辑列表中的文件。使用!放弃修改后的缓冲区。

答案 1 :(得分:26)

最近使用的(MRU)插件提供了对列表的轻松访问 最近在Vim中打开/编辑过的文件。这个插件自动存储 在Vim中打开/编辑它们时的文件名。

http://www.vim.org/scripts/script.php?script_id=521

答案 2 :(得分:7)

除了:oldfilesfzf.vim还有:History

答案 3 :(得分:1)

vim插件: minibufexpl 可能会对您有所帮助。 打开的文件列表显示在屏幕的顶部或底部:

enter image description here

在vim普通模式下,输入:b $ {bufid} 以跳转到 $ {bufid} _th 缓冲区,例如:输入:b13 < / strong>跳转到第13个缓冲区,即。 ngx_mail_ssl_module.c。

besidies,您可以在vimrc中映射一些方便的绑定,例如:

" ------------------------------- 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>

从此处获取插件:https://github.com/fholgado/minibufexpl.vim

答案 4 :(得分:1)

除了oldfiles之外,还有一个名为tinyMRU的好东西。

  

Vim-tinyMRU的唯一目的是提供内置的:oldfile命令的直观替代方案。没什么,没什么。

这很简单:

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

答案 5 :(得分:1)

一个好的插件是https://github.com/Shougo/denite.nvim

您可以调用:Denite file_old以便对旧文件列表进行模糊搜索。特别是,只需点击Enter即可重新打开最后打开的文件。为此分配快捷方式非常有用:

nnoremap <leader>o :Denite<space>file_old<CR>
:browse oldfilesq1Enter

相比,这节省了很少的按键次数

答案 6 :(得分:1)

启动Vim,然后按Ctrl-o-o打开先前编辑的文件。继续按o(同时仍然按Ctrl键)可循环浏览较早的文件。参见https://dev.to/jovica/3-little-known-but-useful-vim-tips-1pbg

答案 7 :(得分:0)

访问最近文件的最简单方法是将以下内容添加到一个人的.gvimrc文件中:

let g:netrw_sort_by           = 'time'

let g:netrw_sort_direction    = 'r'

这些行使netrw可以按最近修改的文件对文件进行排序。然后,一个人简单地调用:e。并选择一个想要的文件。

此解决方案假定文件保存在.gvimrc中指定的一个主目录中。例如

cd ~/vim

答案 8 :(得分:0)

不是直接的答案,而是相关的。

您可以定义 aliases 以通过 vim 打开最后打开的文件:

alias vil='vim -c "normal! '\''0"' # open the last file
alias vil1='vim -c "normal! '\''1"'  # open the second last file ...
alias vil2='vim -c "normal! '\''2"'