Vim autoindent(gg = G)对于JS缩进来说非常破碎
问题描述:
我的最终目标是使用gg=G
自动缩进符合eslintrc.js
文件的所有JS代码。Vim autoindent(gg = G)对于JS缩进来说非常破碎
所以,目前我有syntastic
和vim-javascript
看着我的JS代码,在我的.vimrc
let g:syntastic_javascript_checkers=["eslint"]
下面让我们说,我有一些体面的JS像下面
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const PATHS = {
app : path.join(__dirname, 'app'),
build : path.join(__dirname, 'build'),
};
const commonConfig = {
entry : {
app : PATHS.app,
},
output : {
path : PATHS.build,
filename : '[name].js',
},
plugins : [
new HtmlWebpackPlugin({
title : 'Webpack Demo',
}),
],
};
的gg=G
(正常模式)命令将以上内容切断。
const path = require('path');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const PATHS = {
app : path.join(__dirname, 'app'),
build : path.join(__dirname, 'build'),
};
const commonConfig = {
entry : {
app : PATHS.app,
},
output : {
path : PATHS.build,
filename : '[name].js',
},
plugins : [
new HtmlWebpackPlugin({
title : 'Webpack Demo',
}),
],
};
哪个不酷。
Btw,vim-js-indent
和vim-jsx-improve
也没有做任何事情。
任何帮助非常欢迎,非常感谢提前。
答
您的“不酷”示例是Vim无法将您的缓冲区识别为JavaScript和/或未应用JavaScript特定缩进规则时得到的“通用”缩进结果。
该代码与这个最小安装正确缩进:
$ vim -Nu NONE --cmd 'filetype indent on' filename.js
其中:
- 检测到您的缓冲区包含的JavaScript,
- 适用JavaScript的具体缩进规则。
为了确保正确的缩进,则必须将此行添加到您的vimrc
:
filetype indent on
我很惭愧它是如此简单!奇怪的部分是缩进与其他文件类型很好。哦,我的世界现在是一个更好的地方。 – FinnM