diff --git a/autoload/SpaceVim/layers/core.vim b/autoload/SpaceVim/layers/core.vim index e127dfa1a..c183ec147 100644 --- a/autoload/SpaceVim/layers/core.vim +++ b/autoload/SpaceVim/layers/core.vim @@ -98,8 +98,17 @@ function! SpaceVim#layers#core#config() abort call SpaceVim#mapping#space#def('nnoremap', ['j', '$'], 'm`g_', 'push mark and goto end of line', 0) call SpaceVim#mapping#space#def('nnoremap', ['j', 'b'], '', 'jump backward', 0) call SpaceVim#mapping#space#def('nnoremap', ['j', 'f'], '', 'jump forward', 0) - call SpaceVim#mapping#space#def('nnoremap', ['j', 'd'], 'VimFiler -no-split', 'Explore current directory', 1) - call SpaceVim#mapping#space#def('nnoremap', ['j', 'D'], 'VimFiler', 'Explore current directory (other window)', 1) + + " file tree key bindings + if g:spacevim_filemanager ==# 'vimfiler' + call SpaceVim#mapping#space#def('nnoremap', ['j', 'd'], 'VimFiler -no-split', 'Explore current directory', 1) + call SpaceVim#mapping#space#def('nnoremap', ['j', 'D'], 'VimFiler', 'Explore current directory (other window)', 1) + elseif g:spacevim_filemanager ==# 'nerdtree' + elseif g:spacevim_filemanager ==# 'defx' + call SpaceVim#mapping#space#def('nnoremap', ['j', 'd'], 'let g:_spacevim_autoclose_defx = 0 | Defx -split=no | let g:_spacevim_autoclose_defx = 1', 'Explore current directory', 1) + call SpaceVim#mapping#space#def('nnoremap', ['j', 'D'], 'Defx', 'Explore current directory (other window)', 1) + endif + call SpaceVim#mapping#space#def('nmap', ['j', 'j'], '(easymotion-overwin-f)', 'jump to a character', 0) call SpaceVim#mapping#space#def('nmap', ['j', 'J'], '(easymotion-overwin-f2)', 'jump to a suite of two characters', 0) call SpaceVim#mapping#space#def('nnoremap', ['j', 'k'], 'j==', 'go to next line and indent', 0) @@ -174,9 +183,11 @@ function! SpaceVim#layers#core#config() abort call SpaceVim#mapping#space#def('nnoremap', ['f', '/'], 'call SpaceVim#plugins#find#open()', 'find-files', 1) if s:SYS.isWindows call SpaceVim#mapping#space#def('nnoremap', ['f', 'd'], 'call call(' - \ . string(s:_function('s:ToggleWinDiskManager')) . ', [])', - \ 'toggle Windows disk manager', 1) + \ . string(s:_function('s:ToggleWinDiskManager')) . ', [])', + \ 'toggle Windows disk manager', 1) endif + + " file tree key bindings if g:spacevim_filemanager ==# 'vimfiler' call SpaceVim#mapping#space#def('nnoremap', ['f', 't'], 'VimFiler | doautocmd WinEnter', 'toggle_file_tree', 1) call SpaceVim#mapping#space#def('nnoremap', ['f', 'T'], 'VimFiler -no-toggle | doautocmd WinEnter', 'show_file_tree', 1) diff --git a/autoload/SpaceVim/plugins/windisk.vim b/autoload/SpaceVim/plugins/windisk.vim index 6824b447d..c9864cb91 100644 --- a/autoload/SpaceVim/plugins/windisk.vim +++ b/autoload/SpaceVim/plugins/windisk.vim @@ -35,7 +35,12 @@ endf function! s:open_disk(d) abort call s:close_disk_buffer() - exe 'VimFiler -no-toggle ' . a:d + if g:spacevim_filemanager ==# 'vimfiler' + exe 'VimFiler -no-toggle ' . a:d + elseif g:spacevim_filemanager ==# 'nerdtree' + elseif g:spacevim_filemanager ==# 'defx' + exe 'Defx -no-toggle ' . a:d + endif doautocmd WinEnter endfunction diff --git a/config/plugins/defx.vim b/config/plugins/defx.vim index 768fe0d2c..c5a271500 100644 --- a/config/plugins/defx.vim +++ b/config/plugins/defx.vim @@ -36,12 +36,14 @@ call defx#custom#column('filename', { \ 'opened_icon': '', \ }) +let g:_spacevim_autoclose_defx = 1 + augroup vfinit au! autocmd FileType defx call s:defx_init() " auto close last defx windows autocmd BufEnter * nested if - \ (!has('vim_starting') && winnr('$') == 1 + \ (!has('vim_starting') && winnr('$') == 1 && g:_spacevim_autoclose_defx \ && &filetype ==# 'defx') | \ call s:close_last_vimfiler_windows() | endif augroup END @@ -109,6 +111,8 @@ function! s:defx_init() \ defx#do_action('drop', 'vsplit') nnoremap sv \ defx#do_action('drop', 'split') + nnoremap st + \ defx#do_action('drop', 'tabedit') nnoremap p \ defx#do_action('open', 'pedit') nnoremap N diff --git a/config/plugins/vimfiler.vim b/config/plugins/vimfiler.vim index ab64f1e3e..f8b3a505e 100644 --- a/config/plugins/vimfiler.vim +++ b/config/plugins/vimfiler.vim @@ -92,9 +92,6 @@ function! s:vimfilerinit() silent! nunmap - silent! nunmap s - nnoremap gr :Denite grep:=selected() -buffer-name=grep - nnoremap gf :Denite file_rec:=selected() - nnoremap gd :call change_vim_current_dir() nnoremap sg :call vimfiler_vsplit() nnoremap sv :call vimfiler_split() nnoremap st vimfiler#do_action('tabswitch') diff --git a/wiki/en/Following-HEAD.md b/wiki/en/Following-HEAD.md index bb0e924cf..72361cc24 100644 --- a/wiki/en/Following-HEAD.md +++ b/wiki/en/Following-HEAD.md @@ -85,4 +85,4 @@ The next release is v1.1.0: SpaceVim releases v1.0.0 at 2018-12-26, please check the release page: -- [SpaceVim releases v0.9.0](https://spacevim.org/SpaceVim-release-v1.0.0/) for all the details +- [SpaceVim releases v1.0.0](https://spacevim.org/SpaceVim-release-v1.0.0/) for all the details