Как написать столбец последовательных целых чисел в Vim над существующим текстом?

Например, представьте, что у меня был следующий текст:

/ apple / orange / banana / bread 

Как я могу эффективно добавлять последовательные целые числа в столбце?

 /1 apple /2 orange /3 banana /4 bread 

Обратите внимание, что в реальных задачах список может составлять 20, 50 или более строк.

2 Solutions collect form web for “Как написать столбец последовательных целых чисел в Vim над существующим текстом?”

Одна из идей – использовать функцию макроса vim . Поместите курсор на первое / в / apple и выполните:

 a1<Esc> 

чтобы вставить первый номер, чтобы начать все ( <Esc> – клавиша эвакуации). Затем, указав курсор на вновь вставленный 1 , запишите макрос (в слот q ):

 qqyiwj0p<Ca>q 

Теперь вы должны иметь первые 2 строки с номерами. Теперь вы можете запустить макрос n-2 раза, где n – общее количество строк, которые у вас есть. Например, если у вас было 50 строк, мы запускаем макрос 48 раз, так как мы уже заполняем 2 строки вручную:

 48@q 

Вы можете использовать функцию «труба через внешнюю команду», которую имеет vim. Откройте файл в vim, затем выполните следующее:

 :%!cat -n | awk '{print $2, $1, $3;}' | sed 's/ //' 

Вы могли бы обойтись без sed (который просто удаляет первое место в каждой строке) умным кодом awk. Я просто не мог заставить его работать за 30 секунд, поэтому я удалился с sed.

  • Переход в режим редактирования в VIM rc?
  • Как заставить vimchat работать в Linux
  • Использование CtrlP не дает очень хороших результатов - я использую это неправильно?
  • Созданный Vim VM-файл .swp существует, и Vim игнорирует его
  • «Нажмите ENTER или введите команду для продолжения»: почему я вижу это?
  • Режим редактирования цвета Vim
  • Возможно ли повлиять на поведение всех команд vim в обычном режиме?
  • Одновременно открывать сразу несколько файлов
  • vim «поймал смертельный сигнал HUP», какие файлы он сохраняет?
  • Разница между командами V и S в нормальном режиме?
  • Vim: объединить регулярные выражения
  • Копировать grep-выход из редактора vim
  • Linux и Unix - лучшая ОС в мире.