inoremap \ pumvisible() ? "\" : \ check_back_space() ? "\" : \ deoplete#manual_complete() function! s:check_back_space() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~ '\s' endfunction inoremap pumvisible() ? "\" : "\" "inoremap deoplete#refresh() inoremap deoplete#cancel_popup() inoremap deoplete#complete_common_string() call deoplete#custom#source('_', 'matchers', \ ['matcher_fuzzy', 'matcher_length']) call deoplete#custom#source('_', 'converters', [ \ 'converter_remove_overlap', \ 'converter_case', \ 'matcher_length', \ 'converter_truncate_abbr', \ 'converter_truncate_info', \ 'converter_truncate_menu', \ ]) "let g:deoplete#enable_at_startup = 1 "let g:deoplete#auto_complete_delay = 0 call deoplete#custom#option({ \ 'auto_complete': v:true, \ 'min_pattern_length': 2, \ 'auto_refresh_delay': 10, \ 'camel_case': v:true, \ 'skip_multibyte': v:true, \ 'prev_completion_mode': 'length', \ 'auto_complete_delay': 0, \ 'auto_preview': v:true, \ }) call deoplete#custom#option('keyword_patterns', { \ '_': '[a-zA-Z_]\k*\(?', \ 'tex': '[^\w|\s][a-zA-Z_]\w*', \ 'ruby': '[a-zA-Z_]\w[!?]?', \ })