如何通过API重用NerdTree核心功能?

时间:2018-12-06 11:08:39

标签: vim nerdtree

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

我尝试了一些类似波纹管的事情:

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

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

但是我在尝试按目录时遇到此错误

E117: Unknown function: closeCurrentDir

有什么建议吗?

最诚挚的问候,

1 个答案:

答案 0 :(得分:2)

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

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

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

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