Добавьте номера строки к исходному коду в энергии

70
задан boulder_ruby 8 July 2014 в 01:42
поделиться

5 ответов

С [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()|)

109
ответ дан ideasman42 24 November 2019 в 13:18
поделиться

cat -n добавляет номера строки к его входу. Можно передать текущий файл по каналу к cat -n и заменить текущий буфер тем, что это печатает к stdout. К счастью, этим замысловатым решением являются меньше чем 10 символов в энергии:

 :%!cat -n

Или, если Вы хотите просто подвыбор, визуально выбирают область и вводят это:

 :!cat -n

, Который автоматически вставит визуальные маркеры выбора и будет похож на это после ввода его:

 :'<,'>!cat -n

для стирания номеров строки, я рекомендую использовать control-v, который позволит Вам визуально выбирать прямоугольник, можно тогда удалить тот прямоугольник с x.

33
ответ дан Jerub 24 November 2019 в 13:18
поделиться

В системе GNU: с внешним nl двоичный файл:

:%!nl
22
ответ дан Martin Tournoij 24 November 2019 в 13:18
поделиться

плагин "VisIncr" хорош для вставки столбцов постепенного увеличения чисел в целом (или буквы, даты, римские цифры и т.д.). Можно управлять числовым форматом, дополнением, и так далее. Поэтому вставьте "1" перед каждой строкой (через :s или :g, или визуальный блок вставляют), выделите тот столбец в визуальном блочном режиме и выполните одну из команд от плагина.

3
ответ дан Brian Carper 24 November 2019 в 13:18
поделиться

С подобной 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."

6
ответ дан VonC 24 November 2019 в 13:18
поделиться
Другие вопросы по тегам:

Похожие вопросы: