Respuestas:
¡Buena pregunta!
Como un movimiento en sí mismo, tienes razón, _no es una clave particularmente útil.:h _
*_*
_ <underscore> [count] - 1 lines downward, on the first non-blank
character |linewise|.
La palabra clave aquí es "linealmente". Entonces, si su objetivo es simplemente mover el cursor, entonces ^, jy +todos hacen el trabajo, y no tiene mucho sentido _. Pero como argumento para un operador, _es súper poderoso.
Muchos atajos de doble clave son en realidad solo atajos para _. Por ejemplo,
dd -> d_
cc -> c_
yy -> y_
Y -> y_
etc. Debido a que es un movimiento en línea, básicamente selecciona la línea completa para ser operada, independientemente de dónde comience el cursor, mientras que ^solo va desde su personaje hasta el primer espacio en blanco.
Al pensar en los movimientos en línea y en bloque, me ayuda imaginar que estoy presionando bien vo Vjusto antes del movimiento. Entonces imagino d^que es equivalente a v^de imagino d_que es equivalente a V_do V^d. Por supuesto, también puede anular un movimiento para forzarlo a ser lineal o de carácter. Entonces, en dv_realidad es exactamente lo mismo que d^o v^d, y dVwes como lo Vwdque es exactamente como d_.
La razón por la cual es específicamente la línea "cuenta-1 °" es para que 1dd(lo que realmente es d1_) borra una línea completa, 2dd(lo que es realmente d2_) elimina 2 líneas enteras, 3ddelimina 3 líneas enteras, etc.
ddpuede ser más conveniente que d_eso, pero eso es porque ddes solo un mapeo para d_. Y también es útil en vimscript.
gUU? Creo que valdría la pena encontrar un ejemplo real de dónde <operator>_se usaría.
ddes más fácil qued_y3yjes más fácil que4y_.