V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
推荐学习书目
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 · Nov 30, 2010 · 15627 views
    This topic created in 5638 days ago, the information mentioned may be changed or developed.
    为什么我看GPUG有个八荣八耻里说“以空格缩进为荣”呢
    56 replies    2016-11-12 23:46:08 +08:00
    babaru
        1
    babaru  
       Nov 30, 2010
    空格。

    编辑器对于tab缩进是可以改变的,空格可以保证缩进的一致。
    CoX
        2
    CoX  
       Nov 30, 2010
    用EmEditor 默认tab缩进
    Livid
        3
    Livid  
    MOD
    PRO
       Nov 30, 2010
    4 个空格。
    Mianco
        4
    Mianco  
    OP
       Nov 30, 2010
    @babaru 了解了,试着这样做看看。
    aa88kk
        5
    aa88kk  
       Nov 30, 2010
    要用空格,用TAB会比较麻烦。
    kuber
        6
    kuber  
       Nov 30, 2010
    编辑器里一般都能设定用空格代替tab的, 你可以设定2个或4个空格.
    我装好编辑器后第一个做的就是改tab的设定
    reorx
        7
    reorx  
       Nov 30, 2010
    让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  
       Nov 30, 2010
    Tab 自动转换为空格 ...
    disinfeqt
        9
    disinfeqt  
       Nov 30, 2010
    把 tab 设为 2 空格
    disinfeqt
        10
    disinfeqt  
       Nov 30, 2010
    @Livid 4空格的形式写程序还好,不过写 HTML 如果 DOM 太复杂的话就挤到一边去了...
    Kymair
        11
    Kymair  
       Nov 30, 2010   ❤️ 2
    Tab Vs. Space是与Emacs Vs. Vi一样古老而持续不灭的争论

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

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

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

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

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

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

    删除+移动光标太废时间 而且对齐的时候自动控制多长 如果是 xx\t = xx[两个空格] (1 tab = 4空格的时候)
    lepture
        25
    lepture  
       Dec 19, 2010   ❤️ 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  
       Dec 19, 2010
    tab 换成2个空格
    ato
        27
    ato  
       Dec 19, 2010
    混用,tab用得多一点
    yanyanlong
        28
    yanyanlong  
       Dec 19, 2010
    空格
    IdealHack
        29
    IdealHack  
       Dec 19, 2010
    使用空格代替 tab 。
    往回删可以用 Shift + Tab 或者“撤销”。
    est
        30
    est  
       Dec 19, 2010
    html 2空格
    其余4空格。
    est
        31
    est  
       Dec 19, 2010   ❤️ 1
    @recih 有个东西叫shift+tab。。。

    莫非你打4空格真的去按4下空格?囧。。。
    shawiz
        32
    shawiz  
       Dec 19, 2010
    Textmate 里面设置 soft tab 后删除空格也很方便,就和用 tab 一样。
    recih
        33
    recih  
       Dec 20, 2010
    @est 当然不会去狂按空格了……

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

    偏好tab, 因为有时候会切不同的编辑器编辑文档, 不是每个都能直接控制缩进的...
    tioover
        44
    tioover  
       Mar 26, 2012 via Android
    我喜欢tab
    但推荐用空格还是用空格吧
    frittle
        45
    frittle  
       Mar 26, 2012
    2个空格。
    yyycat
        46
    yyycat  
       Mar 26, 2012
    tab 删除方便~
    thedevil7
        47
    thedevil7  
       Mar 27, 2012
    vim tab = 4 space
    taste
        48
    taste  
       Mar 27, 2012
    :set tabstop=4 shiftwidth=4 设置vim tab=4个空格。
    qiuai
        49
    qiuai  
    PRO
       Mar 27, 2012
    只用notepad++的路过..全部tab切换段落.主要就是为了看起来方便而已...
    Andor_Chen
        50
    Andor_Chen  
       Mar 27, 2012
    soft tab: 2 spaces
    crazycookie
        51
    crazycookie  
       Mar 27, 2012
    vim tab 自动转换为4个空格
    mckelvin
        52
    mckelvin  
       Apr 29, 2012
    @lepture smarttab 好,Makefile依然会正常使用TAB
    dreamersdw
        53
    dreamersdw  
       Apr 29, 2012
    @recih 如果用 Vim 的话,在命令模式可以使用 < 与 > 切换缩进, 在插入模式可以使用 C-d 与 C-t 切换缩进。
    j
        54
    j  
       Apr 29, 2012
    2 space indents (setq js-indent-level 2)
    shiweifu
        55
    shiweifu  
       Apr 29, 2012
    pep8里推荐空格
    pexcn
        56
    pexcn  
       Nov 12, 2016
    Scala 两个空格, Java 和 C 四个空格~
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   961 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 155ms · UTC 21:18 · PVG 05:18 · LAX 14:18 · JFK 17:18
    ♥ Do have faith in what you're doing.