-" My vimrc.
-"
-" Author:   Samir Benmendil <samir.benmendil[at]gmail[dot]com>
-"
-
 " runtimepath {{{1
 set runtimepath ^=$XDG_CONFIG_HOME/vim
 set runtimepath +=$XDG_CONFIG_HOME/vim/after
 Plug 'thinca/vim-qfreplace'
 Plug 'tomtom/tcomment_vim'
 Plug 'tpope/vim-abolish'
+Plug 'tpope/vim-characterize'
 Plug 'tpope/vim-endwise'
 Plug 'tpope/vim-eunuch'
 Plug 'tpope/vim-fugitive'
 autocmd BufReadPost fugitive://* set bufhidden=delete
 
 function! GitToggle()
-  if buflisted(bufname('.git/index'))
-    bdelete .git/index
+  let l:status_buffer = bufname('^fugitive:///*/.git{/worktrees/*,}//$')
+  if buflisted(l:status_buffer)
+    execute 'bdelete '.l:status_buffer
   else
     Git
     16wincmd_
 
 " switch
 let g:switch_mapping = "<Leader>s"
+let g:switch_custom_definitions = [
+      \   ['yes', 'no']
+      \ ]
 
 " spellrotate
 nmap <silent> z] <Plug>(SpellRotateForward)
 
 " vim-easy-align {{{2
 " start interactive EasyAlign in visual mode
-vmap <Enter> <Plug>(EasyAlign)
-nmap ga <Plug>(EasyAlign)
+vmap <Enter>   <Esc>:echohl WarningMsg \| echo "EasyAlign mapped to \16<leader>a now" \| echohl None<CR>
+vmap <leader>a <Plug>(EasyAlign)
+nmap <leader>a <Plug>(EasyAlign)
 
 " vim-gtest {{{2
 let g:gtest#highlight_failing_tests = 0