Поэтому я недавно переключил свой редактор на Vim (в прошлом месяце, если быть точным), я, вероятно, опубликую свой опыт через некоторое время. Если вам интересно, я документирую свое путешествие VIM (или чит) Здесь Анкет
Позвольте мне показать вам, как объединить 3 самых мощных инструмента, которые я использую в своем ежедневном рабочем процессе для достижения этого. Обратите внимание, что этот пост предназначен только для пользователей, которые находятся в *NIX в средах, потому что у них, вероятно, есть Bash, Python & Vim в любом случае.
Таким образом, тяжелая работа выполняется инструментом Python JSON CLI
$ python3 -m json.tool ugly.json
Это распечатает файлы JSON в хорошем читабельном формате, вы также можете сортировать ключ, используя -Скоры-Кейс
аргумент
ОК, тогда это урегулировано, теперь нам просто нужно перенаправить вывод в тот же файл. Давайте напишем небольшую функцию Bash, чтобы сделать это портативным. Откройте свой .bashrc
или .bash_functions
и положи этого плохого мальчика!
pj() { # prettify json using python3 if [[-z "$1"]]; then echo "No file path" exit 1 fi pretty_json=$(python3 -m json.tool "$1") && echo "$pretty_json" > "$1" }
Круто, теперь ты можешь просто сделать PJ Ugly.json
сделать работу.
Если у вас было как решение, все, что вам нужно сделать, это добавить это в свой Vimrc
или init.vim
:command Pretty !pj %:p
Это создаст Vim Ex
Команда называется Pretty, которая вызывает нашу внешнюю функцию Bash. %: P
дает нам полный путь файла в буфере.
Вот и все, теперь все сексуально. Вызвать : Красиво
Команда в вашем текущем буфере & PJ
сделает свою работу.
Всегда знайте свои инструменты. Освещите их, черт возьми!
Что такое использование, если у меня есть плагин?
Ну, я тоже люблю плагины Но я знаю, что это очень простая вещь, и его можно легко достичь, используя вещи, которые я уже знаю, так зачем устанавливать внешний плагин?
Подождите, не все лилии и розы. Это может быть не очень эффективным для больших файлов JSON. Дайте мне знать, если читатель найдет лучший способ сделать это.
Кажется интересным?, Подписаться 🚀 Чтобы прочитать больше таких классных вещей или просто связаться со мной на Twitter Анкет
Оригинал: “https://dev.to/bhupesh/prettifying-json-using-vim-python-bash-4g8o”