在NERDTree中浏览自定义模型

时间:2013-12-16 12:05:48

标签: vim nerdtree

我想拥有一个漂亮的svn回购浏览器,我只有一个稀疏的结账(immediates)。我有一个列出每个文件/文件夹的文件,但它们在我的本地驱动器上不存在。

我喜欢做的是,能够在NERDTree中按层次浏览文件列表,然后挂钩到“打开”操作以启动一些svn命令以检出相关文件,然后在vim中打开它。

即使不支持第二部分(挂钩到NERDTree),即使是第一部分(浏览我的自定义模型)也会很棒。

NERDTree目前是否支持此功能?

1 个答案:

答案 0 :(得分:1)

NERD_Tree中的目录枚举当前是硬编码的,以使用globpath();请参阅plugin/nerdtree/tree_dir_node.vim的摘录:

function! s:TreeDirNode._initChildren(silent)
    [8 lines deleted]
    let filesStr = globpath(globDir, '*', 1) . "\n" . globpath(globDir, '.*', 1)

幸运的是,实现(部分)面向对象,因此可以将s:TreeDirNode对象与您自己的SubversionTreeDirNode实现交换。但是,我不认为这是曾经尝试过的,你可能需要在NERD_Tree本身进行调整(例如钩子来注入不同的对象)。

我建议您与插件的作者联系。由于插件已经支持扩展(对于它的菜单等),作者可能会打开其他钩子/配置,甚至可能愿意直接包含任何未来的Subversion特定功能。