syntax on
set number
set relativenumber
-" set hlsearch
set incsearch
set encoding=utf-8
set tabstop=4
set shiftwidth=4
set expandtab
-set formatoptions-=cro "disables auto comments
" spell check
setlocal spell
" Bindings
let mapleader = ' '
+" File stuff
" map <leader>e :Ex<cr>
" map <leader>v :Vex<cr>
map <leader>l :bn<cr>
map <leader>h :bp<cr>
map <leader>d :bd<cr>
+" View whitespace
+set lcs=space:ยท
+map <leader>s :set list!<cr>
+
" colors
hi Conceal ctermbg=Black
hi SpellBad ctermfg=Red ctermbg=Black cterm=underline
+" statusline
+function! StatusModeColor()
+ if (mode() =~# '\v(n|no)')
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Yellow
+ elseif (mode() =~# '\v(v|V)')
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Red
+ elseif (mode() ==# 'i')
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=LightBlue
+ elseif (mode() ==# 'c')
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=Green
+ else
+ hi StatusLine cterm=None gui=None ctermfg=black ctermbg=DarkGrey
+ endif
+
+ return ''
+endfunction
+
+function! StatusModifiedColor()
+ if getbufinfo(1)[0].changed
+ hi User1 cterm=None gui=None ctermfg=Black ctermbg=LightGrey
+ else
+ hi User1 cterm=None gui=None ctermfg=White ctermbg=Black
+ endif
+
+ return ''
+endfunction
+
+call StatusModeColor()
+
+" set showtabline=2
+
+set laststatus=2
+set statusline=
+set statusline+=%{StatusModeColor()}
+set statusline+=%{StatusModifiedColor()}
+set statusline+=\ vim\ \[%{mode()}\]
+set statusline+=\ %1*\ %F\ %m
+set statusline+=%=
+set statusline+=%0*
+set statusline+=\ %ff
+set statusline+=\ %r\[%{v:register}\]
+set statusline+=\ %l/%L:%c
+set statusline+=\
+
" Netrw
" let g:netrw_liststyle = 3
" let g:netrw_banner = 0
" let g:netrw_winsize = 25
" let g:netrw_browse_split = 4
+" Templates
+augroup templates
+ autocmd BufNewFile *.tex 0r ~/.vim/templates/skeleton.tex
+ autocmd BufNewFile *.html 0r ~/.vim/templates/skeleton.html
+ autocmd BufNewFile *.rkt 0r ~/.vim/templates/skeleton.rkt
+augroup END
+
" vim plug
" this blob auto installs vim plug if it isnt already
if empty(glob('~/.vim/autoload/plug.vim'))
autocmd VimEnter * PlugInstall --sync | source $MYVIMRC
endif
+" template stuff
call plug#begin('~/.vim/plugged')
Plug 'sirver/ultisnips'
Plug 'lervag/vimtex'
Plug 'jiangmiao/auto-pairs'
Plug 'PietroPate/vim-tex-conceal'
-Plug 'vim-airline/vim-airline'
+" Plug 'vim-airline/vim-airline'
Plug 'tpope/vim-commentary'
Plug 'ptzz/lf.vim'
+Plug 'voldikss/vim-floaterm'
" Plug 'ctrlpvim/ctrlp.vim'
" Plug 'neoclide/coc.nvim', {'branch': 'release'}
" Plug 'habamax/vim-godot'
\}
" VimAirline
-let g:airline#extensions#tabline#enabled = 1
-let g:airline#extensions#tabline#buffer_min_count = 2
-let g:airline_powerline_fonts=1
+" let g:airline#extensions#tabline#enabled = 1
+" let g:airline#extensions#tabline#buffer_min_count = 2
+" let g:airline_powerline_fonts=1
" Ctrlp
let g:ctrlp_cmd='CtrlPTag'
" Lf
" let g:lf_replace_netrw = 1 " weird behavior rn
+
+" Run after plugins
+autocmd FileType * set formatoptions-=o