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

时间:2010-07-03 11:05:31

标签: vim

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

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

14 个答案:

答案 0 :(得分:200)

至少终端vim将前十个文件存储到文件标记部分的~/.viminfo中。您可以使用'0'1'2,... '9在其中跳转。

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

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

答案 1 :(得分:49)

我使用的最佳方式是

:browse oldfiles

vim上的最简单方法。

答案 2 :(得分:44)

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

答案 3 :(得分:21)

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

:oldfiles 

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

答案 4 :(得分:11)

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

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

答案 5 :(得分:5)

使用CtrlP插件,您可以使用以下命令搜索最近使用的文件以及当前目录中的文件:

nnoremap <c-p> :CtrlPMixed<cr>

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

答案 6 :(得分:4)

答案 7 :(得分:4)

使用&#34; :兄弟&#34;然后按与您要打开的文件对应的数字。

答案 8 :(得分:2)

如此处的评论(http://stackoverflow.com/questions/571955/undo-close-tab-in-vim)所示,您的文件可能仍在缓冲区中打开:

:ls " get the buffer number
:tabnew +Nbuf " where N is the buffer number

例如,您可以在新选项卡中重新打开第三个缓冲区(如果不使用选项卡,请使用:e):

:tabnew +3buf

答案 9 :(得分:1)

另一个允许您从上次修改后的文件列表中选择文件的插件是staritfy。它用最近修改过的文件列表替换您的开始屏幕。您随后可以使用:Startify命令打开此页面。

答案 10 :(得分:1)

:ls在左侧列中列出缓冲区编号最近的文件。

然后:b{buffer-number}跳到那里。

示例: :ls显示文件列表。我想跳到我访问的倒数第二个文件。 :b3带我去那里。

为了更快地进行搜索,请将:ls映射到某些内容,例如<Leader>.在您的.vimrc文件中。

答案 11 :(得分:0)

您可以使用以下命令从命令行访问列表:

grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'"$HOME"','

说明:

grep '^>' ~/.viminfo  #find the list of recent files
cut -c3-              #remove the first 2 characters
sed 's,~,'"$HOME"','  #replace ~ with absolute path

如果您经常使用这个别名,可以使用bash别名

alias vim_mru="grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'\"$HOME\"','"

答案 12 :(得分:0)

此外,您还可以返回 ctrl + O

答案 13 :(得分:0)

在这里添加我的2美分是因为之前没有提到fzf,这是一个很棒的工具:
fzf.vim有一个:History命令,可让您以模糊的方式搜索最近使用的文件。
我通过不让fzf对列表进行最佳排序来进一步自定义此列表:我希望顺序保持使用这些文件的顺序。
我在.vimrc中添加了以下内容,以覆盖fzf.vim插件定义的默认History命令:

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