123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125 |
- " === Denite setup ==="
- " Use ripgrep for searching current directory for files
- " By default, ripgrep will respect rules in .gitignore
- " --files: Print each file that would be searched (but don't search)
- " --glob: Include or exclues files for searching that match the given glob
- " (aka ignore .git files)
- "
- call denite#custom#var('file/rec', 'command', ['rg', '--files', '--glob', '!.git'])
- " Use ripgrep in place of "grep"
- call denite#custom#var('grep', 'command', ['rg'])
- " Custom options for ripgrep
- " --vimgrep: Show results with every match on it's own line
- " --hidden: Search hidden directories and files
- " --heading: Show the file name above clusters of matches from each file
- " --S: Search case insensitively if the pattern is all lowercase
- call denite#custom#var('grep', 'default_opts', ['--hidden', '--vimgrep', '--heading', '-S'])
- " Recommended defaults for ripgrep via Denite docs
- call denite#custom#var('grep', 'recursive_opts', [])
- call denite#custom#var('grep', 'pattern_opt', ['--regexp'])
- call denite#custom#var('grep', 'separator', ['--'])
- call denite#custom#var('grep', 'final_opts', [])
- " Remove date from buffer list
- call denite#custom#var('buffer', 'date_format', '')
- " Custom options for Denite
- " auto_resize - Auto resize the Denite window height automatically.
- " prompt - Customize denite prompt
- " direction - Specify Denite window direction as directly below current pane
- " winminheight - Specify min height for Denite window
- " highlight_mode_insert - Specify h1-CursorLine in insert mode
- " prompt_highlight - Specify color of prompt
- " highlight_matched_char - Matched characters highlight
- " highlight_matched_range - matched range highlight
- let s:denite_options = {'default' : {
- \ 'split': 'floating',
- \ 'start_filter': 1,
- \ 'auto_resize': 1,
- \ 'source_names': 'short',
- \ 'prompt': 'λ ',
- \ 'highlight_matched_char': 'QuickFixLine',
- \ 'highlight_matched_range': 'Visual',
- \ 'highlight_window_background': 'Visual',
- \ 'highlight_filter_background': 'DiffAdd',
- \ 'winrow': 1,
- \ 'vertical_preview': 1
- \ }}
- " Loop through denite options and enable them
- function! s:profile(opts) abort
- for l:fname in keys(a:opts)
- for l:dopt in keys(a:opts[l:fname])
- call denite#custom#option(l:fname, l:dopt, a:opts[l:fname][l:dopt])
- endfor
- endfor
- endfunction
- call s:profile(s:denite_options)
- echo 'Denite not installed. It should work after running :PlugInstall'
- nmap ; :Denite buffer<CR>
- nmap <leader>t :DeniteProjectDir file/rec<CR>
- nnoremap <leader>g :<C-u>Denite grep:. -no-empty<CR>
- nnoremap <leader>j :<C-u>DeniteCursorWord grep:.<CR>
- " Define mappings while in 'filter' mode
- " <C-o> - Switch to normal mode inside of search results
- " <Esc> - Exit denite window in any mode
- " <CR> - Open currently selected file in any mode
- " <C-t> - Open currently selected file in a new tab
- " <C-v> - Open currently selected file a vertical split
- " <C-h> - Open currently selected file in a horizontal split
- autocmd FileType denite-filter call s:denite_filter_my_settings()
- function! s:denite_filter_my_settings() abort
- imap <silent><buffer> <C-o>
- \ <Plug>(denite_filter_quit)
- inoremap <silent><buffer><expr> <Esc>
- \ denite#do_map('quit')
- nnoremap <silent><buffer><expr> <Esc>
- \ denite#do_map('quit')
- inoremap <silent><buffer><expr> <CR>
- \ denite#do_map('do_action')
- inoremap <silent><buffer><expr> <C-t>
- \ denite#do_map('do_action', 'tabopen')
- inoremap <silent><buffer><expr> <C-v>
- \ denite#do_map('do_action', 'vsplit')
- inoremap <silent><buffer><expr> <C-h>
- \ denite#do_map('do_action', 'split')
- endfunction
- " Define mappings while in denite window
- " <CR> - Opens currently selected file
- " q or <Esc> - Quit Denite window
- " d - Delete currenly selected file
- " p - Preview currently selected file
- " <C-o> or i - Switch to insert mode inside of filter prompt
- " <C-t> - Open currently selected file in a new tab
- " <C-v> - Open currently selected file a vertical split
- " <C-h> - Open currently selected file in a horizontal split
- autocmd FileType denite call s:denite_my_settings()
- function! s:denite_my_settings() abort
- nnoremap <silent><buffer><expr> <CR>
- \ denite#do_map('do_action')
- nnoremap <silent><buffer><expr> q
- \ denite#do_map('quit')
- nnoremap <silent><buffer><expr> <Esc>
- \ denite#do_map('quit')
- nnoremap <silent><buffer><expr> d
- \ denite#do_map('do_action', 'delete')
- nnoremap <silent><buffer><expr> p
- \ denite#do_map('do_action', 'preview')
- nnoremap <silent><buffer><expr> i
- \ denite#do_map('open_filter_buffer')
- nnoremap <silent><buffer><expr> <C-o>
- \ denite#do_map('open_filter_buffer')
- nnoremap <silent><buffer><expr> <C-t>
- \ denite#do_map('do_action', 'tabopen')
- nnoremap <silent><buffer><expr> <C-v>
- \ denite#do_map('do_action', 'vsplit')
- nnoremap <silent><buffer><expr> <C-h>
- \ denite#do_map('do_action', 'split')
- endfunction
|