Fetching contributors…
Cannot retrieve contributors at this time
109 lines (73 sloc) 4.04 KB

EditorConfig Vim Plugin

Build Status

This is an EditorConfig plugin for Vim. This plugin could be found on both GitHub and Vim online.


If your Vim is not compiled with +python or +python3 feature (You can verify if the +python or +python3 feature is included by running :ver. Most Linux distributions and with the official Windows binary have the +python and +python3 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/+python3 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".



  • 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://.*']

Disable rules

You might want to override some project-specific EditorConfig rules in global or local vimrc in some cases, e.g., to resolve conflicts of trailing whitespace trimming and buffer autosaving.

let g:EditorConfig_disable_rules = ['trim_trailing_whitespace']

You are able to disable any supported EditorConfig properties.

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!