Vim中最近的文件历史记录?

Mer*_*glu 122 vim

我想访问我打开的最新文件,然后在GVim中关闭.我经常打开和关闭GVim.我也想访问之前会话中的最新文件.

GVim是否将最近的文件存储为Word和许多其他桌面应用程序存储?如何访问它们?

sar*_*old 220

至少终端vim将前十个文件存储在文件~/.viminfo标记部分中.您可以使用'0,'1,'2,... '9它们之间跳跃.

(可能只对'0回到你正在编辑的最后一个文件很有用,除非你的记忆比我强.)

您还可以使用该:browse oldfiles命令获取带有数字的菜单.

  • 使用`:浏览旧`获取文件列表.并输入`q`来选择要编辑的文件. (13认同)
  • `:e#<1`打开最后一个文件,参见`:h c _#<`. (5认同)
  • 如果要使用"0" - "9"作为导航标记,请不要手动标记它们 (2认同)

and*_*man 51

我使用的最好方法是

:browse oldfiles
Run Code Online (Sandbox Code Playgroud)

在vim上最简单的方法.


pmr*_*pmr 45

mru.vim,它添加了:MRU命令.


Edd*_*e B 21

这里很晚才回答...在@sarnolds回答中阐述 - 您可以使用oldfiles命令查看文件历史记录@see:h oldfiles或:h viminfo

:oldfiles 
Run Code Online (Sandbox Code Playgroud)

此外,您可以通过视图和会话进行细粒度的文件管理... @see:h mkview和:h mksession for specifics ...

  • 知道如何从`:oldfiles`列表中知道它的编号之后实际打开文件是有用的.可以使用`:browse`命令以交互方式执行此操作,如@sarnold所述,但也可以使用`:e#<N`手动执行此操作,其中N是来自`oldfiles`列表的数字. (3认同)

Ale*_*xey 11

有一个瑞士刀文件切换CtrlP插件,这也是janus分配的一部分.它具有:CtrlPMRU在最近使用的文件中进行智能查找的命令.

注意: CtrlP维护自己最近使用过的文件列表g:ctrlp_cache_dir."mru/cache.txt".它不会重复使用set viminfo?包含文件标记列表的viminfo().如果要清除此列表,这非常有用.


nen*_*hev 8

使用:bro ol然后按与您要打开的文件相对应的数字。


And*_*Ray 5

CtrlP插件可以让你通过你最近使用过的文件搜索以及与该命令将当前目录下的文件:

nnoremap <c-p> :CtrlPMixed<cr>
Run Code Online (Sandbox Code Playgroud)

这样可以省去处理内置Vim命令和MRU插件的麻烦,这两种操作都不允许您进行模糊文件搜索,这对于处理大型项目至关重要.


Emi*_*ags 5

在这里添加我的 2 美分,因为之前没有提到 fzf,这是一个非常棒的工具:
fzf.vim有一个:History命令,可以让您以模糊方式搜索最近使用的文件,并在键入时进行搜索
我通过不让 fzf 将搜索结果列表重新排序为最佳匹配来自定义此命令的(默认)行为:我希望所有匹配文件名的顺序始终是这些文件上次使用的顺序。
为了完成这个自定义,我在我的 .vimrc 中添加了以下内容来覆盖Historyfzf.vim 插件定义的默认命令:

    command! -bang -nargs=* History
      \ call fzf#vim#history({'options': '--no-sort'})
Run Code Online (Sandbox Code Playgroud)