diff --git a/config/plugins/defx.vim b/config/plugins/defx.vim index 1ba504565..520437641 100644 --- a/config/plugins/defx.vim +++ b/config/plugins/defx.vim @@ -99,8 +99,13 @@ function! s:defx_init() \ defx#is_directory() ? \ defx#do_action('open_directory') : defx#do_action('drop') nnoremap <2-LeftMouse> - \ defx#is_directory() ? - \ defx#do_action('open_tree') : defx#do_action('drop') + \ defx#is_directory() ? + \ ( + \ defx#is_opened_tree() ? + \ defx#do_action('close_tree') : + \ defx#do_action('open_tree') + \ ) + \ : defx#do_action('drop') nnoremap sg \ defx#do_action('drop', 'vsplit') nnoremap sv