(g)vim - NerdTreeとタグバーが重なって編集するファイルを残しますか?

(g)vim - NerdTreeとタグバーが重なって編集するファイルを残しますか?

(g)vimを表示する機会オタクの木そしてタブバー編集ファイルを重ね合わせておきますか?

+-----------+-------------+
| nerd tree | edited file |
| contents  |             |
+-----------+             |
| tagbar    |             |
| contents  |             |
+-----------+-------------+

.vimrc何とか終わりたいです。

これまで私の関連部分は.vimrc次のとおりです。

" NERDTree shortcut
:nmap \e :NERDTreeToggle<CR>
" tagbar settings
let g:tagbar_left=1
nnoremap <silent> <F9> :TagbarToggle<CR>

ただし、表示されると次のようになります。

+----------+-----------+-------------+
| tagbar   | nerd tree | edited file |
| contents | contents  |             |
|          |           |             |
|          |           |             |
|          |           |             |
+----------+-----------+-------------+

ベストアンサー1

「<リーダー>\を使用してNERDTreeとTagbarを開く/閉じる方法」という質問で、Jan Larresによって書かれたvim関数を使用しました。私のvimが次のように見えるように修正しました(wincmdコマンドのみ追加しました)。

+-----------+-------------+ 
| Tagbar    |    file     |
| contents  |             |
+-----------+             |
| NERDTree  |             | 
| contents  |             |
+-----------+-------------+

機能! ToggleNERDTreeAndTagbar() let w:jumpbacktohere = 1

" Detect which plugins are open
if exists('t:NERDTreeBufName')
    let nerdtree_open = bufwinnr(t:NERDTreeBufName) != -1
else
    let nerdtree_open = 0
endif
let tagbar_open = bufwinnr('__Tagbar__') != -1

" Perform the appropriate action
if nerdtree_open && tagbar_open
    NERDTreeClose
    TagbarClose
elseif nerdtree_open
    TagbarOpen
    wincmd J
    wincmd k
    wincmd L
elseif tagbar_open
    NERDTree
    wincmd J
    wincmd k
    wincmd L
else
    NERDTree
    TagbarOpen
    wincmd J
    wincmd k
    wincmd L
endif

" Jump back to the original window
for window in range(1, winnr('$'))
    execute window . 'wincmd w'
    if exists('w:jumpbacktohere')
        unlet w:jumpbacktohere
        break
    endif
endfor  
 endfunction
 nnoremap <leader>\ :call ToggleNERDTreeAndTagbar()<CR>

おすすめ記事