带vim的ES6——带()=>;()

带vim的ES6——带()=>;(),vim,ecmascript-6,Vim,Ecmascript 6,ES6隐式返回有助于避免函数定义中不必要的混乱,并有助于在React中强制编写“纯组件” 但是,缩进不能很好地与Vim配合使用,当我为返回块定义带有括号的函数,并点击enter时,我会以此状态结束: const Component = () => ( ) const Component = () => { } 当我点击enter键时,Vim将结束页缩进两个整页签长度(本例中为8个空格) 但是当我使用大括号执行“正常”函数时,我得到了我想要的状态: const

ES6隐式返回有助于避免函数定义中不必要的混乱,并有助于在React中强制编写“纯组件”

但是,缩进不能很好地与Vim配合使用,当我为返回块定义带有括号的函数,并点击enter时,我会以此状态结束:

const Component = () => (

        )
const Component = () => {

}
当我点击enter键时,Vim将结束页缩进两个整页签长度(本例中为8个空格)

但是当我使用大括号执行“正常”函数时,我得到了我想要的状态:

const Component = () => (

        )
const Component = () => {

}
什么给你!?我已启用以下三个vim缩进设置:

set autoindent
set copyindent
set preserveindent
你知道可能有什么问题,或者我可以查看哪些设置来修复吗?

一些文件类型(包括.c、.js和其他文件)在Vim的自动加载目录中定义了自动完成命令(do
:e$Vim/vimxx/autoload/
要获得这些文件的列表,请用Vim版本替换
xx
)。其他自动完成命令是通过插件定义的

对于您的情况,我建议定义一个自动命令:

autocmd! InsertEnter *.js imap (<cr> (<cr><cr>)<up>
autocmd!InsertEnter*.js imap()
用您正在使用的文件类型替换
*.js

某些文件类型(包括.c、.js和其他文件)在Vim的自动加载目录上定义了自动完成命令(do
:e$Vim/vimxx/autoload/
要获取这些文件的列表,请用您的Vim版本替换
xx
).其他自动完成命令通过插件定义

对于您的情况,我建议定义一个自动命令:

autocmd! InsertEnter *.js imap (<cr> (<cr><cr>)<up>
autocmd!InsertEnter*.js imap()

用您正在使用的文件类型替换
*.js

很难在同一个句子中阅读“隐式”和“强制”并保持笔直。为什么?它是多余的?很难在同一个句子中阅读“隐式”和“强制”并保持笔直。为什么?它是多余的?