Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/editorconfig/editorconfig-vim
EditorConfig plugin for Vim
https://github.com/editorconfig/editorconfig-vim
editorconfig editorconfig-plugin vim
Last synced: about 1 month ago
JSON representation
EditorConfig plugin for Vim
- Host: GitHub
- URL: https://github.com/editorconfig/editorconfig-vim
- Owner: editorconfig
- License: other
- Created: 2011-10-13T17:41:23.000Z (about 13 years ago)
- Default Branch: master
- Last Pushed: 2024-04-13T23:11:41.000Z (7 months ago)
- Last Synced: 2024-09-29T02:06:03.784Z (about 1 month ago)
- Topics: editorconfig, editorconfig-plugin, vim
- Language: Vim Script
- Homepage: http://editorconfig.org
- Size: 2.08 MB
- Stars: 3,129
- Watchers: 43
- Forks: 137
- Open Issues: 43
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
- awesome-github-repos - editorconfig/editorconfig-vim - EditorConfig plugin for Vim (Vim Script)
README
# EditorConfig Vim Plugin
[![Travis Build Status](https://img.shields.io/travis/cxw42/editorconfig-vim.svg?logo=travis)](https://travis-ci.org/editorconfig/editorconfig-vim)
[![Appveyor Build Status](https://img.shields.io/appveyor/ci/cxw42/editorconfig-vim.svg?logo=appveyor)](https://ci.appveyor.com/project/cxw42/editorconfig-vim)This is an [EditorConfig][] plugin for Vim. This plugin can be found on both
[GitHub][] and [Vim online][].## Bundled versions
Depending on which version of Vim or Neovim you are using, you might not need to
specifically install this plugin at all:* Vim 9.0.1799 and above comes bundled with [a recent stable version of this
plugin][].
* Neovim 0.9 and above comes with [its own Lua-based implementation][].## Installation
To install this plugin, you can use one of the following ways:
### Install with the archive
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 Vim8 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`.
```shell
mkdir -p ~/.vim/pack/local/start
cd ~/.vim/pack/local/start
git clone https://github.com/editorconfig/editorconfig-vim.git
```### Install with [pathogen][]
Use pathogen (the git repository of this plugin is
https://github.com/editorconfig/editorconfig-vim.git)### Install with [Vundle][]
Use Vundle by adding to your `.vimrc` Vundle plugins section:
```viml
Plugin 'editorconfig/editorconfig-vim'
```Then call `:PluginInstall`.
### Install with [vim-plug][]
Use vim-plug by adding to your `.vimrc` in your plugin section:
```viml
Plug 'editorconfig/editorconfig-vim'
```Source your `.vimrc` by calling `:source $MYVIMRC`.
Then call `:PlugInstall`.
### No external editorconfig core library is required
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.## 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)## Selected Options
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.### Excluded patterns
To ensure that this plugin works well with [Tim Pope's fugitive][], use the
following patterns array:```viml
let g:EditorConfig_exclude_patterns = ['fugitive://.*']
```If you wanted to avoid loading EditorConfig for any remote files over ssh:
```viml
let g:EditorConfig_exclude_patterns = ['scp://.*']
```Of course these two items could be combined into the following:
```viml
let g:EditorConfig_exclude_patterns = ['fugitive://.*', 'scp://.*']
```### Disable for a specific filetype
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`):```viml
au FileType gitcommit let b:EditorConfig_disable = 1
```### Disable rules
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:```viml
let g:EditorConfig_disable_rules = ['trim_trailing_whitespace']
```You are able to disable any supported EditorConfig properties.
## 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 guidelines][]![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
[a recent stable version of this plugin]: https://github.com/vim/vim/pull/12902
[its own Lua-based implementation]: https://github.com/neovim/neovim/commit/ab9a2c49253413dbbb31756a3eeddb354a663035
[Vundle]: https://github.com/gmarik/Vundle.vim
[archive]: https://github.com/editorconfig/editorconfig-vim/archive/master.zip
[contribution guidelines]: 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
[vim-plug]: https://github.com/junegunn/vim-plug