# ツリー表示やexrenameなどを提供する高機能なファイラー # neo-tree.nvimとかよりバッファーの挙動が好き [[plugins]] repo = 'lambdalisue/fern.vim' on_cmd = 'Fern' hook_add = ''' cabbrev f. Fern . -reveal=% ''' hook_source = ''' let g:fern#hide_cursor = v:true let g:fern#keepalt_on_edit = v:false let g:fern#keepjumps_on_edit = v:false let g:fern#default_hidden = v:true let g:fern#disable_default_mappings = v:true ''' [plugins.ftplugin] fern = ''' nmap <buffer><nowait><silent> <space> <Plug>(fern-action-mark:toggle) nmap <buffer><nowait><silent> <C-l> <Cmd>nohlsearch<CR><Plug>(fern-action-reload:all) nmap <buffer><nowait><silent> h <Plug>(fern-action-collapse) nmap <buffer><nowait><silent> <C-h> <Plug>(fern-action-leave) nmap <buffer><nowait><silent> <Enter> <Plug>(fern-action-open) nmap <buffer><nowait><silent> y <Plug>(fern-action-yank:path) nmap <buffer><nowait><silent> <C-c> <Plug>(fern-action-cancel) nmap <buffer><nowait><silent> N <Plug>(fern-action-new-file) nmap <buffer><nowait><silent> K <Plug>(fern-action-new-dir) nmap <buffer><nowait><silent> d <Plug>(fern-action-trash) nmap <buffer><nowait><silent> gr <Plug>(fern-action-grep) nmap <buffer><nowait><silent> r <Plug>(fern-action-rename) nmap <buffer><nowait><silent><expr> l \ fern#smart#leaf('<Plug>(fern-action-open)', '<Plug>(fern-action-expand)') ''' # Fernの表示をアイコンとかつけてかわいい感じにしてくれる [[plugins]] repo = 'lambdalisue/fern-renderer-nerdfont.vim' depends = ['nerdfont.vim', 'glyph-palette.vim'] on_source = 'fern.vim' hook_source = ''' let g:fern#renderer = 'nerdfont' let g:fern#renderer#nerdfont#indent_markers = v:true ''' [plugins.ftplugin] fern = ''' call glyph_palette#apply() ''' # Fernのバッファーでカーソル位置のファイルの中身をプレビューできる # たまに便利 [[plugins]] repo = 'yuki-yano/fern-preview.vim' on_source = 'fern.vim' [plugins.ftplugin] fern = ''' nmap <buffer> p <Plug>(fern-action-preview:toggle) nmap <buffer> <C-p> <Plug>(fern-action-preview:auto:toggle) nmap <buffer> <C-d> <Plug>(fern-action-preview:scroll:down:half) nmap <buffer> <C-u> <Plug>(fern-action-preview:scroll:up:half) ''' # - Fernのバッファーで編集済み(作業中)のファイルが識別しやすくなる # - 対象のファイルが沢山あると重くなるのでこれ入れてるときは # fernのディレクトリを深くしたくない [[plugins]] repo = 'lambdalisue/fern-git-status.vim' on_source = 'fern.vim' hook_source = ''' call fern_git_status#init() ''' # fern-renderer-nerdfontで表示するアイコンの色付けを提供する [[plugins]] repo = 'lambdalisue/glyph-palette.vim' lazy = true # fern-renderer-nerdfontで使うための、ファイル名->アイコンの変換を提供する [[plugins]] repo = 'lambdalisue/nerdfont.vim' # :e %:h のようにディレクトリを編集しようとしたときにnetrwではなく # Fernを起動する [[plugins]] repo = 'lambdalisue/fern-hijack.vim' on_if = "isdirectory(expand('<afile>'))" depends = 'fern.vim' hook_add = ''' let g:loaded_netrwPlugin = 1 ''' [[plugins]] repo = 'lambdalisue/fern-bookmark.vim' on_source = 'fern.vim' hook_add = ''' nmap <space>o <Cmd>Fern bookmark:///<CR> ''' [plugins.ftplugin] fern = ''' nmap <buffer> B <Plug>(fern-action-save-as-bookmark) '''