有没有办法查看您在Vim中打开的最近文档列表?我意识到我可以查看光标跳转列表:ju
,然后转到列表中的光标位置,但这并不理想,因为列表中会有多个相同文档的列表。还有另一个命令会做我正在寻找的事情吗?
答案 0 :(得分:182)
除非你想要一个漂亮的菜单,否则不要使用插件。来自Vim Documentation: Starting(或:help old
):
:ol[dfiles]
然后要打开其中一个列出的文件,请使用:'0
,'1
,'2
,... '9
列出存储在viminfo
文件中的标记的文件。
:bro[wse] ol[dfiles][!]
列出与:oldfiles
一样的文件名,然后提示输入一个数字。当数字有效时,编辑列表中的文件。使用!
放弃修改后的缓冲区。
答案 1 :(得分:26)
最近使用的(MRU)插件提供了对列表的轻松访问 最近在Vim中打开/编辑过的文件。这个插件自动存储 在Vim中打开/编辑它们时的文件名。
答案 2 :(得分:7)
除了:oldfiles
,fzf.vim还有:History
。
答案 3 :(得分:1)
vim插件: minibufexpl 可能会对您有所帮助。 打开的文件列表显示在屏幕的顶部或底部:
在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>
答案 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 oldfiles
,q
,1
,Enter
相比,这节省了很少的按键次数
答案 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"'