Cosa fa il movimento di sottolineatura in vim?


11

Non capisco il movimento di sottolineatura in vim, almeno nel contesto di yank (y). Il mio cheat sheet recita

"soft" bol down

che non capisco. Se uso il movimento da solo, sembra essere lo stesso ^che significa passare al primo spazio non bianco nella riga. Tuttavia, se uso il movimento con, yallora strappa l'intera linea (come yy o Y), ma y^non strappa l'intera linea , ma solo al primo carattere non bianco, esclusivo, come ci si potrebbe aspettare.

Quindi, cosa dovrebbe fare esattamente il carattere di sottolineatura?

Risposte:


14

Senza un conteggio ^e _sono effettivamente equivalenti, ma quest'ultimo supporta un conteggio:

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

La linewisespiega la tua seconda osservazione: quando viene utilizzato come un movimento, non solo copre il testo tra la posizione precedente e quella nuova, ma l'intera serie di linee coperte.

Leggere attentamente :helpfornisce queste informazioni. Vedrai anche (per prossimità) che il _comando è strettamente correlato a +e -.


Hmmm, ok, allora qual è la differenza tra y2_ e y2 +?
Tyler Durden,

2
@TylerDurden La differenza è 1 (linea), così come la differenza tra [count] - 1e [count]per qualsiasi valore di [count]. Come menzionato da Ingo, ti farebbe bene leggere l'aiuto integrato di Vim che è abbastanza chiaro.
jw013,

4
Perché esiste il _comando - perché qualcuno dovrebbe preferirlo +?
Aaron Thoma,

Non discutere, ma l'aiuto è un po 'confuso su questo. [count] - 1 lines downward- per me, si legge "conta: 1 righe verso il basso" invece dell'interpretazione corretta. Lo so, non ha nemmeno molto senso, ma c'è un piccolo spazio di confusione lì.
André Chalella,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.