Sé muchas maneras de copiar cosas:
yiw
= tirar en la palabra actual
yaw
= tirar toda la palabra (incluye un espacio final)
yy
= tirar la línea actual
3yy
= tirar tres líneas que comienzan en la actual
yap
= tirar todo el párrafo (incluye una nueva línea)
También puedo eliminar o cambiar un solo carácter:
x
= eliminar el carácter debajo del cursor
r
= reemplazar el carácter debajo del cursor
Pero, ¿cómo demonios simplemente copia un solo personaje debajo del cursor?
Mi motivación es que estoy programando en Perl 6 y algunos de los operadores son personajes Unicode. En este momento estoy usando el código Perl 6 Config :: INI de tadzik como punto de partida para un analizador personalizado, por ejemplo, y me hubiera gustado haber copiado solo ese carácter de comillas en francés (un hiperoperador) de esta línea :
my %hash = $<sections>».ast;
Podría usar la versión de dos caracteres "Texas" del hiper operador >>
, pero pensé que se >»
veía mejor y menos ambiguo que >>>
:
my %hash = $<sections>>>.ast;
fuente
yl
ytX
("y
ankt
ilX
") parece funcionar cuandoX
está el personaje a la derecha.conceal
función Vim ?»
personaje?Respuestas:
Componer la operación con el tirón tan a menudo utilizado "un carácter a la derecha" movimiento debería funcionar:
yl
.Por cierto (para comentar un comentario OP), para mí
»
se puede tirar de esta manera, en gVim o terminal Vim. ¿Quizás un problema de codificación (de archivo)?fuente
»
funciona bien para mí. Yo usovy
dar un tirón a un solo carácter. No estoy seguro de por qué uso eso en lugar deyl
, tal vez tuve una razón consciente una vez, pero ahora es solo reflejo.y<space>
pensado que era tirar del personaje debajo del cursor, e iba a agregarlo como respuesta, pero después de verificar la ayuda me doy cuenta<space>
yl
son lo mismo.Por lo general, presiono
vy
( visual yank ), a vecesxu
( eliminar deshacer ) también. Además, si desea tirar del carbón antes de su cursor, en lugar delvy
presionarXu
, creo que esa es la razón por la que presionoxu
para la corriente. :-)Tenga en cuenta que,
Xu
hará que su cursor se mueva a ese carácter.fuente
hvy
. Traté de editarlo, pero aparentemente corregir un carácter en un comando vim no es un cambio significativo para ser aceptable.La forma más simple que sé hacer esto es usarlo
x
para eliminar el carácter, que también lo coloca en el búfer y luegoP
volverlo a colocar. A continuación, puede mover el cursor y pegar el carácter hacia atrás donde lo deseep
(después del cursor) oP
(antes del cursor), siempre que no cambie el búfer.fuente