当前位置:   article > 正文

vim设置函数大括号自动对齐补全换行,数组自动补全,不换行_vim 大括号回车 两行

vim 大括号回车 两行

在使用vim的时候,一般通过如下的设置实现自动补全右括号并对齐

set autoindent           " 自动缩进
set cindent
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {<CR>}<ESC>O
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7

第7行实现的是补全大括号并自动换行对齐的功能,这么写用于包含程序块确实没问题,但是当我们用大括号来初始化一个数组时,此时大括号还会换行对齐,这就使得代码变得丑陋。
思路:
使用vs的过程中,先输入一个右括号,会自动出现一个右括号,再敲入回车,会使括号换行对齐,如果不敲入回车键,就不会换行对齐。
于是就把把最后一行换成以下两行,解决了大括号无脑换行对齐的问题。

"数组则不换行
inoremap { {}<ESC>i
"函数左括号加回车则换行
inoremap {<CR> {<CR>}<ESC>O
  • 1
  • 2
  • 3
  • 4

第一行将 { 映射成 {} ,用来定义数组。
第二行将 {和回车键的组合映射成 {} + 回车换行,用来定义函数。
以下是完整的代码

set autoindent           " 自动缩进
set cindent
inoremap ' ''<ESC>i
inoremap " ""<ESC>i
inoremap ( ()<ESC>i
inoremap [ []<ESC>i
inoremap { {}<ESC>i
inoremap {<CR> {<CR>}<ESC>O
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8

补充:这样改还是有点小问题,当定义一个函数时,先敲入左括号,如果约一秒钟内没有敲入回车键,再敲入回车键就不会进行回车换行了。不过影响不大。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/不正经/article/detail/216698
推荐阅读
相关标签
  

闽ICP备14008679号