Vim: how do I swap two characters?

Is there a fast command to change

Cnotrol

to

Control

Solution 1:

While in normal mode, with your cursor on top of the first character to swap, you can type xp to delete one character and put it after the cursor, effectively swapping the two characters.

One possibly useful command (taken straight from the Vim page on swapping) would be

:nnoremap <silent> gc xph

to map gc (or another command of your choice) to swapping two characters. Note that the h simply moves the cursor back to its original position, on top of the first of the two characters to be swapped.

Solution 2:

xp

This swaps the current character with the next.

Solution 3:

You can also just use Xp with the cursor being on the second character. That way you stay on the same position without defining a new mapping.