我想访问最近的文件,我已经打开,然后在 GVim 关闭。我经常打开和关闭 GVim。我还想查看以前会议的最新文件。
GVim 是否像 Word 和许多其他桌面应用程序一样存储最近的文件? 如何访问它们?
有一个 Mru.vim,它添加了 :MRU命令。
:MRU
至少终端 vim 将前十个文件存储到 filemark 部分的 ~/.viminfo中。你可以使用 '0、 '1、 '2、 ... ... '9在其中跳跃。
~/.viminfo
'0
'1
'2
'9
(可能只有当 '0返回到您编辑的最后一个文件时才有用,除非您的记忆力比我强。)
您还可以使用 :browse oldfiles命令获得带有数字的菜单。
:browse oldfiles
MRU 有很多特点,正如这里所解释的: http://www.thegeekstuff.com/2009/08/vim-editor-how-to-setup-most-recently-used-documents-features-using-mru-plugin/
从这里的评论( 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
有一个瑞士刀的文件切换 CtrlP 插件,这也是 Janus分配的一部分。它具有 :CtrlPMRU命令,可以在最近使用的文件中进行智能查找。
:CtrlPMRU
注: CtrlP在 g:ctrlp_cache_dir."mru/cache.txt"中维护自己的最新使用的文件列表。它没有重用包含文件标记列表的 viminfo (set viminfo?)。如果要清除此列表,这很有用。
CtrlP
g:ctrlp_cache_dir."mru/cache.txt"
set viminfo?
这里的回答非常晚... 详述@sarnold 的回答-您可以使用 oldfiles 命令@see: h oldfiles 或: h viminfo 查看文件历史记录
:oldfiles
此外,您还可以使用视图和会话进行细粒度的文件管理... ...@see: h mkview 和: h mksession 获取详细信息... ..。
我使用的最好方法是
最简单的方法。
这个插件可以让你通过以下命令搜索你最近使用过的文件和工作目录中的文件:
nnoremap <c-p> :CtrlPMixed<cr>
这为您节省了必须处理内置的 Vim 命令和 MRU 插件的麻烦,这两者都不允许您进行模糊文件搜索,这在处理大型项目时是至关重要的。
另一个让你可以从上次修改的文件列表中选择文件的插件是 吓一跳。它用最近修改过的文件列表替换开始屏幕。您可以随后使用 :Startify命令打开此页。
:Startify
使用 :bro ol,然后按与要打开的文件对应的号码。
:bro ol
您可以通过以下命令行访问列表:
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\"','"
:ls在左侧列出缓冲区编号的最新文件。
:ls
然后做 :b{buffer-number}跳到那里。
:b{buffer-number}
例如: :ls显示文件列表。我想跳到我访问的倒数第三个文件。 :b3会带我去那里。
:b3
为了更快地搜索,将 :ls映射到某个东西,例如. vimrc 文件中的 <Leader>.。
<Leader>.
你也可以回去与 ctrl + O。
因为 fzf 在之前的答案中没有提到,所以我在这里加了两分,这是一个非常棒的工具: Vim 有一个 :History命令,允许您以 毛茸茸的和 边打字边搜索的方式搜索最新使用的文件。 我通过不让 fzf 将搜索结果列表重新排序为最佳匹配来自定义这个命令的(默认)行为: 我希望所有匹配文件名的顺序保持为最后使用这些文件的顺序。 为了完成此自定义,我在。Vimrc 覆盖 fzf.vim 插件定义的默认 History命令:
:History
History
command! -bang -nargs=* History \ call fzf#vim#history({'options': '--no-sort'})
编辑: 目前我使用的是一个只有 nevim 的插件 望远镜,它与 fzf.vim 非常相似,它有一个命令 :Telescope old_files。它可以使用 fzf 算法作为后端的排序算法(目前推荐使用默认排序器)。 它看起来更好一些,但是根据上下文可能会慢一些。它不像 fzf 那样成熟,但对我来说更容易定制,它完全是 lua 脚本。 如果你是一个只使用新词的用户,绝对值得检查 imho。
:Telescope old_files