Що робить підкреслювальний рух у vim?


11

Я не розумію руху підкреслення в vim, принаймні в контексті yank (y). Мій шпаргалка читає

"soft" bol down

чого я не розумію. Якщо я використовую рух поодинці, то, здається, це те саме, ^що означає перейти до першого непробільного рядка в рядку. Однак, якщо я використовую рух, yтоді він пов'язує всю лінію (наприклад, yy чи Y), але y^не торкається цілої лінії, а лише першого символу, який не є пробілом, ексклюзивного, як ви могли очікувати.

Отже, що саме слід підкреслити?

Відповіді:


14

Без підрахунку ^і _справді рівнозначні, але останні підтримують підрахунок:

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

linewiseПояснює ваше друге спостереження: при використанні в якості руху, він не тільки покриває текст між попереднім положенням і новим, але і весь набір ліній , які охоплюються.

Уважне читання :helpнадає ці уявлення. Ви також побачите (по близькості), що _команда тісно пов'язана з +і -.


Гммм, нормально, то в чому різниця між y2_ і y2 +?
Тайлер Дюрден

2
@TylerDurden Різниця дорівнює 1 (рядок), як і різниця між [count] - 1і [count]для будь-якого значення [count]. Як згадував Інго, вам було б корисно прочитати вбудовану допомогу vim, яка цілком зрозуміла.
jw013

4
Чому _команда існує - чому хтось вважає за краще це +?
Аарон Тома

Не сперечатися, але допомога на цьому трохи заплутує. [count] - 1 lines downward- мені було написано "кількість: 1 рядок вниз" замість правильної інтерпретації. Я знаю, це навіть не має великого сенсу, але там є мало місця для плутанини.
Андре Шалелла
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.