vim – 如何自定义NERDTree行为
我最近在我的
vim配置中添加了NERDTree和NERDTreeTabs,我对此非常满意.
但是,我想进一步配置它并具有以下行为: 按Ctrl键: >如果在NERDTree内,什么也不做. Ctrl右: >如果在NERDTree内部,请返回已编辑的文件而不关闭NERDTree. (就像Ctrl-w一样,Right也会这么做.) 但是,我的Vim脚本技能对我来说是很低的,以获得任何令人满意的结果.例如,我无法弄清楚如何检查当前活动窗口是什么或如何编写适当的条件语句. 有人可以帮助我吗? 谢谢. 解决方法
如果终于找到了办法.
我编辑了nerdtree_plugin / vim-nerdtree-tabs.vim文件,添加了以下功能: " === Stepped Open/Close functions === " focus the NERDTree view,creating one first if none is present fun! s:NERDTreeSteppedOpen() if !s:IsCurrentWindowNERDTree() if s:IsNERDTreeOpenInCurrentTab() call s:NERDTreeFocus() else call s:NERDTreeMirrorOrCreate() endif endif endfun " unfocus the NERDTree view or closes it if it hadn't had focus at the time of " the call fun! s:NERDTreeSteppedClose() if s:IsCurrentWindowNERDTree() call s:NERDTreeUnfocus() else let l:nerdtree_open = s:IsNERDTreeOpenInCurrentTab() if l:nerdtree_open silent NERDTreeClose endif endif endfun 我还向作者提出了一个pull-request问他是否想在上游添加这些功能. 作者将我的pull请求添加到主存储库,因此在下一个版本中,您可以直接调用这些函数. 希望它能帮到人们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |