config

NixOS config
Log | Files | Refs | README | LICENSE

vimrc (2402B) - Raw


      1 syntax on
      2 filetype plugin indent on
      3 set et ts=4 sw=4 sts=4 nu hlsearch ruler ignorecase smartcase nomodeline bg=dark incsearch
      4 set path=**/* backspace=2 nojs signcolumn=no
      5 set laststatus=1 diffopt+=algorithm:patience
      6 nnoremap <Leader>\ gqj
      7 command OLD :enew | setl buftype=nofile | 0put =v:oldfiles | nnoremap <buffer> <CR> :e <C-r>=getline('.')<CR><CR>
      8 
      9 " nvim 0.10 uses bland colors. Necessary habits don't die.
     10 " I also liked: industry, koehler, pablo, torte, vim
     11 colorscheme vim
     12 
     13 " https://vi.stackexchange.com/a/39451
     14 set maxmempattern=5000
     15 
     16 call matchadd('ColorColumn', '\%81v', 100)
     17 
     18 " thanks to drew de vault's vimrc, except swearing
     19 set mouse=
     20 set backupdir=~/.cache directory=~/.cache
     21 "nnoremap Q :grep <cword><CR>
     22 nmap gs :grep <cursor><CR>
     23 
     24 " bits from vim-sensible
     25 set autoindent smarttab nrformats-=octal
     26 nnoremap <silent> <C-L> :nohlsearch<C-R>=has('diff')?'<Bar>diffupdate':''<CR><CR><C-L>
     27 set wildmenu sidescrolloff=5 display+=lastline encoding=utf-8
     28 set formatoptions+=j history=1000 tabpagemax=50 sessionoptions-=options
     29 
     30 " so Gdiff and vimdiff output are somewhat readable
     31 if &diff
     32     syntax off
     33 endif
     34 
     35 " html
     36 au FileType html,gohtmltmpl setlocal ts=2 sw=2 sts=2
     37 
     38 " ruby
     39 au BufRead,BufNewFile Vagrantfile setfiletype ruby
     40 
     41 " puppet
     42 au BufRead,BufNewFile *.j2 setfiletype django
     43 
     44 " avro
     45 au BufRead,BufNewFile *.avsc setfiletype json
     46 au BufRead,BufNewFile *.avsc setlocal ts=2 sw=2 sts=2
     47 
     48 " redo
     49 au BufRead,BufNewFile *.do setfiletype sh
     50 
     51 " go
     52 au FileType go setlocal noet
     53 au FileType go nnoremap <buffer> <C-]> :GoDef<CR>
     54 au FileType go let g:go_template_autocreate = 0
     55 
     56 " starlark
     57 au BufRead,BufNewFile *.star setfiletype python
     58 
     59 " strace
     60 au FileType strace setlocal nonu
     61 
     62 " yaml
     63 au FileType yaml setlocal ts=2 sw=2 sts=2
     64 
     65 " sql
     66 au FileType sql setlocal formatprg=pg_format\ -
     67 au FileType sql setlocal ts=2 sw=2 sts=2
     68 
     69 " nix
     70 au FileType nix setlocal ts=2 sw=2 sts=2
     71 
     72 " mail
     73 autocmd BufRead,BufNewFile *mutt-* setfiletype mail
     74 
     75 " TeX
     76 au FileType tex setlocal spell spelllang=en_us ts=2 sw=2 sts=2
     77 
     78 " ctags
     79 let g:gutentags_enabled = 1
     80 let g:gutentags_generate_on_new = 0
     81 let g:gutentags_generate_on_missing = 0
     82 let g:gutentags_cache_dir = '~/.vim/ctags'
     83 let b:gutentags_file_list_command = 'git ls-files "*.star"'
     84 let g:gutentags_project_root = ['~/dev/monorepo', '~/dev/envconfig']
     85 let g:gutentags_ctags_extra_args = ['--languages=Python', '--langmap=Python:+.star', '--extra=+f' ]