Skip to content

LumaKernel/fern-mapping-fzf.vim

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

40 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fern-mapping-fzf.vim

fern plugin

Dependencies

  • lambdalisue/fern.vim
  • junegunn/fzf
  • For Windows users, sh and find command compatible with UNIX-like.
    • You can find them from like Cygwin. (Note that some tools are not working fine.)

Installation

Example for dein with TOML.

[[plugins]]
repo = 'LumaKernel/fern-mapping-fzf.vim'
depends = ['fzf', 'fern.vim']

Usage

Mapping Action Description
ff fzf-files Fzf for files
fd fzf-dirs Fzf for directories
fa fzf-both Fzf for both files and directories
frf fzf-root-files Fzf for files from root
frd fzf-root-dirs Fzf for directories from root
fra fzf-root-both Fzf for both files and directories from root

More details, see :help fern-mapping-fzf .

Screenshot

fern-mapping-fzf

Sample settings

FZF multiple and mark on Fern

function! Fern_mapping_fzf_customize_option(spec)
    let a:spec.options .= ' --multi'
    " Note that fzf#vim#with_preview comes from fzf.vim
    if exists('*fzf#vim#with_preview')
        return fzf#vim#with_preview(a:spec)
    else
        return a:spec
    endif
endfunction

function! Fern_mapping_fzf_before_all(dict)
    if !len(a:dict.lines)
        return
    endif
    return a:dict.fern_helper.async.update_marks([])
endfunction

function! s:reveal(dict)
    execute "FernReveal -wait" a:dict.relative_path
    execute "normal \<Plug>(fern-action-mark:set)"
endfunction

let g:Fern_mapping_fzf_file_sink = function('s:reveal')
let g:Fern_mapping_fzf_dir_sink = function('s:reveal')

License

MIT