call plug#begin('~/.vim/plugged') Plug 'tpope/vim-sensible' Plug 'tpope/vim-fugitive' Plug 'tpope/vim-vinegar' Plug 'lervag/vimtex' Plug 'Shougo/deoplete.nvim' Plug 'roxma/nvim-yarp' Plug 'roxma/vim-hug-neovim-rpc' Plug 'w0rp/ale' Plug 'lervag/vimtex' Plug 'ervandew/supertab' Plug 'dylanaraps/wal.vim' Plug 'airblade/vim-gitgutter' call plug#end() map map let g:deoplete#enable_at_startup = 1 let g:ale_lint_on_text_changed = 'never' set tabstop=4 shiftwidth=4 expandtab set laststatus=2 set encoding=utf-8 set ttyfast set lazyredraw set number """"" Statusline """"" let g:currentmode = { \ 'n' : 'N ', \ 'no' : 'N·Operator Pending ', \ 'v' : 'V ', \ 'V' : 'V·Line ', \ '^V' : 'V·Block ', \ 's' : 'Select ', \ 'S' : 'S·Line ', \ '^S' : 'S·Block ', \ 'i' : 'I ', \ 'R' : 'R ', \ 'Rv' : 'V·Replace ', \ 'c' : 'Command ', \ 'cv' : 'Vim Ex ', \ 'ce' : 'Ex ', \ 'r' : 'Prompt ', \ 'rm' : 'More ', \ 'r?' : 'Confirm ', \ '!' : 'Shell ', \ 't' : 'Terminal ' \} " Automatically change the statusline color depending on mode function! ChangeStatuslineColor() if (mode() =~# '\v(n|no)') exe 'hi! StatusLine ctermfg=008' elseif (mode() =~# '\v(v|V)' || g:currentmode[mode()] ==# 'V·Block' || get(g:currentmode, mode(), '') ==# 't') exe 'hi! StatusLine ctermfg=005' elseif (mode() ==# 'i') exe 'hi! StatusLine ctermfg=004' else exe 'hi! StatusLine ctermfg=006' endif return '' endfunction function! ReadOnly() if &readonly || !&modifiable return '' else return '' endfunction function! GitInfo() let git = fugitive#head() if git != '' return ' '.fugitive#head() else return '' endfunction function! LinterStatus() abort let l:counts = ale#statusline#Count(bufnr('')) let l:all_errors = l:counts.error + l:counts.style_error let l:all_non_errors = l:counts.total - l:all_errors return l:counts.total == 0 ? 'OK' : printf( \ '%dW %dE', \ all_non_errors, \ all_errors \) endfunction set statusline= set statusline+=%{ChangeStatuslineColor()} " Changing the statusline color set statusline+=%0*\ %{toupper(g:currentmode[mode()])} " Current mode set statusline+=%8*\ [%n] " buffernr set statusline+=%8*\ %{GitInfo()} " Git Branch name set statusline+=%8*\ %<%F\ %{ReadOnly()}\ %m\ %w\ " File+path set statusline+=%#warningmsg# set statusline+=%* set statusline+=%9*\ %= " Space set statusline+=%8*\ %y\ " FileType set statusline+=%0*\ %{LinterStatus()}\%3p%%\ \ %l:\ %3c\ " Rownumber/total (%) hi User1 ctermfg=007 hi User2 ctermfg=008 hi User3 ctermfg=008 hi User4 ctermfg=008 hi User5 ctermfg=008 hi User7 ctermfg=008 hi User8 ctermfg=008 hi User9 ctermfg=007 """" LaTeX let g:vimtex_complete_enabled = 1 if !exists('g:deoplete#omni#input_patterns') let g:deoplete#omni#input_patterns = {} endif let g:deoplete#omni#input_patterns.tex = g:vimtex#re#deoplete let g:vimtex_compiler_latexmk = { \ 'callback': 0, \ 'backend' : 'jobs' \} nmap lw :VimtexCountWords """" Colors colorscheme wal highlight SignColumn ctermbg=black