-augroup fswitch
- au BufEnter *.h let b:fswitchdst = 'cpp,c'
- au BufEnter *.h let b:fswitchlocs = 'reg:|include.*|source|'
- au BufEnter *.cpp let b:fswitchdst = 'h'
- au BufEnter *.cpp let b:fswitchlocs = 'reg:|source|include/**|'
+augroup fswitch_cpp
+ au!
+ au BufEnter *.h let b:fswitchdst = 'c,cpp'
+ au BufEnter *.h let b:fswitchlocs = '.,reg:|include.*|src|'
+ au BufEnter *.hpp let b:fswitchdst = 'cpp,c'
+ au BufEnter *.hpp let b:fswitchlocs = '.,reg:|include.*|src|'
+ au BufEnter *.t(est)?.cpp let b:fswitchnames = '/.t\(est\)?//'
+ au BufEnter *.t(est)?.cpp let b:fswitchlocs = '.,reg:|t(est)?.*|src|'
+ au BufEnter *.cpp let b:fswitchdst = 'hpp,h'
+ au BufEnter *.cpp let b:fswitchlocs = '.,reg:|src|include/**|'