You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

98 lines
3.6 KiB
Markdown

# EditorConfig Vim Plugin
[![Build Status](https://travis-ci.org/editorconfig/editorconfig-vim.svg?branch=master)](https://travis-ci.org/editorconfig/editorconfig-vim)
This is an [EditorConfig][] plugin for Vim. This plugin could be found on both
[GitHub][] and [Vim online][].
## Installation
If your Vim is not compiled with `+python` feature (You can verify if the
`+python` feature is included by running `:ver`. Most Linux distributions and
with the official Windows binary have the `+python` feature enabled), please
first download the [EditorConfig core][] and follow the instructions in the
README and INSTALL files to install it. This plugin would NOT work if neither
`+python` nor EditorConfig core is available.
To install this plugin, you can use one of the following ways:
- Download the [archive][] and extract it into your Vim runtime directory
(`~/.vim` on UNIX/Linux and `$VIM_INSTALLATION_FOLDER\vimfiles` on windows).
You should have 3 sub-directories in this runtime directory now: "autoload",
"doc" and "plugin".
OR
- Use [pathogen][] (the git repository of this plugin is
https://github.com/editorconfig/editorconfig-vim.git)
OR
- Use [Vundle][] by adding to your `.vimrc` Vundle plugins section:
Plugin 'editorconfig/editorconfig-vim'
Then remember to call `:PluginInstall`.
## Supported properties
The EditorConfig Vim plugin supports the following EditorConfig [properties][]:
* `indent_style`
* `indent_size`
* `tab_width`
* `end_of_line`
* `charset`
* `insert_final_newline` (Feature +fixendofline (available on Vim 7.4.785+) or [PreserveNoEOL][] is required for this property)
* `trim_trailing_whitespace`
* `max_line_length`
* `root` (only used by EditorConfig core)
## Recommended Options
All of the options which are supported are documented in [editorconfig.txt][]
and can be viewed by executing the following: `:help editorconfig`. You may
need to execute `:helptags ALL` so that Vim is aware of editorconfig.txt.
#### Excluded patterns.
To ensure that this plugin works well with [Tim Pope's fugitive][], use the
following patterns array:
> let g:EditorConfig_exclude_patterns = ['fugitive://.\*']
If you wanted to avoid loading EditorConfig for any remote files over ssh:
> let g:EditorConfig_exclude_patterns = ['scp://.\*']
Of course these two items could be combined into the following:
> let g:EditorConfig_exclude_patterns = ['fugitive://.\*', 'scp://.\*']
#### Exec Path
The file path to the EditorConfig core executable. You could set this value in
your |vimrc| like this:
> let g:EditorConfig_exec_path = 'Path to your EditorConfig Core executable'
## Bugs and Feature Requests
Feel free to submit bugs, feature requests, and other issues to the
[issue tracker][]. Be sure you have read the [contribution guideline][]!
[EditorConfig core]: https://github.com/editorconfig/editorconfig-core
[EditorConfig]: http://editorconfig.org
[GitHub]: https://github.com/editorconfig/editorconfig-vim
[PreserveNoEOL]: http://www.vim.org/scripts/script.php?script_id=4550
[Tim Pope's fugitive]: https://github.com/tpope/vim-fugitive
[Vim online]: http://www.vim.org/scripts/script.php?script_id=3934
[Vundle]: https://github.com/gmarik/Vundle.vim
[archive]: https://github.com/editorconfig/editorconfig-vim/archive/master.zip
[contribution guideline]: https://github.com/editorconfig/editorconfig/blob/master/CONTRIBUTING.md#submitting-an-issue
[issue tracker]: https://github.com/editorconfig/editorconfig-vim/issues
[pathogen]: https://github.com/tpope/vim-pathogen
[properties]: http://github.com/editorconfig/editorconfig/wiki/EditorConfig-Properties
[editorconfig.txt]: https://github.com/editorconfig/editorconfig-vim/blob/master/doc/editorconfig.txt