This is an EditorConfig plugin for Vim. This plugin can be found on both GitHub and Vim online.
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 4 sub-directories in this runtime directory now: "autoload", "doc", "ftdetect" and "plugin".
Install as a Vim 8 plugin. Note local
can be any name, but some path element must be present. On Windows, instead of ~/.vim
use $VIM_INSTALLATION_FOLDER\vimfiles
.
mkdir -p ~/.vim/pack/local/start cd ~/.vim/pack/local/start git clone https://github.com/editorconfig/editorconfig-vim.git
Use pathogen (the git repository of this plugin is https://github.com/editorconfig/editorconfig-vim.git)
Use Vundle by adding to your .vimrc
Vundle plugins section:
Plugin 'editorconfig/editorconfig-vim'
Then call :PluginInstall
.
Use vim-plug by adding to your .vimrc
in your plugin section:
Plug 'editorconfig/editorconfig-vim'
Source your .vimrc
by calling :source $MYVIMRC
.
Then call :PlugInstall
.
Previous versions of this plugin also required a Python "core". The core included the code to parse .editorconfig
files. This plugin includes the core, so you don't need to download the core separately.
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)The supported options 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.
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://.*']
You can disable this plugin for a specific buffer by setting b:EditorConfig_disable
. Therefore, you can disable the plugin for all buffers of a specific filetype. For example, to disable EditorConfig for all git commit messages (filetype gitcommit
):
au FileType gitcommit let b:EditorConfig_disable = 1
In very rare cases, you might need 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. This is not recommended, but you can:
let g:EditorConfig_disable_rules = ['trim_trailing_whitespace']
You are able to disable any supported EditorConfig properties.
Feel free to submit bugs, feature requests, and other issues to the issue tracker. Be sure you have read the contribution guidelines!