是否可以配置NERDTreeToggle的行为以在打开时使用NERDTreeFind?

时间:2013-02-19 17:45:53

标签: vim vim-plugin nerdtree

是否可以配置NERDTree以便:NERDTreeToggle的行为如下:NERDTreeFind如果缓冲区未打开(而不是默认值:NERDTree)?

如果失败了,是否可以创建一个映射/小脚本,可以检查NERDTree窗口的可见性,如果打开关闭它,如果关闭调用NERDTreeFind? 我查看了NERDTree文档,以查找NERDTree窗口的可见性是否已打开,但找不到它。

3 个答案:

答案 0 :(得分:1)

有一个功能,可以帮助您区分是否打开了NERDTree。

nerdtree#isTreeOpen()

当您打开/关闭Nerdtree时,您可以使用:echom nerdtree#isTreeOpen()进行一些测试。

答案 1 :(得分:1)

您可以设置let NERDTreeQuitOnOpen=1以在选择文件时关闭树,并为查找创建映射:

nmap <leader>p :NERDTreeFind<CR>

答案 2 :(得分:1)

我现在正在学习使用Vim,并且在打开时也有同样的愿望让NERDTreeToggle使用NERDTreeFind。经过一些挖掘/谷歌搜索后,我开始编写一个简单的Vim脚本,它似乎对我有用! :

function! ToggleNERDTreeFind()
    if g:NERDTree.IsOpen()
        execute ':NERDTreeClose'
    else
        execute ':NERDTreeFind'
    endif
endfunction

我刚将上述函数绑定到快捷键,用于查找/关闭NERDTree。希望这会有所帮助。

nnoremap <leader>f :call ToggleNERDTreeFind()<CR>