Benjamin Bädorf
b487e3db6a
vifm is removed in favour of nnn, with the keybindings in nvim being changed. TODO: improve the colorscheme of `nnn` to match `ls`. All nvim plugins that were responsible for language syntax highlighting are removed in favour of treesitter[1], a syntax highlighter that parses AST instead of being regex-based. This is still experimental, but my tests so far have not encountered any issues. 1) https://github.com/nvim-treesitter/nvim-treesitter
88 lines
2.7 KiB
VimL
88 lines
2.7 KiB
VimL
" Happy yaml configuration
|
|
au! BufNewFile,BufReadPost *.{yaml,yml} set filetype=yaml
|
|
autocmd FileType yaml setlocal ts=2 sts=2 sw=2 expandtab
|
|
|
|
let g:gutentags_file_list_command = 'git ls-files'
|
|
|
|
" quick-scope
|
|
" https://github.com/unblevable/quick-scope
|
|
let g:qs_highlight_on_keys = ['f', 'F', 't', 'T']
|
|
|
|
" Golang
|
|
" Go test, Def, Decls shortcut
|
|
nmap <Leader>got :GoTest<CR>:botright copen<CR>
|
|
autocmd FileType go nmap gd :GoDef<CR>
|
|
autocmd FileType go nmap gD :GoDecls<CR>
|
|
|
|
" Go formatting
|
|
autocmd FileType go setlocal noexpandtab shiftwidth=4 tabstop=4 softtabstop=4 nolist
|
|
|
|
" Caddyfile indentation
|
|
autocmd FileType caddyfile setlocal noexpandtab shiftwidth=8 tabstop=8 softtabstop=8 nolist
|
|
|
|
" vim-go disable text-objects
|
|
let g:go_textobj_enabled = 0
|
|
|
|
" disable vim-go :GoDef short cut (gd)
|
|
" this is handled by LanguageClient [LC]
|
|
let g:go_def_mapping_enabled = 0
|
|
|
|
" GitGutter and vim Magit
|
|
" inspired by: https://jakobgm.com/posts/vim/git-integration/
|
|
" Don't map gitgutter keys automatically, set them ourselves
|
|
let g:gitgutter_map_keys = 0
|
|
|
|
" Jump between hunks
|
|
nmap <Leader>gn <Plug>(GitGutterNextHunk) " git next
|
|
nmap <Leader>gp <Plug>(GitGutterPrevHunk) " git previous
|
|
|
|
" Hunk-add and hunk-revert for chunk staging
|
|
nmap <Leader>ga <Plug>(GitGutterStageHunk) " git add (chunk)
|
|
nmap <Leader>gu <Plug>(GitGutterUndoHunk) " git undo (chunk)
|
|
|
|
" Open vimagit pane
|
|
nnoremap <leader>gs :Magit<CR> " git status
|
|
|
|
" Push to remote
|
|
nnoremap <leader>gP :! git push<CR> " git Push
|
|
|
|
" Quick conflict resolution in git mergetool nvim
|
|
" http://vimcasts.org/episodes/fugitive-vim-resolving-merge-conflicts-with-vimdiff/
|
|
nmap <Leader>[ :diffget //2<CR>
|
|
nmap <Leader>] :diffget //3<CR>
|
|
|
|
" netrw
|
|
let g:netrw_fastbrowse=0
|
|
|
|
" Auto-FMT rust code on save
|
|
let g:rustfmt_autosave = 1
|
|
|
|
" Indenting in html template tags
|
|
let g:html_indent_style1 = "inc"
|
|
|
|
" yank highlight duration
|
|
let g:highlightedyank_highlight_duration = 200
|
|
|
|
" Markdown options
|
|
let g:vim_markdown_folding_disabled = 1
|
|
|
|
" Haskell options
|
|
let g:haskell_enable_quantification = 1 " to enable highlighting of `forall`
|
|
let g:haskell_enable_recursivedo = 1 " to enable highlighting of `mdo` and `rec`
|
|
let g:haskell_enable_arrowsyntax = 1 " to enable highlighting of `proc`
|
|
let g:haskell_enable_pattern_synonyms = 1 " to enable highlighting of `pattern`
|
|
let g:haskell_enable_typeroles = 1 " to enable highlighting of type roles
|
|
let g:haskell_enable_static_pointers = 1 " to enable highlighting of `static`
|
|
let g:haskell_backpack = 1 " to enable highlighting of backpack keywords
|
|
|
|
" Emmet
|
|
let g:user_emmet_leader_key='<c-n>'
|
|
|
|
" Ack
|
|
if executable('ag')
|
|
let g:ackprg = 'ag --vimgrep'
|
|
endif
|
|
|
|
" nnn
|
|
let g:nnn#command = 'nnn -d -e -H -r'
|