在Vim中按括号列索引缩进代码?
发布时间:2020-12-15 18:19:04 所属栏目:安全 来源:网络整理
导读:我正在使用Vim来编辑Erlang代码.我习惯(大多数Erlang程序员这样做)通过它们所在的括号范围缩进Erlang代码.例如,C通常在大括号内缩进一个制表符宽度: int main(void) { printf("hello,worldn"); return 0;} 在Erlang中,基于括号开始的列缩进是很常见的: ?a
我正在使用Vim来编辑Erlang代码.我习惯(大多数Erlang程序员这样做)通过它们所在的括号范围缩进Erlang代码.例如,C通常在大括号内缩进一个制表符宽度:
int main(void) { printf("hello,worldn"); return 0; } 在Erlang中,基于括号开始的列缩进是很常见的: ?assertError({bad_options,[{foo,bar},bad_option]},lhttpc:request("http://localhost/",get,[],<<>>,1000,[bad_option,{foo,bar}])). (上面的例子是缩进的,以获得重点,而不是根据主观美). 如果块在新行上启动,则将使用制表符宽度: ?assertError( {bad_options,lhttpc:request( "http://localhost/",bar}] ) ). 我的.vimrc的相关部分: set expandtab " Spaces for tabs " set tabstop=4 " Tab width 4 " set shiftwidth=4 set smarttab set autoindent " Enable filetype plugin " filetype plugin on filetype indent on 有没有办法在Vim中执行此缩进,如果是,如何? 解决方法
有一个vimerl的fork实现了“上下文感知缩进”而不是“静态缩进”:
https://github.com/aszlig/vimerl.git
似乎工作,所以我会推迟一段时间. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |