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

有没有办法查看您在 Vim 中打开的 最近的文件列表?

我意识到我可以查看光标 跳跃列表:ju,然后转到列表中的光标位置,但这并不理想,因为列表中将有同一文档的多个清单。

还有别的命令能做到我想要的吗?

38357 次浏览

最近使用(MRU)插件提供了一个简单的访问列表 最近在 Vim 中打开/编辑的文件 当您在 Vim 中打开/编辑文件名时。

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

不要使用插件,除非你想要一个漂亮的菜单。来自 Vim 文档: 开始(或 :help old) :

:ol[dfiles]

然后打开列出的文件之一,使用: '0'1'2,... ... '9


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

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

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

Vim 插件: Minibufexpl可以帮助你。 打开的文件列表显示在屏幕的顶部或底部:

enter image description here

在 vim 正常模式下,键入 : b ${ bufid }跳转到 ${ bufid } _ th缓冲区,例如: 键入 校对: b13跳转到 13号缓冲区,即。Ngx _ mail _ ssl _ module.c.

此外,您可以在 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

除了 oldfiles之外,还有一个很好的东西叫做 微型 MRU

Vim-tinyMRU 的唯一目的是为内置的: oldfile 命令提供一个直观的替代方案。

很简单:

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

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

您可以调用 :Denite file_old以便对旧文件列表进行模糊搜索。特别是,只要按下 Enter键就会重新打开最后打开的文件。为此指定一个快捷方式是有用的:

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

:browse oldfilesq1Enter相比,这样可以节省很少的击键次数

除了 :oldfilesFzf.vim还有 :History

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

let g:netrw_sort_by           = 'time'


let g:netrw_sort_direction    = 'r'

这些行可以根据最近修改的内容对文件进行排序。然后简单地调用: e. 并选择所需的文件。

该解决方案假定文件保存在. gvimrc.E.g 中指定的一个主目录中。

cd ~/vim

启动 Vim 并按 Ctrl-o-o 打开以前编辑过的文件。继续点击 o (同时仍然按 Ctrl 键)来循环访问早期的文件。参见 https://dev.to/jovica/3-little-known-but-useful-vim-tips-1pbg

没有直接的答案,但有关联。

您可以定义 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"'

:ol可以工作,但是为什么不使用模糊搜索从一长串文件中快速获得精确匹配呢?

有一个非常方便的插件,ctrlp 允许你使用 :CtrlPMRU,你可以很快得到你想要的。

多年来,ctrlp 是我为 vim 安装的第一个软件之一!

Https://github.com/ctrlpvim/ctrlp.vim