xp命令可快速调换光标处字符与其右侧字符的顺序:先x删除光标下字符,再p粘贴到光标后,实现左右字符交换;需在普通模式下将光标置于左侧字符执行,不适用于行首。

在 Vim 中,可以使用 xp 命令快速调换光标所在位置前后两个字符的顺序。
原理与操作方式
该操作基于 Vim 的“交换”逻辑:先用 x 删除光标下的字符,再用 p 将其粘贴到光标后方。结果就是光标处的字符和它右边的字符互换了位置。
- 把光标放在要调换的两个字符中左边那个字符上(例如,在
ab中,光标置于a) - 输入 xp,即先执行删除(x),再粘贴(p)
- 原本的
ab就变成ba
其他等效或扩展方法
如果光标已在右侧字符上,可用 dpX 反向操作(不常用),但更推荐统一把光标放在左侧字符再按 xp,习惯后更快。
- xp 是最简、最顺手的方式,无需进入任何模式,普通模式下直接执行
- 想一次调换多个相邻字符对(如
abcd→badc),可配合动作,例如 2xp(重复两次)或 2@:(重复上一次命令) - 注意:xp 对空格、标点、字母数字均有效,但不能用于行首(光标在行首时 x 会删行首字符,p 粘贴到行尾,效果不符)
常见误操作提醒
容易混淆的是 xp 和 px —— 后者先粘贴再删除,通常不符合调换预期,且可能引入冗余字符。
- 确保当前处于普通模式(按 Esc 可确认)
- 不要在可视模式或插入模式下尝试,否则行为不同
- 若误操作,用 u 撤销即可
进阶小技巧
想把光标所在字符和左边字符交换(即向左调换),可用 xp 的镜像操作:hp(h 左移一位,再 p 粘贴),但需先用 x 删除——所以完整是 hxP(先左移,再删右边字符,再粘贴到左边)。不过日常几乎都用 xp 向右调换,足够覆盖绝大多数场景。

















