微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

vim – 在使用NERD树时使用VCSCommand插件提交目录

我使用的是 vim 7.3,NERDTree 4.1插件和VCSCommand版本1.99.42.

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

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

注意:我知道这个stackoverflow question,dev说他禁用了NERD Tree插件,因为他使用Command-T作为文件浏览器,但是我想继续使用NERD Tree,没有提到禁用NERD Tree帮助.

解决方法

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

您需要使用启用/禁用接口更新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:

手动调用这些功能效果很好.即:

>你打电话给disableNERDTree()
>然后编辑文件
>然后使用VCS命令
>最后调用HijackNERTW()

我更新了patch ,因此这些功能可以自动使用.
disableNERDTree()现在将目录更改为打开的目录.例如.:

fun! NewVCSadd()
   call disableNERDTree()
   :e . "start netrw
   :VCSAdd<CR>
   call HijackNERTW()
   :e . "start NERDTree
endfunction

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐