TGViewer
Эргономичный код Эргономичный код @ergonomic_code · 837 subscribers
Post #510 904
Привет!

Полезняшка

Представьте, что у вас есть json-файл с массивом на 500 объектов.
И вам надо добавить в эти 500 объектов по ключу externalId с разными UUID-ами.

Есть вариант влоб - написать скриптик.

А есть вариант попроще.

Зайти в neovim и написать:
1. qq - запустить запись макроса
2. /lastExistingKey - найти следующую строку, в которой содержится подстрока с именем последнего существующего ключа
3. A - переместить курсор в конец строки и войти в режим печати
4. , - добавить запятую в конце строки
5. <esc> - вернуться в командный режим
5. :read!uuidgen<enter> - запустить программу uuidgen и вставить её вывод в новой строке файла после курсора
6. I - перейти в начало строки и войти в режим печати
7. "externalId": " - добавить в начале стоки отступ, имя ключа и кавычку перед значением
8. <esc> - вернуться в командный режим
9. A - перейти в конец строки и войти в режим печати
10. " - добавить в конце строки кавычки
11. <esc> - вернуться в командный режим
12. q - завершить запись макроса
13. 499@q - 499 раз исполнить макрос

Вопрос примерно 2 минут вместе с гуглением uuidgen и задача решена.
Быстрее, наверное, только на sed/awk - но с ними у меня проблема, что такие задачи у меня раз в месяц появляются и за этот месяц у меня этот клингонский из головы выветривается. А вимом я пользуюсь каждый день и он у меня уже на подкорке.

Поддержка vim-режима есть во всех популярных ИДЕ/редакторов включая Emacs (😄 - если вы понимаете о чём я)

#tools@ergonomic_code
Neovim hyperextensible Vim-based text editor
  • 🔥 4
  • 👍 3
  • 😁 2
More from @ergonomic_code
  1. Sep 25, 2026photo post
  2. Sep 25, 2026Привет! Ну чтож. У меня наконец-то оглушительный успех с 100%-вайбкодингом. Знакомьтесь -…
  3. Sep 23, 2026Про творческий беспорядок в процессах Я куда ни приду лидом, меня первое время все ругают…
  4. Sep 23, 2026Саша пишет про процессы, как всегда очень круто, имхо
  5. Sep 4, 2026Post #717
  6. Aug 14, 2026Привет! Простые CRUD-приложения - это сложно Если помните, я уже писал, что с момента пере…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →