vimvundleeditorconfig

How do I make Vim respect .editorconfig?


I used Vundle to install editorconfig-vim plugin. It loads correctly and is listed in :scriptnames. But when I create a new file, say, x.js, indentation settings aren't picked from ~/.editorconfig file (although, no .editorconfig in CWD), and I have 2-space indentation instead of 4-space as I defined in my ~/.editorconfig.

What do I do wrong? Should I invoke a certain command in ~/.vimrc to make EditorConfig config work?

My ~/.editorconfig:

root = true

[*]
end_of_line = lf
insert_final_newline = true
charset = utf-8
indent_style = space
indent_size = 4

[{package.json,.travis.yml,Gruntfile.js,gulpfile.js,webpack.config.js}]
indent_style = space
indent_size = 2

And my ~/.vimrc config:

set nocompatible              " be iMproved, required
filetype off                  " required

set rtp+=~/.vim/bundle/Vundle.vim
call vundle#begin()

Plugin 'gmarik/Vundle.vim'
Plugin 'tpope/vim-fugitive'
Plugin 'tomasr/molokai'
Plugin 'moll/vim-node'
Plugin 'jelera/vim-javascript-syntax'
Plugin 'pangloss/vim-javascript'
Plugin 'editorconfig/editorconfig-vim'

call vundle#end()            " required
filetype plugin indent on    " required

" set tw=80
" set wrap linebreak nolist

let g:jsx_ext_required = 0 " Allow JSX in normal JS files
let g:syntastic_javascript_checkers = ['eslint']
let g:EditorConfig_core_mode = 'external_command'

syntax on
set number
set ruler
colorscheme molokai

Solution

  • You may want to use :verbose set tabstop? to check which plugin set it for you.

    If it doesn't say Last set from ..., it uses the default option.

    And then, editorconfig doesn't have the corresponding settings, and you may want to check which .editorconfig is used.