Wie zu beheben JSON Einzug in vim?
In vim, den Standard-Einzug für JSON ist:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
Aber was ich erwarte ist:
{
"employees": [
{ "firstName":"John" , "lastName":"Doe" },
{ "firstName":"Anna" , "lastName":"Smith" },
{ "firstName":"Peter" , "lastName":"Jones" }
]
}
Habe ich google und probierte ein paar vim-json-plugins, aber keiner von Ihnen dieses Problem lösen.
- Haben Sie versucht, Blick auf die Quelle des plugins?
- Vielen Dank für die schnelle Antwort. Ich bin ein normaler vim-Benutzer, der nicht ein Fortgeschrittener Benutzer. Ich weiß nicht, wie Plug-ins schreiben. Also, Nein, ich habe nicht versucht, auf der Suche an der Quelle des plugins.
- Der Einzug Skript enthalten in das plugin tut, was Sie Fragen.
- romainl, vielen Dank für die Einführung in die plugin. das funktioniert sehr gut. warum nimmst du nicht die Frage beantworten, statt einen Kommentar hinterlässt?
- github.com/jakar/vim-json für den Sieg. jetzt kannst du mich finden eine anständige Einzug für javascript?
- pangloss ' s repo ist so ziemlich das beste JS-plugin, das ich kenne.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Einfacher Weg ist, um auf externen Befehl als filter für die Auswahl. z.B.
:!python -m json.tool
:%!python -m json.tool
.romainl Empfehlung ist der bevorzugte Weg, aber manchmal müssen Sie ziemlich Gedankenstrich JSON-text in einige Puffer, die nicht den
json
filetype. Ich benutze diesen netten Befehl:Einfach laufen
:JsonTool
und es wird ziemlich drucken Sie die aktuelle Zeile. Es kann eine Auswahl auch:Wenn Sie nicht mit python oder bevorzugen eine Reine vim-Lösung, die Sie interessieren können, der in Tim Popes jdaddy plugin. Jdaddy bietet JSON-text-Objekte:
aj
undij
sowie print-JSON-Formatierung, z.B.gqaj
.Können Sie senden an ein externes tool, als ein Beispiel, wenn du python kannst du die Inhalte, um python-json-tool verwenden:
python -m json.tool
verschiebt die position des JSON-Objekt Eigenschaften, wenn Sie Knoten installiert ist, können Sie nur verwenden Sie diese Funktion:Zugeordnet
f-j
im .vimrcDu kannst auch eine Anzahl der Leerzeichen für einen tab 2 sind die Standardeinstellung, wenn Sie nicht angeben.
Meine komplette .vimrc ist hier https://github.com/botverse/.dotfiles/blob/master/.vimrc
gg=G
ist, was Sie brauchen, wenn Sie mit vim.json.tool
- Methode behandelt Objekte, die sind alle verklumpt auf einer Linie.Hier ein Beispiel in Ruby:
(https://gist.github.com/zinovyev/c4b6ec3c24670278adfebfb9ecced84b)