dgy
/
hexagons
Archived
1
0
Fork 0
This repository has been archived on 2021-03-24. You can view files and clone it, but cannot push or open issues or pull requests.
hexagons/.config/nvim/plugin/fm.vim

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>