API 如何重用 NerdTree 核心功能?

How to reuse NerdTree core function with API?

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

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

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

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

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

E117: Unknown function: closeCurrentDir

有什么建议吗?

此致,

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

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

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

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