Vim: how do I swap two characters?

后端 未结 4 443
野性不改
野性不改 2021-02-03 17:23

Is there a fast command to change

Cnotrol

to

Control
相关标签:
4条回答
  • 2021-02-03 17:32

    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.

    0 讨论(0)
  • 2021-02-03 17:38

    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.

    0 讨论(0)
  • 2021-02-03 17:46

    If you have some common missspellings you can also use the abbreviation feature to correct these as you type. For example, I often mistype 'String' as 'Stirng', the following command fixes these while typing:

    inoreab <buffer> Stirng String
    
    0 讨论(0)
  • 2021-02-03 17:50

    xp

    This swaps the current character with the next.

    0 讨论(0)
提交回复
热议问题