Vim-количество строк в выбранном диапазоне


Я хочу считать строки в диапазоне, не важно в каком диапазоне, но пусть это будет, скажем, визуальный блок. Какой самый короткий способ сделать это. Все, что приходит мне на ум, это что-то вроде: '<,'>s/.//n но я не думаю, что это самый короткий путь.

Так, может кто-нибудь дать мне подсказку? Спасибо заранее.

3 62
vim

3 ответа:

в визуальном режиме, нажмите клавишу gC-g

выход:

Selected 7 of 22 Lines; 8 of 32 Words; 201 of 491 Chars; 201 of 497 Bytes-- VISUAL LINE --


источник::he count-items (обнаруживаемые как: :heTabTab...)

выберите вариант showcmd (:h 'sc'), и вам никогда не нужно будет вводить что-либо, чтобы узнать, сколько строк выбрано-сначала, поскольку я забыл, что я установил эту опцию, я не понял суть вашего вопроса. ^^ '

в противном случае, если вы хотите, чтобы получить это число программно, это просто:

:echo line("'>") - line("'<") + 1

из диапазона-функции, он также может быть получен с помощью a:lastline-a:firstline+1. (:h function-range-example)

'<,'>s///n один символ короче. : -)

Если я просто хочу знать количество строк в визуальном выделении, я обычно просто дергаю его (хит y). Он будет говорить "5 строк дернул" или "блок из 5 строк дернул" в зависимости от типа выбора.