let &t_ZM = "\e[3m" " vim-plugs call plug#begin('~/.local/share/nvim/plugged') Plug 'airblade/vim-gitgutter' Plug 'godlygeek/tabular' Plug 'junegunn/fzf', { 'dir': '~/.fzf', 'do': './install --all' } Plug 'junegunn/fzf.vim' Plug 'mattn/emmet-vim', {'for': ['javascript.jsx', 'html', 'css']} Plug 'neoclide/coc.nvim', {'do': { -> coc#util#install()}, 'branch': 'release'} Plug 'vimwiki/vimwiki' " tpope Plug 'tpope/vim-repeat' Plug 'tpope/vim-surround' Plug 'tpope/vim-unimpaired' Plug 'tpope/vim-fugitive' " syntax and friends Plug 'rust-lang/rust.vim', {'for': 'rust'} Plug 'lervag/vimtex', {'for': 'tex'} Plug 'neovimhaskell/haskell-vim', {'for': ['haskell', 'cabal']} Plug 'elmcast/elm-vim' Plug 'LnL7/vim-nix' " my stuff Plug 'git@ferrn:vim/vim-colors-plain' Plug 'git@ferrn:vim/better-text-objs' call plug#end() " augroups augroup plaintext autocmd! autocmd FileType text,markdown setlocal ts=2 sts=2 sw=2 expandtab textwidth=60 augroup END augroup webdev autocmd! autocmd FileType less,css,html,js?,ts? setlocal ts=2 sts=2 sw=2 expandtab autocmd FileType less,css,html nnoremap s viB:sort augroup END augroup restorecursor autocmd BufReadPost * \ if line("'\"") > 1 && line("'\"") <= line("$") | \ execute "normal! g`\"" | \ endif augroup END augroup vimrc-incsearch-highlight autocmd! autocmd CmdlineEnter /,\? :set hlsearch autocmd CmdlineLeave /,\? :set nohlsearch augroup END augroup fzfstatus if has('nvim') && !exists('g:fzf_layout') autocmd! FileType fzf autocmd FileType fzf set laststatus=0 noshowmode noruler \| autocmd BufLeave set laststatus=2 showmode ruler endif augroup END " general settings set nobackup set nowritebackup set noswapfile " get rid of swapfiles everywhere set dir=/tmp syntax on set omnifunc=syntaxcomplete#Complete set completefunc=LanguageClient#complete set list filetype off filetype plugin indent on set laststatus=2 set nowrap set noshowmode set listchars=tab:┊\ ,nbsp:␣,trail:·,extends:>,precedes:< set fillchars=vert:\│,stl:\ ,stlnc:\ set ignorecase set smartcase set sidescroll=40 set incsearch set undofile set undodir=~/tmp set path+=** set backspace=indent,eol,start set hidden set wildmenu set foldmethod=manual set complete=.,w,b,i,u,t, set background=dark set mouse=a set conceallevel=0 set nonumber set grepprg=rg\ --vimgrep\ --no-heading set grepformat=%f:%l:%c:%m,%f:%l:%m set cmdheight=2 set shortmess+=c set updatetime=300 set signcolumn=yes set inccommand=split set showmatch let g:netrw_browsex_viewer= "xdg-open" colorscheme plain set shiftwidth=4 " indent = 4 spaces set expandtab set tabstop=4 " tab = 4 spaces set softtabstop=4 " backspace through spaces " Functions function! GetTabber() " a lil function that integrates well with Tabular.vim let c = nr2char(getchar()) :execute 'Tabularize /' . c endfunction " Ugh :command! WQ wq :command! Wq wq :command! Wqa wqa :command! WQa wqa :command! W w :command! Q q " abbreviations abclear iab #i #include iab #d #define cab dst put =strftime('%d %a, %b %Y') cab vg vimgrep " plugin settings " emmet let g:user_emmet_mode='a' let g:user_emmet_leader_key='' " gitgutter let g:gitgutter_override_sign_column_highlight = 0 let g:gitgutter_sign_added = '+' " '┃' let g:gitgutter_sign_modified = '~' " '┃' let g:gitgutter_sign_removed = '-' " '┃' let g:gitgutter_sign_removed_first_line = '-' " '┃' let g:gitgutter_sign_modified_removed = '~' " '┃' highlight GitGutterAdd ctermfg=8 highlight GitGutterChange ctermfg=8 highlight GitGutterDelete ctermfg=8 " rust.vim let g:rustfmt_autosave = 1 " fzf colors let g:fzf_colors = \ { 'fg': ['fg', 'Normal'], \ 'bg': ['bg', 'Normal'], \ 'hl': ['fg', 'Comment'], \ 'fg+': ['fg', 'CursorLine', 'CursorColumn', 'Normal'], \ 'bg+': ['bg', 'CursorLine', 'CursorColumn'], \ 'hl+': ['fg', 'Statement'], \ 'info': ['fg', 'PreProc'], \ 'border': ['fg', 'Ignore'], \ 'prompt': ['fg', 'Conditional'], \ 'pointer': ['fg', 'Exception'], \ 'marker': ['fg', 'Keyword'], \ 'spinner': ['fg', 'Label'], \ 'header': ['fg', 'Comment'] } let g:fzf_layout = { 'down': '40%' } let g:fzf_preview_window = [] let g:latex_view_general_viewer = 'zathura' let g:vimtex_view_method = "zathura" " man pages let g:ft_man_open_mode = 'tab' " coc-nvim hi CocHintSign ctermfg=6 hi CocErrorSign ctermfg=1 hi CocWarningSign ctermfg=3 hi CocInfoSign ctermfg=6 hi CocInfoFloat ctermfg=7 hi CocHintFloat ctermfg=7 hi CocRustChainingHint ctermfg=8 " elm-vim let g:elm_setup_keybindings = 0