¿Qué hace el movimiento de subrayado en vim?

10

No entiendo el movimiento de subrayado en vim, al menos en el contexto de yank (y). Mi hoja de trucos dice

"soft" bol down

que no entiendo Si uso el movimiento solo, parece ser el mismo ^que significa ir al primer espacio no en blanco en la línea. Sin embargo, si uso el movimiento con, yentonces tira de toda la línea (como yy o Y), pero y^no tira de toda la línea, sino solo al primer carácter que no sea un espacio en blanco, exclusivo, como es de esperar.

Entonces, ¿qué se supone que debe hacer exactamente el subrayado?

Tyler Durden
fuente

Respuestas:

13

Sin un conteo, ^y de _hecho son equivalentes, pero este último admite un conteo:

  _  <underscore>         [count] - 1 lines downward, on the first non-blank
                          character |linewise|.

El linewiseexplica su segunda observación: cuando se utiliza como un movimiento, que no sólo cubre el texto entre la posición anterior y la nueva, pero todo el conjunto de líneas cubiertas.

Leer atentamente el :helpproporciona estas ideas. También verá (por proximidad) que el _comando está estrechamente relacionado con +y -.

Ingo Karkat
fuente
Hmmm, ok, entonces, ¿cuál es la diferencia entre y2_ e y2 +?
Tyler Durden
2
@TylerDurden La diferencia es 1 (línea), al igual que la diferencia entre [count] - 1y [count]para cualquier valor de [count]. Como mencionó Ingo, sería bueno leer la ayuda incorporada de vim, que es bastante clara.
jw013
3
¿Por qué existe el _comando? ¿Por qué alguien lo preferiría +?
Aaron Thoma
No es para discutir, pero la ayuda es un poco confusa en este caso. [count] - 1 lines downward- Para mí, decía "cuenta: 1 líneas hacia abajo" en lugar de la interpretación correcta. Lo sé, ni siquiera tiene mucho sentido, pero hay un pequeño margen de confusión allí.
André Chalella