Putting aside mappings for a moment, what do we do when we're manually entering commands and find a range on the command line that we don't want? Hit <kbd>Backspace</kbd> five times? Well...yes...that's one possibility but there's [something better than that](http://vimhelp.appspot.com/cmdline.txt.html#c_CTRL-U): c_CTRL-U CTRL-U Remove all characters between the cursor position and the beginning of the line. ... Since a mapping is essentially the same as the equivalent manual command we just need to translate <kbd>Ctrl</kbd>+<kbd>U</kbd> to something that works in Vimscript. That would be the equivalent [keycode](http://vimhelp.appspot.com/intro.txt.html#keycodes) `<C-U>`. So add `<C-U>` at the beginning of your mapping right after the opening `:`. For example: vnoremap ,a :<C-U>silent! ..etc.. That will clear *any* text that happens to currently be on the command line before your command(s) are applied.