Co robi ruch podkreślenia w vimie?

11

Nie rozumiem ruchu podkreślenia w vimie, przynajmniej w kontekście yank (y). Mój ściągawka czyta

"soft" bol down

którego nie rozumiem. Jeśli użyję samego ruchu, wydaje się, że jest taki sam, ^co oznacza przejście do pierwszej niebiałej spacji w linii. Jeśli jednak yużyję tego ruchu, wówczas szarpnie on całą linię (jak yy lub Y), ale y^nie szarpnie całej linii, ale tylko do pierwszej spacji, wyłącznej, jak można się spodziewać.

Co dokładnie powinien robić podkreślnik?

Tyler Durden
źródło

Odpowiedzi:

14

Bez liczenia ^i _rzeczywiście są równoważne, ale te ostatnie obsługują liczenie:

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

linewiseWyjaśnia swoją drugą obserwację: kiedy jest stosowany jako ruchu, nie obejmuje ona tylko tekst między poprzedniej pozycji i nowy, ale cały zestaw wierszy objętych.

Uważne czytanie :helpzapewnia te informacje. Zobaczysz także (według odległości), że _polecenie jest ściśle powiązane z +i -.

Ingo Karkat
źródło
Hmmm, ok, jaka jest różnica między y2_ a y2 +?
Tyler Durden,
2
@TylerDurden Różnica wynosi 1 (linia), podobnie jak różnica między [count] - 1i [count]dla dowolnej wartości [count]. Jak wspomniał Ingo, dobrze byłoby przeczytać wbudowaną pomoc vima, która jest całkiem jasna.
jw013,
4
Dlaczego _polecenie istnieje? Dlaczego ktoś wolałby to +?
Aaron Thoma
Nie kłócić się, ale pomoc jest nieco myląca w tym przypadku. [count] - 1 lines downward- dla mnie brzmiał on „count: 1 linie w dół” zamiast poprawnej interpretacji. Wiem, nawet nie ma to większego sensu, ale jest tam trochę miejsca na zamieszanie.
André Chalella,