Синтаксис языка VIM - PullRequest
       13

Синтаксис языка VIM

0 голосов
/ 05 сентября 2018

Мне интересно понять это с точки зрения грамматики VIM:

Общий синтаксис операций (согласно vimtutor):

operator [number] motion

Однако для некоторых операторов, таких как f, синтаксис:

[number] f motion

Я нахожу это запутанным и портю почти каждый раз. Может ли кто-нибудь указать на логику (с точки зрения языка VIM)?

Спасибо.

Ответы [ 2 ]

0 голосов
/ 05 сентября 2018

f не является оператором, поэтому нет оснований предполагать, что он должен работать как оператор.

f - это движение ... и оно, как и ожидалось, работает как движение.

См. :help operator для получения полного списка доступных операторов и взгляните на раздел, к которому принадлежит :help f.

0 голосов
/ 05 сентября 2018

В моих глазах f - не оператор, а движение : fx перемещает курсор к следующему появлению x.

См. Этот пример для уточнения:

  • dfx "удалить находку x" удаляет все до (включая) следующего x
  • d5fx удаляет до 5-го х (включая)

Оба примера следуют грамматике operator [number] motion:

  • d оператор
  • 5 число
  • fx движение

Если посмотреть на f -команду таким образом, вы можете устранить путаницу.

Движения обычно используются для перемещения курсора. Они могут быть добавлены оператором (другой пример: j перемещает на строку ниже, dj применяет оператор удаления к строке ниже, 5dj делает это 5 раз) .

...