Implement correct usage of bang for Vim commands + a bit of refactor