С [1 112]
:%s/^/\=line('.')/
РЕДАКТИРОВАНИЕ: подвести итог комментариев.
Эту команду можно настроить так, как Вы хотите.
<час> Скажем, Вы хотите добавить числа перед строками от визуального выбора (V
+ перемещение), и Вы хотите, чтобы нумерация запустилась по телефону 42.
:'<,'>s/^/\=(line('.')-line("'<")+42)/
<час> , Если Вы хотите добавить строку между числом и старым текстом от строки, просто связать (с .
в VimL) его к выражению числа:
:'<,'>s/^/\=(line('.')-line("'<")+42).' --> '/
<час> при необходимости в этом к виду как текст можно хотеть обнулить, дополняют результаты, которые могут быть сделаны с помощью printf
для 0001, 0002
... вместо 1, 2
..., например:
:%s/^/\=printf('%04d', line('.'))/
<час> Так или иначе, если Вы хотите больше информации, просто открытая справка энергии: :h :s
и переходят по ссылкам (|subreplace-special|
..., |submatch()|
)
cat -n
добавляет номера строки к его входу. Можно передать текущий файл по каналу к cat -n
и заменить текущий буфер тем, что это печатает к stdout. К счастью, этим замысловатым решением являются меньше чем 10 символов в энергии:
:%!cat -n
Или, если Вы хотите просто подвыбор, визуально выбирают область и вводят это:
:!cat -n
, Который автоматически вставит визуальные маркеры выбора и будет похож на это после ввода его:
:'<,'>!cat -n
для стирания номеров строки, я рекомендую использовать control-v
, который позволит Вам визуально выбирать прямоугольник, можно тогда удалить тот прямоугольник с x
.
В системе GNU: с внешним nl
двоичный файл:
:%!nl
плагин "VisIncr" хорош для вставки столбцов постепенного увеличения чисел в целом (или буквы, даты, римские цифры и т.д.). Можно управлять числовым форматом, дополнением, и так далее. Поэтому вставьте "1" перед каждой строкой (через :s
или :g
, или визуальный блок вставляют), выделите тот столбец в визуальном блочном режиме и выполните одну из команд от плагина.
С подобной Unix средой можно использовать кошку или awk для генерации номера строки легко, потому что энергия имеет дружественный интерфейс с оболочкой, таким образом, все работает в энергии, а также это делает в оболочке.
От Vim Tip28:
:%!cat -n
или
:%!awk '{print NR,$0}'
Но, если Вы используете энергию в MS-DOS, win9x, win2000, Вы потеря они инструментарий. вот очень простой способ заархивировать это только энергией:
fu! LineIt()
exe ":s/^/".line(".")."/"
endf
Или, последовательность, составленная с алфавитом, так же легка как выше:
exe "s/^/".nr2char(line("."))."/"
Можно также использовать subst:
:g/^/exe ":s/^/".line(".")."^I/"
Можно также только хотеть распечатать строки, не добавляя их к файлу:
"Иногда это могло быть полезно особенно отредактировать большие исходные файлы для распечатывания номеров строки на бумаге.
Чтобы сделать так, можно использовать опцию:set printoptions=number:y
активироваться и:set printoptions=number:n
деактивировать эту функцию.
Если номер строки должен всегда печататься, поместить строкуset printoptions=number:y
вvimrc
."