diff options
author | Chris <[email protected]> | 2020-04-01 19:37:34 -0400 |
---|---|---|
committer | Chris <[email protected]> | 2020-04-01 19:37:34 -0400 |
commit | d0796e1cb3fc72f0e53bf4ad77e45e3bfe1e6156 (patch) | |
tree | 71887e0e4dfd46e0ccfdc9726146c443a1941b60 /modules | |
parent | a02c31afca1936312a63412c07350baf9f88b1cd (diff) |
auto push
Diffstat (limited to 'modules')
-rw-r--r-- | modules/denite.vim | 125 | ||||
-rw-r--r-- | modules/general.vim | 1 |
2 files changed, 126 insertions, 0 deletions
diff --git a/modules/denite.vim b/modules/denite.vim new file mode 100644 index 00000000..6b547f86 --- /dev/null +++ b/modules/denite.vim @@ -0,0 +1,125 @@ +" === 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 diff --git a/modules/general.vim b/modules/general.vim index ae2ed36e..c77460fa 100644 --- a/modules/general.vim +++ b/modules/general.vim @@ -96,3 +96,4 @@ vnoremap < <gv vnoremap > >gv set conceallevel=0 +cmap w!! w !sudo tee % |