Vim: Можете ли вы удалить конкретный номер строки из другой строки?

vim

12813 просмотра

2 ответа

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

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

Благодарю.

Автор: Ethan Источник Размещён: 12.11.2019 09:39

Ответы (2)


61 плюса

Решение

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

:89d

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

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

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

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

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

:89Delete

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

:89D
Автор: Laurence Gonsalves Размещён: 13.12.2011 07:39

9 плюса

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

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

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

Автор: ZhaoGang Размещён: 17.02.2017 06:01
Вопросы из категории :
32x32