Как написать столбец последовательных целых чисел в 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 не запрашивает пароль при повторном открытии зашифрованного файла?
  • Vim gg = G (полный файл цели) без потери текущей позиции
  • vi показывает как vim
  • Графические проблемы в vim
  • Как заставить vimchat работать в Linux
  • Конфигурация Vim для определенных типов файлов
  • Что vim считает словом?
  • Почему в vim первый операнд в движении (m) 1 и последний операнд 0?
  • Использование CtrlP не дает очень хороших результатов - я использую это неправильно?
  • Vim - привязать ключ к команде bash
  • как понять \ n в vim
  • Linux и Unix - лучшая ОС в мире.