Выберите относительный диапазон, игнорируя неверные номера строк - PullRequest
0 голосов
/ 02 ноября 2018

Мне было интересно, существует ли синтаксис для указания диапазона относительных строк в vim / ex, который не дает «недопустимый диапазон» и вместо этого получает столько строк, сколько может.

1 Ответ

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

Нет встроенного способа, но вы можете самостоятельно разрешить относительные диапазоны в абсолютные номера строк, а затем ограничить диапазон доступными строками с помощью :help min() и :help max() . Так, например, следующий относительный диапазон:

:.-5,.+5 print

эквивалентно этому:

:execute (line('.') - 5) . ',' . (line('.') + 5) 'print'

будет преобразовано в это:

:execute max([1, (line('.') - 5)]) . ',' . min([line('$'), (line('.') + 5)]) 'print'
...