xmledit


Ⅰ. 插件描述

A filetype plugin for VIM to help edit XML files

Ⅱ. 基本信息

创建日期:  2002-06-13
使用用户:  556
Github星:  239
插件作者:  Devin Weaver

Ⅲ. 安装方法

使用Vundle管理器安装

在你的.vimrc下添加:
Plugin 'sukima/xmledit'
… 然后在Vim中运行以下命令:
:source %
:PluginInstall

对于Vundle版本 < 0.10.2,请用上面的Bundle替换Plugin。

使用NeoBundle管理器安装

在你的.vimrc下添加:
NeoBundle 'sukima/xmledit'
… 然后在Vim中运行以下命令:
:source %
:NeoBundleInstall

使用VimPlug管理器安装

在你的.vimrc下添加:
Plug 'sukima/xmledit'
… 然后在Vim中运行以下命令:
:source %
:PlugInstall

使用Pathogen管理器安装

在终端中运行以下命令:
cd ~/.vim/bundle
git clone https://github.com/sukima/xmledit

Ⅳ. 文档说明

xml-plugin

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.10.5

Build Status

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

Licence

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

Install

xmledit can be installed using a xmledit.vba file or using Pathogen.

Installation using xmledit.vba

First you need a xmledit.vba vimball. You can create one following the
instruction in the Build section.

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.

Installation for Pathogen

To use xmledit in combination with Pathogen you need to place the sources in the
bundle directory. This can easily be done by cloning the git repository.

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

Instead of cloning you can use git submodules.

Do not use the xmledit.vba file with pathogen.

Build

Run the Makefile to build the vba file.

$ make

Now send it to all your friends.

Testing

The test environment is in the tests directory. It uses RSpec and
vimrunner. Execute the test suite:

$ bundle install
$ rake

More information about testing in vim can be found at
this blog post.

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:

ftplugin/
|-xml.vim
|-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:

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.

Caveats

There are conflicts with the AutoComplPop script. If you get errors, add
the following to your .vimrc as suggested by @othree in issue #15:

autocmd FileType xml set omnifunc=xmlcomplete#CompleteTags noci
autocmd FileType html set omnifunc=htmlcomplete#CompleteTags noci

How to contribute

Individuals making significant and valuable contributions are given commit-access to the project to contribute as they see fit. This project is more like an open wiki than a standard guarded open source project.

Rules

There are a few basic ground-rules for contributors:

  1. No --force pushes or modifying the Git history in any way.
  2. Non-master branches ought to be used for ongoing work.
  3. External API changes and significant modifications ought to be subject to an internal pull-request to solicit feedback from other contributors.
  4. Internal pull-requests to solicit feedback are encouraged for any other non-trivial contribution but left to the discretion of the contributor.
  5. Contributors should attempt to adhere to the prevailing code-style.

Releases

Declaring formal releases remains the prerogative of the project maintainer.

Changes to this arrangement

This is an experiment and feedback is welcome! This document may also be subject to pull-requests or changes by contributors where you believe you have something valuable to add or change.

I am in need of unit tests. Anyone interested in helping please fork and add to
the tests/spec/ directory.

Credits

  • Brad Phelan <bphelan@mathworks.co.uk>
    for completing tag matching and visual tag completion.
  • Ma, Xiangjiang <Xiangjiang.Ma@broadvision.com> for
    pointing out VIM 6.0 map <buffer> feature.
  • Luc Hermitte <hermitte@free.fr> for testing the self
    install documentation code and providing good bug fixes.
  • Guo-Peng Wen for the self install documentation code.
  • Shawn Boles <ickybots@gmail.com> for fixing the
    <Leader>x cancelation bug.
  • Martijn van der Kwast <mvdkwast@gmx.net> for patching
    problems with multi-languages (XML and PHP).
  • Ilya Bobir <ilya.bobir@gmail.com> for patching
    xml_tag_syntax_pefixes option.
  • Eli L. <eli@siliconsprawl.com> for converting to the
    vimball packaging format.

<!-- vim:set ai et ts=8 sw=4: -->

添加新评论