Pregunta:
En la línea de lectura de bash en modo emacs, descubrí recientemente la funcionalidad de transposición , lo que me brinda la oportunidad de corregir rápidamente un error tipográfico como
dc dir
a
cd dir
presionando CTRL + T en el carácter c
.
¿Hay algo similar en Vi / Vim que me permita intercambiar caracteres y palabras?
Respuesta:
Para los caracteres, es bastante simple: xp
para intercambiar la letra debajo del cursor con la siguiente letra, y Xp
para intercambiar la letra debajo del cursor con la letra anterior.
El comando x
elimina el carácter debajo del cursor, dejando el cursor en el siguiente carácter. El comando X
elimina el carácter justo antes del cursor, dejando el cursor en el mismo carácter en el que estaba.
p
coloca (pega) el último texto eliminado o retirado justo después de la posición actual del cursor. ( P
coloca justo antes de la posición actual del cursor, por lo que xP
y XP
dejan el texto tal como estaba antes de comenzar).
Para intercambiar palabras, no estoy seguro; tal vez alguien más pueda responder a eso. Puede acercarse con dawwP
(o reasignarlo para que sea más corto) pero eso se romperá en varios casos de borde, por ejemplo, cerca del final de una línea.