gpt4 book ai didi

vim - 在使用 NERDTree 时使用 VCS 命令插件提交目录

转载 作者:行者123 更新时间:2023-12-04 15:44:49 26 4
gpt4 key购买 nike

我正在使用 vim 7.3、NERDTree 4.1 插件和 VCSCommand 版本 1.99.42。

要在 VCSCommand 中提交目录,您需要打开目录缓冲区(与目录上的所有命令相同),但是每当我尝试打开安装了 NERD Tree 插件的目录缓冲区时,它会将缓冲区称为 Nerd_tree_* 而不是我需要进行相关提交的目录名称。

我该如何防止这种情况发生?如何打开安装了 NERD 树的标准目录缓冲区?如何定期关闭 NERD Tree 以执行命令?

注意:我知道 stackoverflow question开发人员说他禁用了 NERD 树插件,因为他使用 Command-T 作为文件浏览器,但我想继续使用 NERD 树,帮助中没有提到禁用 NERD 树。

最佳答案

有一个解决方案,但它需要一些编码。

您需要使用启用/禁用接口(interface)来更新 netrw 和 NERDTree 插件。

我创建 this gist为您提供两个必须更改的文件。
文件本身也附上。

  • netrwPlugin.vim 驻留在vim 安装目录下。
  • NERD_tree 应该在你的 ~/.vim/plugin 目录中(除非你使用 pathogen )。

  • 通过此更改,您可以使用
    call DisableNERDTree()

    禁用 NERD 并使 vim 使用 netrw (它是原始文件管理)和
    call HijackNERTW()

    再次恢复NERDTree。

    当然,您还需要通过使用自己的包装函数或修改 VCS 本身来调用相关 VCS 命令之前和之后的函数。

    希望这有帮助。

    2011-03-17 编辑:

    手动调用这些函数效果很好。 IE:
  • 您调用call DisableNERDTree()
  • 然后编辑文件夹
  • 然后你使用 VCS 命令
  • 最后是 call HijackNERTW()

  • 我更新了 patch 所以这些功能可以以自动化的方式使用。 DisableNERDTree()现在将目录更改为打开的目录。例如。:
    fun! NewVCSadd()
    call DisableNERDTree()
    :e . "start netrw
    :VCSAdd<CR>
    call HijackNERTW()
    :e . "start NERDTree
    endfunction

    关于vim - 在使用 NERDTree 时使用 VCS 命令插件提交目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5250891/

    26 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com