【问题标题】:How to reuse NerdTree core function with API?如何使用 API 重用 NerdTree 核心功能?
【发布时间】:2018-12-06 11:08:39
【问题描述】:

我正在寻找一种在 NERDTreeAddKeyMap 回调函数上重用核心 nerdtree 函数的方法,但在网上查找后我没有找到方法。

我尝试了一些类似下面的方法:

call NERDTreeAddKeyMap({                                                         
  \ 'key': '<Left>',                                                             
  \ 'scope': 'Node',                                                             
  \ 'callback': 'NerdTest' })                                                    

function! NerdTest(node)                                                         
  call closeCurrentDir(a:node)                                                                                                                                                                           
endfunction

但是我在尝试按下目录时遇到了这个错误

E117: Unknown function: closeCurrentDir

有什么建议吗?

最好的问候,

【问题讨论】:

    标签: vim nerdtree


    【解决方案1】:

    closeCurrentDir function 是脚本本地的;它不暴露在外面。

    有一些技巧可以使其可访问,或者您可以要求作者将其公开为:help autoload 函数。

    但是,由于该功能已映射到一个键 (:help NERDTree-x),您可以通过 :normal 触发该键。如果您使用相应的配置变量 (g:NERDTreeMapCloseDir) 而不是硬编码密钥,这甚至允许重新映射。

    function! NerdTest(node)
        execute 'normal' g:NERDTreeMapCloseDir
    endfunction
    

    【讨论】:

    • 不知道我们可以像这样使用这些映射。如果我只需要已经映射的功能,它似乎可以完成这项工作。谢谢:)
    猜你喜欢
    • 2020-08-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-22
    • 1970-01-01
    • 2020-11-02
    • 1970-01-01
    • 2015-01-06
    相关资源
    最近更新 更多