Команда delete ex будет работать хорошо.
:+,$d
Это удалит все строки с текущего +1 до конца ($)
Чтобы удалить следующие 2 строки, будет работать следующий диапазон, +1,+2
или сокращение +,+2
:+,+2d
Как уже упоминалось @ib, команда :delete
или :d
переместит курсор в начало строки рядом с удаленным текстом. (Даже с nostartofline
установленным). Чтобы преодолеть это, мы можем выполнить команду ``
нормальный режим. ``
вернется в точное положение перед последним прыжком, в этом случае команда :d
. Наша команда сейчас
: * * + одна тысяча двадцать-одна , + 2 * ** 1029 тысяча двадцать восемь * д * * введите один тысяча тридцать один ``
Или как одна бывшая команда
:+,+2d|norm! ``
Чтобы упростить это, мы заключаем все это в команду:
command! -count=1 -register D :+,+<count>d <reg><bar>norm! ``
Теперь удалите следующие 3 строки:
:3D
Эта команда также может принимать {reg}
, как :delete
и :yank
do. Таким образом, удаление следующих 4 строк в регистр a
будет:
:4D a
Для получения дополнительной информации
:h :d
:h :command
:h :command-register
:h :command-count
:h ``