A filetype plugin for VIM to help edit XML files
Vim script
Pull request Compare This branch is 2 commits ahead, 58 commits behind sukima:master.
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Failed to load latest commit information.



Maintainer: Devin Weaver suki@tritarget.org
Source: http://github.com/sukima/xmledit
Homepage: http://www.vim.org/scripts/script.php?script_id=301
Version: 1.9.4

XML Edit is a file type plugin to help edit XML documents. It includes tag completion and tag jumping.


This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License.
See http://www.gnu.org/copyleft/gpl.txt


Run the Makefile to build the vba file.

$ make

Now send it to all your friends.


This is for users who have the xmledit.vba file.

If you do not have VIM version 7.0 or higher this will not work. Either upgrade or deal with the shaddy old plugin which you can get at http://github.com/sukima/xmledit/tree/v1.84. (Alternativly you could manually copy the files to there proper locations however older versions of VIM will not be supported in future development)

To install the created package open the vba file in vim and source it:

$ vim xmledit.vba
:so %

If you are installing this from the source (you don't have a .vba file) you can skip the building of one by running the Makefile:

$ make install

Now read doc/xml-plugin.txt or type :help xml-plugin.txt in VIM.

** NOTE for pathogen users **
You do not need to install via any means other then to place the source in the bundle directory. This can easily be done by cloning the git repository or by making a git submodule. Do not attempt to use a .vba file with pathogen.

$ git clone https://github.com/sukima/xmledit.git ~/.vim/bundle/

Or as a submodule (assuming .vim is a git repository)

$ cd ~/.vim
$ git submodule init
$ git submodule add https://github.com/sukima/xmledit.git bundle/
$ git submodule update

Using With Other File Types

This can be used with other file types besides XML. There are two ways to accomplish this. The plugin can be used as is for other languages or with extra features that are language specific via the callback method.

The first method is simply to copy xml.vim or symbolically (or hard) link it to the new file type. For example:

|-php.vim -> xml.vim
`-xhtml.vim -> xml.vim

The second method expands on the idea of copying. It uses a callback method which can extend the functionality of the tags for that language. For example in an HTML document you might prefer your table tags to look like this:

<table cellpadding="0" cellspacing="0" border="0">

But by just linking html.vim to xml.vim you would have to type all that in every time. The callback could allow you to type just <table> and it would add the cellpadding=... attributes for you. The example in the documentation (:help xml-plugin-callbacks) shows how to do this with HTML files.