diff options
author | Sergey Nazaryev <sergey@nazaryev.ru> | 2020-10-02 01:11:50 +0300 |
---|---|---|
committer | Sergey Nazaryev <sergey@nazaryev.ru> | 2020-10-02 02:19:20 +0300 |
commit | e2ae1c1b2a6845a89afd1d7aa5b635adf2ebdbd1 (patch) | |
tree | 24a2962faa8df80f45858fc4fe7f18beee963b38 /vimrc | |
parent | f310168d26d933315d9cfd079dd575d66971f6e5 (diff) | |
download | dotfiles-e2ae1c1b2a6845a89afd1d7aa5b635adf2ebdbd1.zip dotfiles-e2ae1c1b2a6845a89afd1d7aa5b635adf2ebdbd1.tar.gz dotfiles-e2ae1c1b2a6845a89afd1d7aa5b635adf2ebdbd1.tar.bz2 |
Major refactoring
Diffstat (limited to 'vimrc')
-rw-r--r-- | vimrc | 89 |
1 files changed, 49 insertions, 40 deletions
@@ -40,6 +40,9 @@ set hidden " allow buffer switching without s set virtualedit=onemore " allow for cursor beyond last character set lazyredraw " no lags set ttyfast " no lags +set guicursor= +set spelllang=en +set completeopt+=preview " Style settings syntax on " turn on syntax highlight @@ -57,16 +60,19 @@ vnoremap < <gv vnoremap > >gv nnoremap s "_d noremap <leader>ss :call StripTrailingWhitespace()<CR> +nnoremap <silent> <F11> :set spell!<cr> +inoremap <silent> <F11> <C-O>:set spell!<cr> +inoremap <Tab> <C-x><C-o> " Use Tab for autocomplete, if not at beginning of line -function! Tab_Or_Complete() - if col('.')>1 && strpart( getline('.'), col('.')-2, 3 ) =~ '^\w' - return "\<C-N>" - else - return "\<Tab>" - endif -endfunction -inoremap <Tab> <C-R>=Tab_Or_Complete()<CR> +"function! Tab_Or_Complete() +" if col('.')>1 && strpart( getline('.'), col('.')-2, 3 ) =~ '^\w' +" return "\<C-N>" +" else +" return "\<C-x>\<C-O>" +" endif +"endfunction +"inoremap <Tab> <C-R>=Tab_Or_Complete()<CR> " Strip trailing whitespace (,ss) function! StripTrailingWhitespace() @@ -77,6 +83,10 @@ function! StripTrailingWhitespace() call setreg('/', old_query) endfunction +" Omni-complition +filetype plugin on +set omnifunc=syntaxcomplete#Complete + if has("autocmd") " settings for specific file types autocmd! FileType make setlocal noexpandtab tabstop=8 shiftwidth=8 softtabstop=8 textwidth=80 @@ -87,9 +97,10 @@ if has("autocmd") " autoreload .vimrc autocmd! bufwritepost .vimrc source $MYVIMRC + autocmd! bufwritepost init.vim source $MYVIMRC " autostrip trailing whitespaces - "autocmd! FileType c,cpp,java,go,php,javascript,puppet,python,rust,twig,xml,yaml,yml,perl,sql,vim,markdown autocmd BufWritePre <buffer> call StripTrailingWhitespace() + autocmd! FileType c,cpp,java,go,php,javascript,puppet,python,rust,twig,xml,yaml,yml,perl,sql,vim,markdown autocmd BufWritePre <buffer> call StripTrailingWhitespace() " autodetect file type for syntax highlighting autocmd! BufEnter,InsertLeave * :filetype detect @@ -105,35 +116,33 @@ if has('persistent_undo') set undofile endif -if has('cscope') -" set cscopetag cscopeverbose - -" if has('quickfix') -" set cscopequickfix=s-,c-,d-,i-,t-,e- -" endif - - cnoreabbrev csa cs add - cnoreabbrev csf cs find - cnoreabbrev csk cs kill - cnoreabbrev csr cs reset - cnoreabbrev css cs show - cnoreabbrev csh cs help +if has("nvim-0.5.0") + packadd nvim-lsp +" lua require'nvim_lsp'.rust_analyzer.setup{} + lua require'nvim_lsp'.rls.setup{} +" lua require'nvim_lsp'.clangd.setup{} + + let g:language_client_log_level = 'debug' + + function! LSPRename() + let s:newName = input('Enter new name: ', expand('<cword>')) + echom "s:newName = " . s:newName + lua vim.lsp.buf.rename(s:newName) + endfunction + + function! LSPSetMappings() + setlocal omnifunc=v:lua.vim.lsp.omnifunc + + nnoremap <silent> <buffer> gd <cmd>lua vim.lsp.buf.declaration()<CR> + nnoremap <silent> <buffer> <c-]> <cmd>lua vim.lsp.buf.definition()<CR> + nnoremap <silent> <buffer> K <cmd>lua vim.lsp.buf.hover()<CR> + nnoremap <silent> <buffer> gD <cmd>lua vim.lsp.buf.implementation()<CR> + nnoremap <silent> <buffer> <c-k> <cmd>lua vim.lsp.buf.signature_help()<CR> + nnoremap <silent> <buffer> 1gD <cmd>lua vim.lsp.buf.type_definition()<CR> + nnoremap <silent> <buffer> gr <cmd>lua vim.lsp.buf.references()<CR> + nnoremap <silent> <buffer> gR <cmd>lua vim.lsp.buf.rename()<CR> + endfunction + + au FileType lua,sh,c,python,rust :call LSPSetMappings() + "autocmd BufWritePre lua,sh,c,python,rust lua vim.lsp.buf.formatting_sync(nil, 1000) endif - -" Omni-complition -filetype plugin on -set omnifunc=syntaxcomplete#Complete -set guicursor= - -"call plug#begin('~/.local/share/nvim/plugged') -"Plug 'rking/ag.vim' -"call plug#end() -" - -nmap <LeftMouse> <nop> -imap <LeftMouse> <nop> -vmap <LeftMouse> <nop> -nmap <2-LeftMouse> <nop> -imap <2-LeftMouse> <nop> -vmap <2-LeftMouse> <nop> -set mouse= |