Vim: Можете ли вы удалить конкретный номер строки из другой строки? - PullRequest
33 голосов
/ 13 декабря 2011

Я был на линии 93 и понял, что хочу удалить строку 89. Я набрал :d89 в надежде, что строка 89 будет удалена.Это не сработало.

Кто-нибудь знает хороший способ выполнения этого типа взаимодействия?Я удобный пользователь Vim, но еще не сделал скачок в написании плагинов ...

Спасибо.

Ответы [ 2 ]

58 голосов
/ 13 декабря 2011

Адрес команды двоеточия (например, номер строки) идет первым.

:89d

Обратите внимание, что это также заставит вас перейти к месту изменения.Вы можете использовать `` для возврата назад.

Если вы хотите, чтобы это была одна команда, вы можете определить пользовательскую команду.Например:

command! -range -nargs=0 Delete <line1>,<line2>d|norm ``

Определяет команду с именем Delete, которая удаляет адресный диапазон (<line1>,<line2>d) и затем перемещается назад (norm ``).

Вы можете вызвать ее как:

:89Delete

Вы можете вызвать его с любым уникальным префиксом, так что вы можете получить его до:

:89D
8 голосов
/ 17 февраля 2017

:89d удалит 89-ю строку.

:89,91d удалит 89-ю 90-ю и 91-ю строку.

Эти функции также работают в плагине Vrapper для Eclipse и расширения Vim для Код Visual Studio .

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