1

同时,下一个是我的 vimrc 配置

map <silent> <F12> :TagbarToggle<cr> :WMToggle<cr> :wincmd h<CR>  

当 TagbarToggle 可见时,将隐藏 TagbarToggle 并且 WMToggle 变为可见。反之亦然。

当一切不可见时,将使一切可见。当我点击时,我只想要其中一个苹果

我该怎么办?

以下是我的思路,但我不知道如何实现

map <F12> :call ShowSlidebar()<cr>
func! ShowSlidebar()
        if TagbarToggle is visible
                exec "TagbarToggle"
                exec "WMToggle"
                return
        else
                exec "TlistToggle"
                return
                endif
endfunc
4

2 回答 2

0

有些插件提供了查询它当前是否处于活动状态的功能,有些插件有一个全局变量。您需要深入研究插件的代码才能找到答案。

如果插件窗口具有固定名称,您还可以使用以下方法检查可见性:

function! IsTagBarEnabled()
    return (bufwinnr('__Tagbar__') != -1)
endfunction
于 2013-04-09T09:21:29.257 回答
0

现在可以了,如下:

470 function !IsBufEnabled()            
471     return (bufwinnr('[Buf List]') != -1)    
472 endfunction
473 
474 map <F12> :call ShowSlidebar()<cr>                                                                                                                                   
475 function! ShowSlidebar()            
476     if IsTagBarEnabled()            
477         exec "TagbarToggle"         
478         exec "WMToggle"             
479     elseif IsBufEnabled()           
480         exec "WMToggle"
481         exec "TagbarToggle"
482     else
483         exec "TagbarToggle"
484     endif
485 endfunction
于 2013-04-09T10:04:34.983 回答