Faltung (ausbau und colapsing), xml-tags in vim (xml-parsing)
Ich weiß, dass % in vim springt von einem tag zum anderen, ich weiß auch, wie man visual-Modus wählen Sie ganze Blöcke zwischen den tags in einer xml-Datei mit o, um zu springen von der Oberseite zu der Unterseite tags.
Habe ich getan mehrere web-Suche und haben die matchit-plugin installiert haben, indem Sie die folgenden Zeilen in meine .vimrc:
filetype plugin on
runtime macros/matchit.vim
Habe ich gefunden dieser Beitrag, und haben versucht, closetag.vim.
Ich abgeben von großen xml-Dateien und auch mit mehreren Monitoren (und Gläser) würden es nützlich finden zu können, werden zusammenbrechen bestimmte Abschnitte der Datei.
Gibt es eine Möglichkeit zum reduzieren und erweitern Sie die Abschnitte zwischen den tags in MacVim oder vim standardmäßig oder durch den Einsatz von plugins?
- Ich bin gespannt, wie genau mit
o
springen zwischen den entsprechenden tags? Das wäre super nützlich, abero
im visuellen Modus tut nichts für mich!
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die Funktion, die Sie brauchen, heißt "Faltung".
Im Grunde, sagen Sie Vim, um verwenden Sie eine der verfügbaren
'foldmethod'
und verwalten jede Zeile der'foldlevel'
mit Befehlen wieza
,zr
oderzM
. Finden Sie alle details in:help folding
.Hinzufügen der folgenden Zeilen, um Ihre
vimrc
sollte einen guten Ausgangspunkt:Mit diesen Einstellungen werden alle Falten sollten offen sein, wenn Sie eine Datei laden, die Falten Ebene jeder Zeile abgeleitet werden sollten, von seinem Einzug und Sie sollten in der Lage sein zu Falten Weg einzelne Linien.
Verwenden
zm
Falten mehr,zr
zu Falten weniger,zc
zu schließen, ein Fach,zo
um es zu öffnen,za
zum Umschalten zwischen diesen beiden Staaten,zM
zu schließen, jede Falte, diezR
zu öffnen und so weiter...Dokumentation:
syntax
foldmethod oder (besser IMO) neu formatieren und verwendenindent
.syntax
foldmethod macht einen besseren job, der kollabiert in einer Weise, die zeigt, dass die übergeordneten tags anstelle des ersten Kindes.Den Einzug Methode fast arbeitete für mich, aber ich fand die Art und Weise es funktionierte ein wenig seltsam; im wesentlichen, es gefaltet auf die Inhalt des tags statt des tags selbst. Dieser arbeitete für mich, aus die Vim-wiki:
Diese Methode klappt auf die eigentlichen tags selbst, zum Beispiel:
Sieht wie folgt aus, nach der Eingabe
zc
auf Linie 1 oder 5:Statt:
syntax on
Aus wie @adam_0 Antwort, aber mit autocommand (als pro @romani Antwort), und mit
syntax on
enthalten als pro @Paul ' s Kommentar.Den
:%foldopen!
Zeile am Ende öffnet alle Falten, so dass die Datei WYSWIG wenn Sie die Datei laden. AberzM
und Freunde sind ab sofort für Falten, wenn Sie möchten.autocmd FileType xml,ui,xhtml,html
autocmd FileType xml :%foldopen!
mitautocmd FileType xml normal zR