aboutsummaryrefslogtreecommitdiff
path: root/.vim/vimrc
diff options
context:
space:
mode:
Diffstat (limited to '.vim/vimrc')
-rw-r--r--.vim/vimrc94
1 files changed, 82 insertions, 12 deletions
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 <tab> 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 <silent><expr> <Tab>
+ \ pumvisible() ? "\<C-n>" :
+ \ <SID>check_back_space() ? "\<Tab>" :
+ \ 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 <C-n> :NERDTreeToggle<CR>
map <C-h> :set hlsearch!<CR>
@@ -86,6 +104,14 @@ map <C-h> :set hlsearch!<CR>
nnoremap <C-l> :ls<CR>:b<space>
+fun! TrimWhitespace()
+ let l:save = winsaveview()
+ keeppatterns %s/\s\+$//e
+ call winrestview(l:save)
+endfun
+
+noremap <C-w> :call TrimWhitespace()<CR>
+
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