nnoremap :Fern . -reveal=% -drawer -toggle function! s:init_fern() abort setlocal nonumber norelativenumber nmap \ (fern-my-expand-or-collapse) \ fern#smart#leaf( \ "\(fern-action-collapse)", \ "\(fern-action-expand)", \ "\(fern-action-collapse)", \ ) nmap \ (fern-my-open-expand-collapse) \ fern#smart#leaf( \ "\(fern-action-open:select)", \ "\(fern-action-expand)", \ "\(fern-action-collapse)", \ ) nmap H (fern-action-open:split) nmap V (fern-action-open:vsplit) nmap t (fern-action-open:tabedit) nmap r (fern-action-rename) nmap R (fern-action-reload) nmap N (fern-action-new-file) nmap K (fern-action-new-dir) nmap c (fern-action-copy) nmap m (fern-action-move) nmap h (fern-action-hidden:toggle) nmap C (fern-action-clipboard-copy) nmap M (fern-action-clipboard-move) nmap P (fern-action-clipboard-paste) nmap D (fern-action-remove) nmap (fern-action-leave) nmap (fern-action-mark-toggle) nmap (fern-my-open-expand-collapse) nmap o (fern-my-expand-or-collapse) endfunction augroup fern-custom autocmd! * autocmd FileType fern call s:init_fern() augroup END