From cfa23f93ef3432753e9e85cfeb3fd67cad5836c5 Mon Sep 17 00:00:00 2001 From: Alec Goncharow Date: Mon, 10 Aug 2020 17:43:23 -0400 Subject: 2020 --- .vim/vimrc | 94 ++++++++++++++++++++++++++++++++++++++++++++++++++++++-------- 1 file changed, 82 insertions(+), 12 deletions(-) (limited to '.vim') diff --git a/.vim/vimrc b/.vim/vimrc index abe2f83..afafa97 100644 --- a/.vim/vimrc +++ b/.vim/vimrc @@ -8,21 +8,27 @@ call vundle#begin() "call vundle#begin('~/some/path/here') " let Vundle manage Vundle, required -Plugin 'VundleVim/Vundle.vim' +" Plugin 'VundleVim/Vundle.vim' +Plugin 'neoclide/coc.nvim', {'branch': 'release'} " AutoComplete plugin -Plugin 'Valloric/YouCompleteMe' -" file system explorer -Plugin 'scrooloose/nerdtree' +" Plugin 'Valloric/YouCompleteMe' +Plugin 'racer-rust/vim-racer' " rust lang Plugin 'rust-lang/rust.vim' " syntastic Plugin 'vim-syntastic/syntastic' " statusline " Plugin 'powerline/powerline' -Plugin 'vim-airline/vim-airline' -Plugin 'vim-airline/vim-airline-themes' +" Plugin 'vim-airline/vim-airline' +" Plugin 'vim-airline/vim-airline-themes' "C++ Highlighting Plugin 'octol/vim-cpp-enhanced-highlight' +"GO +Plugin 'fatih/vim-go' +"GLSL +Plugin 'tikhomirov/vim-glsl' +" latex +Plugin 'lervag/vimtex' " The following are examples of different formats supported. " Keep Plugin commands between vundle#begin/end. " plugin on GitHub repo @@ -75,8 +81,20 @@ if 'VIRTUAL_ENV' in os.environ: execfile(activate_this, dict(__file__=activate_this)) EOF + +" use for trigger completion and navigate to the next complete item +function! s:check_back_space() abort + let col = col('.') - 1 + return !col || getline('.')[col - 1] =~ '\s' +endfunction + +inoremap + \ pumvisible() ? "\" : + \ check_back_space() ? "\" : + \ coc#refresh() + set laststatus=2 -set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c +"set statusline=\ %{HasPaste()}%F%m%r%h\ %w\ \ CWD:\ %r%{getcwd()}%h\ \ \ Line:\ %l\ \ Column:\ %c map :NERDTreeToggle map :set hlsearch! @@ -86,6 +104,14 @@ map :set hlsearch! nnoremap :ls:b +fun! TrimWhitespace() + let l:save = winsaveview() + keeppatterns %s/\s\+$//e + call winrestview(l:save) +endfun + +noremap :call TrimWhitespace() + set hlsearch set incsearch @@ -95,14 +121,58 @@ set mouse=a set magic set smarttab +let g:enable_bold_font = 1 + +" Statusline {{{2 + +" Statusline definition {{{3 +set statusline= " clear +set statusline+=%1*\ " Color - +set statusline+=%t " Tail of the filename +set statusline+=%2* " Color +set statusline+=%h " Help file flag +set statusline+=%r " Read only flag +set statusline+=%3* " Color +set statusline+=%m " Modified flag +set statusline+=%= " Left/right separator +set statusline+=%4*\ " Color - +" set statusline+=%{g:pluginUpdateStatus} " Up to date plugins +set statusline+=\ \ " -- +set statusline+=%{&filetype} " Filetype +set statusline+=\ \ " -- +set statusline+=%{&fenc} " File encoding +set statusline+=[%{&ff}] " File format +set statusline+=[ " Indent settings: begin +set statusline+=%{&expandtab?\"sp\":\"tab\"}\ " Indent settings +set statusline+=%{&shiftwidth} " Indent settings +set statusline+=] " Indent settings: end +set statusline+=\ %5*\ \ \ " - Color --- +set statusline+=%2c " Cursor column +set statusline+=\ \ " -- +set statusline+=%2v " Cursor column (virtual) +set statusline+=\ \ " -- +set statusline+=(%l\ /\ %L) " Cursor line/total lines +" set statusline+=\ \ " -- +" set statusline+=%P " Percent through file + +" Statusline colors {{{3 +hi User1 ctermfg=250 ctermbg=234 +hi User2 ctermfg=008 ctermbg=234 +hi User3 ctermfg=143 ctermbg=234 +hi User4 ctermfg=237 ctermbg=233 +hi User5 ctermfg=238 ctermbg=233 + + + + "------------Start Python PEP 8 stuff---------------- " Number of spaces that a pre-existing tab is equal to. -au BufRead,BufNewFile *.html,*py,*pyw,*.c,*.h,*.js,*.tex set tabstop=4 +au BufRead,BufNewFile *.html,*py,*pyw,*.c,*.h,*.js,*.tex,*.glsl,*.java,*.ts,*.tsx,*.c,*.cpp,*.h,*.hpp set tabstop=4 "spaces for indents -au BufRead,BufNewFile *.html,*.py,*.pyw,*.js,*.tex set shiftwidth=4 -au BufRead,BufNewFile *.html,*.py,*.pyw,*.js,*.tex set expandtab -au BufRead,BufNewFile *.html,*.py,*.js,*.tex set softtabstop=4 +au BufRead,BufNewFile *.html,*.py,*.pyw,*.js,*.tex,*.glsl,*.java,*.ts,*.tsx,*.c,*.cpp,*.h,*.hpp set shiftwidth=4 +au BufRead,BufNewFile *.html,*.py,*.pyw,*.js,*.tex,*.glsl,*.java,*.ts,*.tsx,*.c,*.cpp,*.h,*.hpp set expandtab +au BufRead,BufNewFile *.html,*.py,*.js,*.tex,*.glsl,*.java,*.ts,*.tsx,*.c,*.cpp,*.h,*.hpp set softtabstop=4 " Use the below highlight group when displaying bad whitespace is desired. highlight BadWhitespace ctermbg=red guibg=red @@ -145,7 +215,7 @@ let g:ycm_python_binary_path = 'python' let g:ycm_server_python_interpreter = '/usr/bin/python' let g:ycm_autoclose_preview_window_after_completion=1 let g:ycm_collect_identifiers_from_comments_and_strings=1 - +let g:ycm_global_ycm_extra_conf = '~/.vim/.ycm_extra_conf.py' set backspace=indent,eol,start " Rust -- cgit v1.2.3-70-g09d2