大家是空格缩进还是tab缩进 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
Mianco
V2EX    Python

大家是空格缩进还是tab缩进

  •  
  •   Mianco 2010-11-30 11:31:09 +08:00 15322 次点击
    这是一个创建于 5501 天前的主题,其中的信息可能已经有所发展或是发生改变。
    为什么我看GPUG有个八荣八耻里说“以空格缩进为荣”呢
    56 条回复    2016-11-12 23:46:08 +08:00
    babaru
        1
    babaru  
       2010-11-30 11:35:19 +08:00
    空格。

    编辑器对于tab缩进是可以改变的,空格可以保证缩进的一致。
    CoX
        2
    CoX  
       2010-11-30 11:37:20 +08:00
    用EmEditor 默认tab缩进
    Livid
        3
    Livid  
    MOD
    PRO
       2010-11-30 11:38:05 +08:00
    4 个空格。
    Mianco
        4
    Mianco  
    OP
       2010-11-30 11:38:40 +08:00
    @babaru 了解了,试着这样做看看。
        5
    aa88kk  
       2010-11-30 11:50:55 +08:00
    要用空格,用TAB会比较麻烦。
    kuber
        6
    kuber  
       2010-11-30 12:04:57 +08:00
    编辑器里一般都能设定用空格代替tab的, 你可以设定2个或4个空格.
    我装好编辑器后第一个做的就是改tab的设定
    reorx
        7
    reorx  
       2010-11-30 12:10:51 +08:00
    让tab缩进变成4个空格缩进就好了,貌似直接tab缩进叫制表符,跟4个空格是不一样的。

    这里有篇文章不错,是对vim的配置:http://blog.odichy.org/2010/03/08/vim%E4%B8%AD%E8%AE%BE%E7%BD%AEpython%E8%87%AA%E5%8A%A8%E7%BC%A9%E8%BF%9B%E4%B8%BA4%E4%B8%AA%E7%A9%BA%E6%A0%BC.html
    Sunyanzi
        8
    Sunyanzi  
       2010-11-30 12:14:50 +08:00
    Tab 自动转换为空格 ...
    disinfeqt
        9
    disinfeqt  
       2010-11-30 12:28:26 +08:00
    把 tab 设为 2 空格
    disinfeqt
        10
    disinfeqt  
       2010-11-30 12:29:12 +08:00
    @Livid 4空格的形式写程序还好,不过写 HTML 如果 DOM 太复杂的话就挤到一边去了...
    Kymair
        11
    Kymair  
       2010-11-30 12:29:33 +08:00   2
    Tab Vs. Space是与Emacs Vs. Vi一样古老而持续不灭的争论

    这里是一篇内容丰富的讨论

    http://groups.google.com/group/comp.lang.python/browse_thread/thread/6dd8e0ad4e1b838c/10c0990186572f84
    huangz
        12
    huangz  
       2010-11-30 13:11:24 +08:00
    在PEP的文章Style Guide for Python Code中,谈到了在python中缩进和相关代码风格的问题。

    文章里面推荐的是使用4个空格作为缩进。

    http://www.python.org/dev/peps/pep-0008/
    ashchan
        13
    ashchan  
       2010-11-30 16:22:05 +08:00
    Objetive-C 4 空格,Ruby 2 空格,Javascript 4 空格,HTML 2 空格。
    TheOnly92
        14
    TheOnly92  
       2010-11-30 16:47:51 +08:00
    @ashchan 请问如此讲究有何道理?对于编辑器的设置方便吗?
    huacnlee
        15
    huacnlee  
       2010-11-30 19:03:12 +08:00 via Android
    基本上用到的, Python,Ruby,js,html 都用两个空格,不过有时候根据项目情况,Python的会用4个空格
    重来不用tab格式。

    总觉得4个空格太浪费了
    huacnlee
        16
    huacnlee  
       2010-11-30 19:07:33 +08:00 via Android
    BTW, 非常讨厌混用 tab 空格的人。
    还有存文件用 编码的
    darasion
        17
    darasion  
       2010-11-30 19:13:30 +08:00
    我什么都用。没什么感觉。
    liyangdal
        18
    liyangdal  
       2010-12-19 13:37:30 +08:00
    @huacnlee 现在貌似主流观点变成使用空格了,记得几年前我刚上大学学C++和VC那会,都说要用TAB不用空格,而且宽度设成8个空格。。。
    GordianZ
        19
    GordianZ  
       2010-12-19 14:50:40 +08:00
    现在编辑器都支持设置TAB相应的空格数,有人喜欢2个,有人喜欢4个,最早的C标准是8个。
    如果我用TAB的话,大家都可以调整成自己喜欢的,如果我用空格的话,总有人看着不爽啊……
    所以我个人还是倾向于用TAB.
    bluef
        20
    bluef  
       2010-12-19 15:11:25 +08:00
    TAB, 依然觉得全选时看到一堆的空格符就觉得杂乱且不舒服
    holystrike
        21
    holystrike  
       2010-12-19 16:41:20 +08:00
    用空格的话,在回删的时候很麻烦,4个空格要删4次,tab就只需1次
    recih
        22
    recih  
       2010-12-19 16:44:22 +08:00
    @holystrike: “用空格的话,在回删的时候很麻烦,4个空格要删4次,tab就只需1次”

    严重同意!这也是我不想把\t换成空格的原因之一。不知道这个问题有没有什么解决办法。
    wudoo59
        23
    wudoo59  
       2010-12-19 16:46:09 +08:00
    Tab能用的时候Tab缩进。方便点
    fanzeyi
        24
    fanzeyi  
       2010-12-19 17:47:16 +08:00
    Tab

    删除+移动光标太废时间 而且对齐的时候自动控制多长 如果是 xx\t = xx[两个空格] (1 tab = 4空格的时候)
    lepture
        25
    lepture  
       2010-12-19 17:50:04 +08:00   1
    set smarttab
    set expandtab
    set sw=4
    set ts=4
    autocmd FileType html setl sw=2
    autocmd FileType html setl ts=2
    chone
        26
    chone  
       2010-12-19 18:56:38 +08:00
    tab 换成2个空格
    ato
        27
    ato  
       2010-12-19 19:47:10 +08:00
    混用,tab用得多一点
    yanyanlong
        28
    yanyanlong  
       2010-12-19 19:53:53 +08:00
    空格
    IdealHack
        29
    IdealHack  
       2010-12-19 20:53:05 +08:00
    使用空格代替 tab 。
    往回删可以用 Shift + Tab 或者“撤销”。
    est
        30
    est  
       2010-12-19 20:54:42 +08:00
    html 2空格
    其余4空格。
    est
        31
    est  
       2010-12-19 20:55:47 +08:00   1
    @recih 有个东西叫shift+tab。。。

    莫非你打4空格真的去按4下空格?。。。
    shawiz
        32
    shawiz  
       2010-12-19 21:35:48 +08:00
    Textmate 里面设置 soft tab 后删除空格也很方便,就和用 tab 一样。
    recih
        33
    recih  
       2010-12-20 01:08:18 +08:00
    @est 当然不会去狂按空格了……

    另外shift+tab我也是知道的,但毕竟是组合键没有backspace来的直接啊。
    liluo
        34
    liluo  
       2012-03-26 07:07:58 +08:00
    @lepture
    laskuma
        35
    laskuma  
       2012-03-26 07:37:00 +08:00
    因为要一直写make懒得改软tab了就只好一路tab用下来。
    avatasia
        36
    avatasia  
       2012-03-26 08:58:44 +08:00
    从4个空格转到tab了,因为在用asp.net mvc,html感觉空格太多增量体积,而且 razor引擎里,内嵌代码会自动在大括号后面加空格,感觉乱七八糟。
    ant_sz
        37
    ant_sz  
       2012-03-26 14:17:06 +08:00
    空格咯,写 Python 的时候,因为Tab符的问题,在Windows 和 Linux 下面代码总是不兼容
    fline
        38
    fline  
       2012-03-26 14:49:47 +08:00 via Android
    Tab可以随意设置,满足任何人的要求;空格用起来真的很不爽
    acgism
        39
    acgism  
       2012-03-26 15:00:14 +08:00
    4空格
    felinx
        40
    felinx  
       2012-03-26 15:31:56 +08:00
    不少公司的代码规范里都规定用4空格,其实tab党和空格党都有不少,但最忌讳tab和空格混用。
    jiyinyiyong
        41
    jiyinyiyong  
       2012-03-26 15:35:31 +08:00
    本来 tab 的, 被告知 JS 和 CoffeeScript 规范里用 2 空格的, 动摇了
    后来学会点把自己文档转成网页, 因为网页上 tab 比较恶心, 于是彻底空格了
    avatasia
        42
    avatasia  
       2012-03-26 15:51:52 +08:00
    @jiyinyiyong html 2空格?貌似我代码又要重新格式化了。 有没有人用asp.net MVC的, razor 默认{后面跟个空格,很烦人啊
    Hyperion
        43
    Hyperion  
       2012-03-26 15:59:13 +08:00
    看平台, 看标准...

    偏好tab, 因为有时候会切不同的编辑器编辑文档, 不是每个都能直接控制缩进的...
    tioover
        44
    tioover  
       2012-03-26 17:49:54 +08:00 via Android
    我喜欢tab
    但推荐用空格还是用空格吧
    frittle
        45
    frittle  
       2012-03-26 17:55:17 +08:00
    2个空格。
    yyycat
        46
    yyycat  
       2012-03-26 18:20:26 +08:00
    tab 删除方便~
    thedevil7
        47
    thedevil7  
       2012-03-27 10:42:44 +08:00
    vim tab = 4 space
    taste
        48
    taste  
       2012-03-27 12:57:40 +08:00
    :set tabstop=4 shiftwidth=4 设置vim tab=4个空格。
    qiuai
        49
    qiuai  
    PRO
       2012-03-27 13:09:10 +08:00
    只用notepad++的路过..全部tab切换段落.主要就是为了看起来方便而已...
    Andor_Chen
        50
    Andor_Chen  
       2012-03-27 13:12:43 +08:00
    soft tab: 2 spaces
    crazycookie
        51
    crazycookie  
       2012-03-27 18:30:43 +08:00
    vim tab 自动转换为4个空格
    mckelvin
        52
    mckelvin  
       2012-04-29 13:19:35 +08:00
    @lepture smarttab 好,Makefile依然会正常使用TAB
    dreamersdw
        53
    dreamersdw  
       2012-04-29 14:25:40 +08:00
    @recih 如果用 Vim 的话,在命令模式可以使用 < 与 > 切换缩进, 在插入模式可以使用 C-d 与 C-t 切换缩进。
    j
        54
    j  
       2012-04-29 14:39:55 +08:00
    2 space indents (setq js-indent-level 2)
    shiweifu
        55
    shiweifu  
       2012-04-29 14:41:00 +08:00
    pep8里推荐空格
    pexcn
        56
    pexcn  
       2016-11-12 23:46:08 +08:00
    Scala 两个空格, Java 和 C 四个空格~
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     515 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 47ms UTC 01:15 PVG 09:15 LAX 17:15 JFK 20:15
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86