开发工具 Vim 中 C 的缩进问题

kenshin54 · 2013年10月21日 · 最后由 luikore 回复于 2013年10月21日 · 2214 次阅读

如图,像这个把返回类型rb_objspace_t *单独写一行的话,用gg=G对整个文件缩进的话,返回类型就会再次缩进,变成

求配置如何让返回类型不要缩进,Google 一圈没搜索到!

吐槽:为啥 Ruby 源代码缩进乱七八糟的,其他编辑器打开都乱了,只有 Emacs 打开缩进没问题。

共收到 7 条回复

如果其他编辑器打开就乱了,说明你不是全空格,肯定是空格和 Tab 掺在一起了。

#1楼 @nightire 这是github上拉下来的Ruby源码,就是乱的,和我没关系,Textmate, Sublime, Vim 都是乱的,前2个我基本不用,所以没有任何配置。

ruby 源码不用自己 gg=G 的, 把 tab 长度设成 8 就缩进正常了

ruby 源码的tab长度是8

#3楼 @luikore #4楼 @sevk

撇开 Ruby 源码,返回类型单独一行的写法,gg=G 就是会缩进,所以是不该依赖 gg=G 么?!还是有办法配置的?求指教!

Ruby 源码的缩进貌似配置成 set noexpandtab tabstop=8 shiftwidth=4 softtabstop=4 就可以了。

谢谢 @luikore @sevk

#5楼 @kenshin54 gg=G 是对每行做匹配, 如果满足+缩进或者-缩进的正则, 就修改下一行的缩进, 这个判断经常不准的, 而且太适用于返回类型独起一行的 code style

需要 登录 后方可回复, 如果你还没有账号请点击这里 注册