set viminfo+=n~/.config/vim/viminfo set runtimepath+=~/.config/vim,~/.config/vim/after set autoindent set wrap set linebreak set mouse=a set autowrite set tabstop=4 softtabstop=0 expandtab shiftwidth=4 smarttab set nocompatible set spelllang=en_gb set number relativenumber syntax on nnoremap :nohl inoremap { {}ha inoremap [ []ha inoremap " ""ha inoremap ( ()ha inoremap nnoremap nnoremap nnoremap nnoremap nnoremap :w:!chmod+x"%:p":!"%:p" set foldmethod=syntax set foldlevel=99 set conceallevel=2 call plug#begin() Plug 'preservim/nerdtree' nnoremap :NERDTree Plug 'preservim/vim-markdown' "let g:vim_markdown_math = 1 "let g:vim_markdown_frontmatter = 1 "let g:vim_markdown_toml_frontmatter = 1 "let g:vim_markdown_json_frontmatter = 1 Plug 'neoclide/coc.nvim' hi CocInlayHint ctermbg=Black ctermfg=Gray set updatetime=300 set signcolumn=yes nmap [g (coc-diagnostic-prev) nmap ]g (coc-diagnostic-next) nmap gd (coc-definition) nmap gy (coc-type-definition) nmap gi (coc-implementation) nmap gr (coc-references) xmap f (coc-format-selected) nmap f (coc-format-selected) nmap rn (coc-rename) nmap re (coc-codeaction-refactor) xmap r (coc-codeaction-refactor-selected) " nmap r (coc-codeaction-refactor-selected) "inoremap " \ coc#pum#visible() ? coc#pum#next(1) : " \ CheckBackspace() ? "\" : " \ coc#refresh() "inoremap coc#pum#visible() ? coc#pum#prev(1) : "\" "inoremap coc#pum#visible() ? coc#pum#confirm() \: "\u\\=coc#on_enter()\" function! CheckBackspace() abort let col = col('.') - 1 return !col || getline('.')[col - 1] =~# '\s' endfunction if has('nvim') inoremap coc#refresh() else inoremap coc#refresh() endif xmap a (coc-codeaction-selected) nmap a (coc-codeaction-selected) " autocmd CursorHold * silent call CocActionAsync('highlight') function! ShowDocumentation() if CocAction('hasProvider', 'hover') call CocActionAsync('doHover') else call feedkeys('K', 'in') endif endfunction autocmd FileType python let b:coc_root_patterns = ['.git', '.env', '.'] Plug 'junegunn/fzf.vim' nnoremap :Files nnoremap :Rg Plug 'heavenshell/vim-pydocstring', { 'do': 'make install', 'for': 'python' } Plug 'tpope/vim-fugitive' call plug#end() highlight Pmenu ctermbg=black guibg=black ctermfg=white hi TrailingWhitespace ctermbg=red guibg=red call matchadd("TrailingWhitespace", '\v\s+$')