Концепция индекса в Vim - PullRequest
0 голосов
/ 05 января 2012

Используя Vim, как я могу напечатать числа, скажем, от 1 до 100 в последовательных строках?

например

1
2
3
.
.
100

Ответы [ 5 ]

4 голосов
/ 05 января 2012

Тип:

1

Затем запишите макрос:

qa (start recording a macro stored in register a)
yy (copies the line)
p (inserts that line below)
CTRL+A (increases number by one)
q (stops recording)

Далее вы можете вызвать этот макрос 99 раз:

99@a
2 голосов
/ 05 января 2012
  • Введите 1 в первой строке в режиме вставки. Выйдите из режима вставки.
  • Затем войдите в «макрорежим» с помощью q a
  • тип y y p , затем CTRL A
  • Выйдите из режима макросов, набрав q
  • Теперь введите 9 8 @ a , чтобы вызвать в 98 раз макрос, создающий новую строку и увеличивающий на единицу количество
2 голосов
/ 05 января 2012

В одну сторону:

:call append( 0, range(1,100) )

Первый параметр - номер строки, чтобы начать вставку. Используйте функцию line(), чтобы выбрать другую.

1 голос
/ 05 января 2012

Вы можете использовать простой цикл for:

:for i in range(1, 100) | silent put = i | endfor
0 голосов
/ 05 января 2012

В режиме вставки: CTRL-R =join(range(1,100),"\n") Введите .

Если вы не в режиме вставки, это сложно, потому что вам нужно сбежать " и |:

:put =join(range(1,100),\"\n\")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...