如何让 Vim 尊重 .editorconfig?

Posted

技术标签:

【中文标题】如何让 Vim 尊重 .editorconfig?【英文标题】:How do I make Vim respect .editorconfig? 【发布时间】:2015-09-26 12:40:28 【问题描述】:

我使用Vundle 安装editorconfig-vim 插件。它正确加载并列在:scriptnames 中。但是当我创建一个新文件时,比如x.js,缩进设置不是从~/.editorconfig文件中选择的(尽管在CWD中没有.editorconfig),而且我有2个空格而不是4个空格在我的~/.editorconfig 中定义。

我做错了什么?我应该在~/.vimrc 中调用某个命令来使EditorConfig 配置工作吗?

我的~/.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

还有我的~/.vimrc 配置:

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

【问题讨论】:

您是否安装了 editorconfig 二进制文件?因为你使用 external_command 是的,editorconfig -v 回显“EditorConfig C 核心版本 0.12.0”。 你可以试试:EditorConfigReload 看看它是否有效。也请尝试现有文件。 【参考方案1】:

可能是另一个插件覆盖了 editorconfig 插件。

这发生在我身上。我忘记了安装https://github.com/Raimondi/YAIFA(几乎是另一个缩进查找器)。如果插件功能更容易从其名称中解析,我可能会更早发现问题。

【讨论】:

【参考方案2】:

您可能想使用:verbose set tabstop? 来检查哪个插件为您设置了它。

如果不显示Last set from ...,则使用默认选项。

然后,editorconfig没有对应的设置,你可能要检查一下.editorconfig使用的是哪个。

【讨论】:

【参考方案3】:

这对我在init.lua 中的设置很有帮助:

vim.cmd('filetype plugin on')
vim.cmd('filetype indent off')

:verbose set autoindent? 还给出了实际设置值和加载位置。文件类型设置在全局设置之后加载。禁用文件类型缩进后,我的 editorconfig 开始按我预期的方式工作。您还可以通过filetype off 禁用所有文件类型选项

【讨论】:

以上是关于如何让 Vim 尊重 .editorconfig?的主要内容,如果未能解决你的问题,请参考以下文章

editorConfig编辑器配置

.editorconfig 文件配置介绍

如何让 AVCaptureSession 和 AVPlayer 尊重 AVAudioSessionCategoryAmbient?

Editorconfig:如何自动修复项目中的所有文件[关闭]

如何让 CronJob 尊重夏令时?

如何让 SignalR 连接尊重会话超时