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 · 14637 次点击
    这是一个创建于 5137 天前的主题,其中的信息可能已经有所发展或是发生改变。
    为什么我看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
       2010-11-30 11:38:05 +08:00
    4 个空格。
    Mianco
        4
    Mianco  
    OP
       2010-11-30 11:38:40 +08:00
    @babaru 了解了,试着这样做看看。
    aa88kk
        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 空格的人。
    还有存文件用 GB2312 编码的
    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  
    MOD
       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  
       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   ·   实用小工具   ·   5506 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 07:01 · PVG 15:01 · LAX 23:01 · JFK 02:01
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.