Una cosa que siempre me ha molestado en vi / vim :
Si "tiro" (también conocido como "copiar") un texto, luego me muevo a otro lugar en el archivo y hago una "pegar", mi cursor permanece al comienzo del texto que acabo de pegar. Esto es diferente de lo que hacen los editores más modernos, que es colocar el cursor al final del texto que pegué.
Por ejemplo, suponiendo que el "búfer de copia" contiene la palabra "impresionante" que quiero pegar después de la palabra "an" en la frase:
This is an editor
En, por ejemplo , gedit , después de pegar:
This is an awesome editor
^ Cursor is here
En vi :
This is an awesome editor
^ Cursor is here
¿Puedo cambiar vi para que actúe como (por ejemplo) gedit a este respecto?
Respuestas:
En vim, use
gp
y engP
lugar dep
yP
para dejar el cursor después del texto pegado. Si desea intercambiar los enlaces, coloque las siguientes líneas en su.vimrc
:Curiosamente, en vim,
p
yP
deje el cursor en el último carácter pegado para un búfer de caracteres, incluso en modo compatible.No sé cómo cambiar esto en otras versiones vi.
fuente
Estoy bastante seguro de que esto es por diseño. Si pega con "p" (minúscula P), se supone que debe pegar después de la posición o línea actual. Sin embargo, si pega con "P" (P mayúscula), se pega antes de la posición o línea actual. Si su comportamiento deseado es que el cursor esté al final de su texto recién pegado, intente acostumbrarse a usar "P" en lugar de "p".
Apuesto a que si cavas lo suficientemente profundo, podrías encontrar una receta vim para poner en tu .vimrc que siempre movería el cursor al final de tu pasta, incluso si usas "p".
fuente
P
deja el cursor al comienzo del texto pegado en vi (al menos en nvi y por POSIX).