""" ALE """ " nmap :ALEFix " " let g:ale_sign_error = '×' " let g:ale_sign_warning = '!' " let g:ale_completion_enabled = 1 " let g:ale_fixers = ['autopep8', 'shfmt', 'uncrustify', 'remove_trailing_lines', 'trim_whitespace', 'phpcbf'] " let g:ale_php_phpcs_standard = '/srv/http/machines/ruleset.xml' " For PHP, install https://pear.php.net/package/PHP_CodeSniffer """ UNDOTREE """ nmap :UndotreeToggle """ VIM-AIRLINE """ set noshowmode set laststatus=2 let g:airline_powerline_fonts = 1 let g:airline#extensions#tabline#enabled = 1 let g:airline_section_a = airline#section#create(['mode']) let g:airline_section_b = airline#section#create(['branch', 'hunks']) " let g:airline_section_z = airline#section#create(['%B', '@', '%l', ':', '%c']) let g:airline_theme = 'base16_monokai' let airline#extensions#languageclient#error_symbol = '✖ ' let airline#extensions#languageclient#warning_symbol = '⚠ ' """ FZF """ let g:fzf_layout = { 'down': '~40%' } let g:fzf_colors = \ { 'fg': ['fg', 'Normal'], \ 'bg': ['bg', 'Normal'], \ 'hl': ['fg', 'Comment'], \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], \ 'hl+': ['fg', 'Statement'], \ 'info': ['fg', 'PreProc'], \ 'border': ['fg', 'Ignore'], \ 'prompt': ['fg', 'Conditional'], \ 'pointer': ['fg', 'Exception'], \ 'marker': ['fg', 'Keyword'], \ 'spinner': ['fg', 'Label'], \ 'header': ['fg', 'Comment'] } let g:fzf_command_prefix = 'Fzf' nmap gF :FzfFiles nmap gf :FzfGFiles nmap gb :FzfBuffers nmap gL :FzfLines nmap gl :FzfBLines nmap gT :FzfTags nmap gt :FzfBTags nmap gm :FzfMarks nmap gw :FzfWindows nmap gh :FzfHistory nmap gH :FzfHistory: nmap gS :FzfHistory/ nmap gs :FzfSnippets " TODO `gd` → go to tag matching selected word, or show a list with that " of tags pre-filtered with that word """ SUPERTAB """ let g:SuperTabDefaultCompletionType = "" " Go down when completing let g:SuperTabContextDefaultCompletionType = "" """ LanguageTool """ let g:languagetool_jar = "/usr/share/java/languagetool/languagetool-commandline.jar" """ vim-pandoc """ let g:pandoc#modules#disabled = ["folding"] let g:pandoc#spell#enabled = 0 let g:pandoc#syntax#conceal#use = 0 """ LanguageClient-neovim """ " let g:LanguageClient_serverCommands = { " \ 'python': ['pyls'], " \ 'sh': ['bash-language-server', 'start'], " \ } " let g:LanguageClient_loggingFile = expand('~/.cache/vim/LanguageClient.log') " " " function LC_maps() " if has_key(g:LanguageClient_serverCommands, &filetype) " nnoremap K :call LanguageClient#textDocument_hover() " nnoremap gd :call LanguageClient#textDocument_definition() " nnoremap gD :call LanguageClient#textDocument_references() " nnoremap :call LanguageClient#textDocument_rename() " nnoremap :call LanguageClient#textDocument_formatting() " set completefunc=LanguageClient#complete " set omnifunc=LanguageClient#complete " endif " endfunction " autocmd FileType * call LC_maps() """ vim-lsp """ " (providers are automatically detected thanks to vim-lsp-settings. " You can even install some locally using :LspInstallServer) nnoremap gd :LspDefinition nnoremap gD :LspDeclaration nnoremap :LspDocumentFormat vnoremap :LspDocumentRangeFormat nnoremap gE :LspNextDiagnostic nnoremap ge :LspNextError nnoremap :LspRename let g:lsp_signs_enabled = 1 let g:lsp_diagnostics_echo_cursor = 1 let g:lsp_signs_error = {'text': '✗'} let g:lsp_signs_warning = {'text': '‼'} let g:lsp_signs_information = {'text': 'ℹ'} let g:lsp_signs_hint = {'text': '?'} let g:lsp_highlight_references_enabled = 1 """ deoplete """ let g:deoplete#enable_at_startup = 1 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"}}} " suggested by ssemshi to make it not too slow " let g:deoplete#auto_complete_delay = 100 call deoplete#custom#option({ \ 'auto_complete_delay': 100, \ 'smart_case': v:true, \ }) """ asyncomplete """ " let g:asyncomplete_auto_popup = 1 " inoremap pumvisible() ? "\" : "\" " inoremap pumvisible() ? "\" : "\" " inoremap pumvisible() ? "\" : "\" " imap (asyncomplete_force_refresh) """ asyncomplete-file " au User asyncomplete_setup call asyncomplete#register_source(asyncomplete#sources#file#get_source_options({ " \ 'name': 'file', " \ 'whitelist': ['*'], " \ 'priority': 10, " \ 'completor': function('asyncomplete#sources#file#completor') " \ })) """ vista.vim """ nmap :Vista!! let g:vista_icon_indent = ["▸ ", ""] let g:vista#renderer#enable_icon = 0 " The default icons can't be suitable for all the filetypes, you can extend it as you wish. let g:vista#renderer#icons = { \ "function": "f", \ "variable": "x", \ } " EasyAlign " Align GitHub-flavored Markdown tables au FileType markdown vmap :EasyAlign* " SmoothScroll noremap :call smooth_scroll#up(20, 5, 1) noremap :call smooth_scroll#down(20, 5, 1) " gutentags let g:gutentags_cache_dir = expand('~/.cache/vim/tags')