set lazyredraw " don't redraw while executing macros
set list " show chars defined in 'listchars'
-set listchars=tab:â\96¸\ " list of strings used for list mode
+set listchars=tab:â\9d\ " list of strings used for list mode
set listchars+=extends:❯,precedes:❮
" Only shown when not in insert mode
augroup trailing
" center cursor after search and open folds
nnoremap n nzzzv
nnoremap N Nzzzv
+nnoremap ^O ^Ozzzv
+nnoremap ^I ^Izzzv
" same when jumping around
nnoremap g; g;zzzv
" break undo sequence before removing word
inoremap <C-W> <C-G>u<C-W>
-nmap <Leader>b :set expandtab tabstop=4 shiftwidth=4 softtabstop=4<CR>
-nmap <Leader>B :set expandtab tabstop=8 shiftwidth=8 softtabstop=4<CR>
-nmap <Leader>M :set noexpandtab tabstop=8 softtabstop=4 shiftwidth=4<CR>
-nmap <Leader>m :set expandtab tabstop=2 shiftwidth=2 softtabstop=2<CR>
+nnoremap coe :set <C-R>=&expandtab ? 'noexpandtab' : 'expandtab'<CR><CR>
+nnoremap [oe :set expandtab<CR>
+nnoremap ]oe :set noexpandtab<CR>
+
+for idt in range(1,8)
+ exe 'nnoremap co'.idt.' :set tabstop='.idt.' shiftwidth='.idt.' softtabstop='.idt.'<CR>'
+endfor
" space will toggle current fold in normal mode
nnoremap <leader><Space> za