Ich möchte einen unformatierten JSON mitbringen und ihn zur einfachen Anzeige mit vim formatieren.
etc. Im ersten Beispiel können Sie es mit der Erweiterung des Browsers wunderschön anzeigen, im zweiten und dritten Fall erscheint es jedoch praktisch, wenn Sie es in vim einfügen und formatieren können.
In der Umgebung, in der Python2.6 oder höher installiert ist (während sich der Python-Befehl im PATH befindet), können Sie die JSON-Zeichenfolge im Puffer formatieren, indem Sie den folgenden Befehl ausführen.
:%!python -m json.tool
Zum Beispiel, wenn Sie den obigen Befehl drücken, wenn sich eine solche Zeichenfolge im Puffer befindet
{"count":1,"list":[{"url":"http://json.org/example.html","title":"\u3042\u3044\u3046\u3048\u304a"}]}
Ich fühle mich so.
{
"count": 1,
"list": [
{
"title": "\u3042\u3044\u3046\u3048\u304a",
"url": "http://json.org/example.html"
}
]
}
Es fühlt sich gut an. Ich bin jedoch nicht sehr glücklich darüber, dass die Japaner entkommen sind (ich mache mir auch Sorgen um den halbbreiten Raum am Ende der Zeile). Also habe ich einen leicht verbesserten Befehl gemacht. Ich bin ein Anfänger von vim, also würde ich mich freuen, wenn Sie mir einen Tsukkomi besorgen könnten.
command! JsonFormat :execute '%!python -m json.tool'
\ | :execute '%!python -c "import re,sys;chr=__builtins__.__dict__.get(\"unichr\", chr);sys.stdout.write(re.sub(r\"\\u[0-9a-f]{4}\", lambda x: chr(int(\"0x\" + x.group(0)[2:], 16)), sys.stdin.read()))"'
\ | :%s/ \+$//ge
\ | :set ft=javascript
\ | :1
Wenn Sie eine kurze Erklärung schreiben
Wenn Sie den Befehl ausführen
:JsonFormat
Die Anzeige sieht wie folgt aus.
{
"count": 1,
"list": [
{
"title": "AIUEO",
"url": "http://json.org/example.html"
}
]
}
Recommended Posts