Vim: удалить все в строке после символа, не перемещая курсор в первую очередь - PullRequest
0 голосов
/ 28 января 2019

Предположим, следующая строка и позиция курсора:

foo = some_func(1 +[ ]2)
                   ^^^
              cursor position

Использование di + ( Я мог бы легко избавиться от всего, что находится в скобках, или удалить все до начала или конца строки, используя d^и d$ соответственно, но что мне делать, если я хотел бы удалить все, что следует после =?

Результирующая строка должна быть:

foo =[ ]
     ^^^
cursor position

dT += удаляет все, пока (назад) символ =, но он все равно оставляет 2) в строке, заканчиваясь на:

foo =[2])
     ^^^
cursor position

Я мог бы, конечно, перейти к =сначала используйте d$, чтобы удалить все до конца строки, но я бы предпочел простой ярлык, основанный на текущей позиции курсора, без необходимости перемещать курсор (если такой ярлык существует).

1 Ответ

0 голосов
/ 28 января 2019

T = D (Перейти к =, удаление к концу строки), я считаю, самый короткий путь.

Вы можете сделать это сначала без движения, но это значительно сложнее: :s/=\@<=.*// CR

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...