diff options
Diffstat (limited to 'vimrc')
-rw-r--r-- | vimrc | 142 |
1 files changed, 122 insertions, 20 deletions
@@ -11,8 +11,10 @@ set cindent " Theme syntax on set background=light +set rnu colorscheme quiet hi Normal ctermfg=black ctermbg=white +"hi Keyword ctermfg=black cterm=bold hi SpellBad term=reverse cterm=underline ctermfg=124 ctermbg=white hi SpellCap term=reverse cterm=underline ctermfg=25 ctermbg=white hi SpellRare term=reverse cterm=underline ctermfg=30 ctermbg=white @@ -23,34 +25,132 @@ let &t_SI = "\<Esc>[6 q" let &t_SR = "\<Esc>[4 q" let &t_EI = "\<Esc>[2 q" +" Pesky swap +set backupdir=~/.vim/backup// +set directory=~/.vim/swap// +set undodir=~/.vim/undo// + +" Netrw +let g:netrw_keepdir = 0 +let g:netrw_banner = 0 +let g:netrw_localcopydircmd = 'cp -r' +hi! link netrwMarkFile Search +nnoremap - :Explore<CR> + " LSP packadd lsp -call LspAddServer([#{ - \ name: 'caml', - \ filetype: ['ocaml'], - \ path: '/home/mccd/.opam/5.2.0/bin/ocamllsp', - \ args: [], - \ syncInit: v:true - \ }]) - -call LspAddServer([#{ - \ name: 'golang', - \ filetype: ['go', 'gomod'], - \ path: '/usr/bin/gopls', - \ args: ['serve'], - \ syncInit: v:true - \ }]) +if exists('g:loaded_lsp') + call LspOptionsSet(#{ + \ aleSupport: v:false, + \ autoComplete: v:false, + \ autoHighlight: v:false, + \ autoHighlightDiags: v:true, + \ autoPopulateDiags: v:true, + \ completionMatcher: 'case', + \ completionMatcherValue: 1, + \ diagSignErrorText: 'E', + \ diagSignHintText: 'H', + \ diagSignInfoText: 'I', + \ diagSignWarningText: 'W', + \ echoSignature: v:false, + \ hideDisabledCodeActions: v:false, + \ highlightDiagInline: v:true, + \ hoverInPreview: v:false, + \ ignoreMissingServer: v:true, + \ keepFocusInDiags: v:true, + \ keepFocusInReferences: v:true, + \ completionTextEdit: v:true, + \ diagVirtualTextAlign: 'above', + \ diagVirtualTextWrap: 'default', + \ noNewlineInCompletion: v:false, + \ omniComplete: v:null, + \ outlineOnRight: v:true, + \ outlineWinSize: 20, + \ semanticHighlight: v:false, + \ showDiagInBalloon: v:true, + \ showDiagInPopup: v:true, + \ showDiagOnStatusLine: v:false, + \ showDiagWithSign: v:false, + \ showDiagWithVirtualText: v:false, + \ showInlayHints: v:false, + \ showSignature: v:true, + \ snippetSupport: v:false, + \ ultisnipsSupport: v:false, + \ useBufferCompletion: v:false, + \ usePopupInCodeAction: v:false, + \ useQuickfixForLocations: v:false, + \ vsnipSupport: v:false, + \ bufferCompletionTimeout: 100, + \ customCompletionKinds: v:false, + \ completionKinds: {}, + \ filterCompletionDuplicates: v:false, + \ }) +end + +" Ocaml +if exists('g:loaded_lsp') + call LspAddServer([#{ + \ name: 'caml', + \ filetype: ['ocaml'], + \ path: 'ocamllsp', + \ args: [], + \ syncInit: v:true + \ }]) +end +autocmd Filetype ocaml autocmd BufWritePre <buffer> :LspFormat + +" Go +if exists('g:loaded_lsp') + call LspAddServer([#{ + \ name: 'golang', + \ filetype: ['go', 'gomod'], + \ path: '/usr/bin/gopls', + \ args: ['serve'], + \ syncInit: v:true + \ }]) +end + +autocmd Filetype go set makeprg=go\ build +autocmd Filetype go autocmd BufWritePre <buffer> :LspFormat + +" Nix +if exists('g:loaded_lsp') + call LspAddServer([#{ + \ name: 'nix', + \ filetype: ['nix'], + \ path: 'nixd', + \ args: [], + \ syncInit: v:true + \ }]) +end +autocmd Filetype nix autocmd BufWritePre <buffer> :LspFormat + +" Markdown +if exists('g:loaded_lsp') + call LspAddServer([#{ + \ name: 'marksman', + \ filetype: ['markdown'], + \ path: 'marksman', + \ args: ['server'], + \ syncInit: v:true }]) +end + " Keybindings let mapleader=" " noremap , : noremap <leader>e :e **/ -noremap gd mB:LspGotoDefinition<Enter> +noremap <silent> gd mB:LspGotoDefinition<Enter> +noremap <silent> gs mB:LspDocumentSymbol<Enter> +noremap <silent> gr mB:LspGotoImpl<Enter> noremap <leader>ca :LspCodeAction<Enter> -noremap <leader>k :LspDiagCurrent<Enter> +noremap <leader>cr :LspRename<Enter> +noremap <leader>m :make<Enter> +noremap <silent> <leader>k :LspDiagCurrent<Enter> +noremap <silent> K :LspHover<Enter> nnoremap <leader>l :ls<CR>:b<space> -nnoremap <leader>= :LspFormat<Enter> +nnoremap <silent> <leader>= :LspFormat<Enter> " Spell au BufEnter *.org set spell @@ -58,7 +158,9 @@ au BufEnter *.org set spell " Wildmenu set wildmenu set wildmode=longest:full,lastused -set wildignore=_build/**,release/** -set grepprg=git\ grep\ -nH +set wildignore=_build/**,release/**,node_modules/** +set wildoptions+=fuzzy +" Grep +set grepprg=git\ grep\ -nH |