2

Вопрос к знатокам. Ситуация: дано ряд чисел (упростим: единиц), по одной в каждой строке. Выделить их в Sublime Text 2 - не вопрос. Но вот как превратить в последовательность 1, 2, 3, ... ?

Пример ситуации: вы продумываете структуру будущей БД, готовите данные для заливки и нужно обновить ключи (ключей может быть несколько сотен):

INSERT INTO titles (id, name) VALUES
(1, 'Петушок, петушок...'),
(1, 'Наши уточки с утра...'),
(1, 'Водичка, водичка...'),
(1, 'Ладушки, ладушки!..'),
(1, 'Дождик, дождик, пуще...');

чтобы получилось:

INSERT INTO titles (id, name) VALUES
(1, 'Петушок, петушок...'),
(2, 'Наши уточки с утра...'),
(3, 'Водичка, водичка...'),
(4, 'Ладушки, ладушки!..'),
(5, 'Дождик, дождик, пуще...');

UPD. Нашелся плагин Incrementor, который может генерировать последовательность чисел, используя поиск и замену. Подобную задачу решает.

Усложним. Как в Sublime Text 2 быстро сделать подобные замены:

1,2,3, ..., 7 → Sun, Mon, Tue...
1,2,3, ..., 12 → Jan, Feb, Mar...
  • видимо нужно писать планиг. Особенно для усложненного варианта. – KoVadim Feb 05 '13 at 07:59
  • 1
    Всем отвечающим: обратите внимание на UPD, если не смотрите на дату вопроса. – Visman Oct 23 '15 at 14:44

4 Answers4

3

Я не знаю как из ряда единиц сделать последовательность 1, 2, 3.

Знаю, что можно используя плагин Emmet(ex Zen Coding) написать {$, }*15 и нажать Tab и получить
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15,
Понятное дело, что можно указать не 15, а любое количество цифр.

Для усложнённого варианта, придётся писать плагин ( сам не нашёл нигде похожий ), причём нужно же будет учитывать к какому году относятся даты и к какому месяцу.

  • Суть не в генерации ряда (хотя ссылка на Emmet крайне полезна), а в поиске и замене с инкрементом. Внёс уточнения в запрос. – Denis Khvorostin Feb 05 '13 at 12:02
  • Ну по первому варианту вопроса было не совсем понятно, что Вы это имеете ввиду, но хорошо, что Вы сами нашли ответ. – Гена Царинный Feb 05 '13 at 12:04
1

Чтобы быстро в разные позиции кода вставить последовательность чисел и несколько других типов последовательностей, можно использовать плагин Text Pastry (https://packagecontrol.io/packages/Text%20Pastry)

Выделяете мультиселектом нужные места, нажимаете ctrl+alt+n (на Windows) - и вписываете параметр, указывающий какая последовательность вам нужна. Например, набрав "i" - получите последовательность "1, 2, 3.. n". Есть параметр и для дней недели.

1

Лучший плагин, что я нашел - это InsertNums
Он позволяет задать начальное значение последовательности первым параметром и вторым параметром - шаг.
Т.е. параметры 10 5 для пяти строк с выделенными 1 заменят 1 соответственно на 10 15 20 25 30.
В вашем варианте достаточно указать только первый параметр, равный 1.

PVGrad
  • 11
0

Кстати конкретно к вашему примеру можно все единицы заменить просто на NULL, если поле id в таблице является автоинкрементным

korytoff
  • 5,916