我想访问我打开的最新文件,然后在GVim中关闭。我经常打开和关闭GVim。我也想访问之前会话中的最新文件。
GVim是否将最近的文件存储为Word和许多其他桌面应用程序存储?如何访问它们?
答案 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
命令,可在最近使用的文件中进行智能查找。
注意:强>
CtrlP
在g:ctrlp_cache_dir."mru/cache.txt"
中维护自己最近使用过的文件列表。它不会重用包含文件标记列表的viminfo(set viminfo?
)。如果要清除此列表,这非常有用。
答案 5 :(得分:5)
使用CtrlP插件,您可以使用以下命令搜索最近使用的文件以及当前目录中的文件:
nnoremap <c-p> :CtrlPMixed<cr>
这样可以省去处理内置Vim命令和MRU插件的麻烦,这两种操作都不允许您进行模糊文件搜索,这对于处理大型项目至关重要。
答案 6 :(得分:4)
MRU具有许多功能,如下所述:http://www.thegeekstuff.com/2009/08/vim-editor-how-to-setup-most-recently-used-documents-features-using-mru-plugin/
答案 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'})