aboutsummaryrefslogtreecommitdiff
path: root/vimrc
diff options
context:
space:
mode:
authorSergey Nazaryev <sergey@nazaryev.ru>2020-10-02 01:11:50 +0300
committerSergey Nazaryev <sergey@nazaryev.ru>2020-10-02 02:19:20 +0300
commite2ae1c1b2a6845a89afd1d7aa5b635adf2ebdbd1 (patch)
tree24a2962faa8df80f45858fc4fe7f18beee963b38 /vimrc
parentf310168d26d933315d9cfd079dd575d66971f6e5 (diff)
downloaddotfiles-e2ae1c1b2a6845a89afd1d7aa5b635adf2ebdbd1.zip
dotfiles-e2ae1c1b2a6845a89afd1d7aa5b635adf2ebdbd1.tar.gz
dotfiles-e2ae1c1b2a6845a89afd1d7aa5b635adf2ebdbd1.tar.bz2
Major refactoring
Diffstat (limited to 'vimrc')
-rw-r--r--vimrc89
1 files changed, 49 insertions, 40 deletions
diff --git a/vimrc b/vimrc
index 624cc3c..a1a52f6 100644
--- a/vimrc
+++ b/vimrc
@@ -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=