80 lines
3.1 KiB
VimL
80 lines
3.1 KiB
VimL
let g:netrw_dirhistmax=0
|
|
let g:netrw_banner = 0
|
|
|
|
let g:fzf_layout = { 'window': { 'width': 0.8, 'height': 0.8 } }
|
|
|
|
aug defx_things
|
|
au!
|
|
" Close defx if it's the only buffer left in the window
|
|
au WinEnter * if &ft == 'defx' && winnr('$') == 1 | q | endif
|
|
" Move focus to the next window if current buffer is defx
|
|
au TabLeave * if &ft == 'defx' | wincmd w | endif
|
|
au FileType defx do WinEnter | call s:defx_my_settings()
|
|
aug END
|
|
|
|
call defx#custom#option('_', {
|
|
\ 'columns': 'mark:indent:git:icon:filename:type',
|
|
\ 'winwidth': 30,
|
|
\ 'buffer_name': '',
|
|
\ 'split': 'vertical',
|
|
\ 'direction': 'topleft',
|
|
\ 'show_ignored_files': 0,
|
|
\ 'toggle': 1,
|
|
\ 'resume': 1
|
|
\ })
|
|
|
|
call defx#custom#column('icon', {
|
|
\ 'directory_icon': '▷',
|
|
\ 'opened_icon': '▼',
|
|
\ 'root_icon': '~',
|
|
\ })
|
|
|
|
call defx#custom#column('mark', {
|
|
\ 'readonly_icon': '',
|
|
\ 'selected_icon': '',
|
|
\ })
|
|
|
|
function! s:defx_my_settings() abort
|
|
|
|
setl nonumber
|
|
setl norelativenumber
|
|
setl listchars=
|
|
setl nofoldenable
|
|
setl foldmethod=manual
|
|
|
|
nnoremap <silent><buffer><expr> o defx#do_action('open_tree', 'toggle')
|
|
nnoremap <silent><buffer><expr> l defx#do_action('open_tree')
|
|
nnoremap <silent><buffer><expr> h defx#do_action('close_tree')
|
|
nnoremap <silent><buffer><expr> <CR> defx#do_action('multi', ['drop', 'quit'])
|
|
nnoremap <silent><buffer><expr> <C-v> defx#do_action('multi', [['open', 'botright vsplit'], 'quit'])
|
|
nnoremap <silent><buffer><expr> <C-x> defx#do_action('multi', [['open', 'botright split'], 'quit'])
|
|
nnoremap <silent><buffer><expr> t defx#do_action('multi', [['drop', 'tabnew'], 'quit'])
|
|
nnoremap <silent><buffer><expr> D defx#do_action('new_directory')
|
|
nnoremap <silent><buffer><expr> F defx#do_action('new_multiple_files')
|
|
nnoremap <silent><buffer><expr> dd defx#do_action('remove')
|
|
nnoremap <silent><buffer><expr> r defx#do_action('rename')
|
|
nnoremap <silent><buffer><expr> x defx#do_action('execute_system')
|
|
nnoremap <silent><buffer><expr> . defx#do_action('toggle_ignored_files')
|
|
nnoremap <silent><buffer><expr> y defx#do_action('yank_path')
|
|
nnoremap <silent><buffer><expr> <BS> defx#do_action('cd', ['..'])
|
|
nnoremap <silent><buffer><expr> ~ defx#async_action('cd')
|
|
nnoremap <silent><buffer><expr> q defx#do_action('quit')
|
|
nnoremap <silent><buffer><expr> ' defx#do_action('toggle_select') . 'j'
|
|
nnoremap <silent><buffer><expr> * defx#do_action('toggle_select_all')
|
|
nnoremap <silent><buffer><expr> <C-r> defx#do_action('redraw')
|
|
nnoremap <silent><buffer><expr> S defx#do_action('toggle_sort', 'Time')
|
|
nnoremap <silent><buffer><expr> cd defx#do_action('change_vim_cwd')
|
|
|
|
nnoremap <silent><buffer><expr><nowait> / defx#do_action('cd', getcwd())
|
|
nnoremap <silent><buffer><expr><nowait> c defx#do_action('copy')
|
|
nnoremap <silent><buffer><expr><nowait> m defx#do_action('move')
|
|
nnoremap <silent><buffer><expr><nowait> p defx#do_action('paste')
|
|
|
|
nnoremap <silent><buffer><expr> j
|
|
\ line('.') == line('$') ? 'gg' : 'j'
|
|
nnoremap <silent><buffer><expr> k
|
|
\ line('.') == 1 ? 'G' : 'k'
|
|
endfunction
|
|
|
|
nnoremap <silent> <F5> :Defx -toggle<CR>
|