#1 - 2014-7-1 12:50
林卯 (✨️VIP 8✨️)
通常情况下,按制表键(Tab键)出来的符号(一般就是 水平定位字符)应该叫制表符,但许多国人会与表格符号混淆。那么称tab符好了。
这个符号不意味着空格,而意味着距离,这个距离在多行的情况下展现:每个tab符可以产生一段与楼上tab符对齐的空间。
显然这是不等长的。
这使其便于制表,其相比按空格的优势在自动产生距离以便排版。

由于手机按不出制表符,我就不举例了。


追加:
我这楼无论内容还是标题都与编程语言没有直接联系。
我只是喜欢研究字符(例子很多,我以前讨论过不少次,比如最近一次 http://bgm.tv/group/topic/32793),而赋予特殊功能的字符当然值得一提。
我其实不知道你们在战什么,不过随你们高兴吧ξ =_,=)


2014-7-4,#10-6起:
我还在下面提议建立“编程符”概念…于是也只能接受现实了?
我内心还是觉得空格有其意义,不是用于定距的(Unicode为各种空格规定了意义)。正如不能拿<<代替《,不能拿0代替〇。我以为用空格排版只是过渡,既然编辑器可以语法染色,那么也应该能自动按语言排版,只要指定一个“编程排版符”的话…
及#15-19。
#2 - 2014-7-1 12:54
我也感觉到困惑,一个是用记事本写汇编程序的时候,还有就是写java词法分析的时候……但是tab和空格看起来差不多嘛
再有就是,为什么要用tab,还不如统一用空格好啦
#2-1 - 2014-7-1 12:56
原来的头像呢
可是tab很方便啊!一下就能空出一个明显的距离!(注:我没用过多种编辑器
#2-2 - 2014-7-1 12:58
orange
Chu2Otaku 说: 可是tab很方便啊!一下就能空出一个明显的距离!
一旦后来又开始用空格了呢
不就乱了么
#2-3 - 2014-7-1 13:00
原来的头像呢
orange 说: 一旦后来又开始用空格了呢
不就乱了么
……如果只是自己一个人的话,为什么不统一用一种呢?
大家一起的话……我有听说公司什么的有要求统一格式,但也只有这个听说而已
#2-4 - 2014-7-1 13:06
林卯
Chu2Otaku 说: 可是tab很方便啊!一下就能空出一个明显的距离!(注:我没用过多种编辑器
制表符的奥妙,只打一行是看不出来的。妙在每行对齐。(可能你已经知道)我对不知道的人建议是在多行文本中每行打一两个看看会怎样…
#2-5 - 2014-7-1 13:06
原来的头像呢
林卯 说: 制表符的奥妙,只打一行是看不出来的。妙在每行对齐。(可能你已经知道)我对不知道的人建议是在多行文本中每行打一两个看看会怎样…
的确这个对齐很舒服
#2-6 - 2014-7-1 13:12
orange
Chu2Otaku 说: 的确这个对齐很舒服
反正开头空四格就好啦
if和for的花括号看情况,java打到同一行,C就换行……
#2-7 - 2014-7-1 13:15
原来的头像呢
orange 说: 反正开头空四格就好啦
if和for的花括号看情况,java打到同一行,C就换行……
自己也试过打四下空格……但是感觉好麻烦(bgm38)
#2-8 - 2014-7-1 13:19
ouoω
Chu2Otaku 说: 自己也试过打四下空格……但是感觉好麻烦
vim可以设定成按tab--输入空格直到(缩进宽度)的整数倍
vs那个编辑器好像也可..
#2-9 - 2014-7-1 14:01
zodiacg
Chu2Otaku 说: 的确这个对齐很舒服
制表符可以简单的做到对齐,但是对使用mono字体的程序员来说同样的事情空格也可以做到,而且完全可以设置成tab键(我加了“键”字来与制表“符”表示明确的区分)输入多个空格来简化输入。
看起来是多此一举,但是在跨平台甚至只是多人协同开发跨编辑器的情况下,空格能保证缩进显示效果上的一致。而制表符在显示效果上缩进距离会有所不同。
再比如如果有多行连续的赋值操作,然后以=居中对齐的情况下,如果用tab来调齐,某些编辑器(比如nano)会在=左右留下过长的空白。
#2-10 - 2014-7-1 14:16
林卯
zodiacg 说: 制表符可以简单的做到对齐,但是对使用mono字体的程序员来说同样的事情空格也可以做到,而且完全可以设置成tab键(我加了“键”字来与制表“符”表示明确的区分)输入多个空格来简化输入。
看起来是多此一举...
其实我想说多个空格占用字节多——不过现在也无所谓了。
话说各个编辑器的作者们是怎样考虑制表符显示这个问题的?
#2-11 - 2014-7-1 14:21
zodiacg
林卯 说: 其实我想说多个空格占用字节多——不过现在也无所谓了。
话说各个编辑器的作者们是怎样考虑制表符显示这个问题的?
只要把“一个制表符最长显示为多少个字符”、“一个tab键到底输入的内容是一个制表符还是多个空格”变为可设置的内容,那么剩下的都是用户的问题。
至于不能修改这些设置的编辑器,不能改后者我可以理解为纯粹,不能改前者我觉得大概是不在乎吧。比如记事本只要提供最基本的编辑体验就够了。
而且只是用一个编辑器的话也不需要在意编辑器与编辑器之间的差异不是吗
#2-12 - 2014-7-1 16:17
Scarlex
林卯 说: 其实我想说多个空格占用字节多——不过现在也无所谓了。
话说各个编辑器的作者们是怎样考虑制表符显示这个问题的?
如果是 sublime text 的话,全选文本,如果是用制表符的话,空白地方会显示成 — 这样一条横线,如果是用空格的话,就会显示成 · 这样一个点。
#2-13 - 2014-7-1 20:21
林卯
Scarlex 说: 如果是 sublime text 的话,全选文本,如果是用制表符的话,空白地方会显示成 — 这样一条横线,如果是用空格的话,就会显示成 · 这样一个点。
我没用过你说的软件,不过notepad2有类似的显示功能,不用全选。
#3 - 2014-7-1 12:56
(hhh汝视视汝)
自动产生距离以便(在不同编辑器下生成不一致的排版)

我宁愿用空格(bgm38)
#3-1 - 2014-7-1 13:02
林卯
排版不看疏密应该是一致,如果不一致那就是编辑器理解这个字符的问题。
#3-2 - 2014-7-1 13:16
ouoω
林卯 说: 排版不看疏密应该是一致,如果不一致那就是编辑器理解这个字符的问题。
A编辑器1tab=4空格
B编辑器1tab=8空格
一个cell的内容宽度可能从0字符到几十字符
怎样用tab让AB都不"错误理解"?

就算把错推给编辑器
我有什么动机不用在各编辑器行为一致的空格而用tab?
#3-3 - 2014-7-1 13:37
林卯
mono 说: A编辑器1tab=4空格
B编辑器1tab=8空格
一个cell的内容宽度可能从0字符到几十字符
怎样用tab让AB都不"错误理解"?

就算把错推给编辑器
我有什么动机不用在各编辑器行为一致的空格而...
都说了tab符不是几个空格。呃,等等,为了避免误会,你是否明白tab符的定义?或者说你是否看懂#1?
#3-4 - 2014-7-1 13:47
ouoω
林卯 说: 都说了tab符不是几个空格。呃,等等,为了避免误会,你是否明白tab符的定义?或者说你是否看懂#1?
不赞同#1
我知道tab能被显示为不固定数量的空格
但是"每个tab符可以产生一段与楼上tab符对齐的空间。"和我的体验不符  可能你用的编辑器比较智能

随便你怎样定义
我怎样在实践中让同一个tab排的表格在不同编辑器下都不错位
#3-5 - 2014-7-1 13:47
zodiacg
林卯 说: 都说了tab符不是几个空格。呃,等等,为了避免误会,你是否明白tab符的定义?或者说你是否看懂#1?
AAAAAAAAAAAAA
[--制表符--]BBBBBBBBBB

所谓的1tab=几空格的问题,是编辑器的显示效果问题。比如上面这两行文字。
某些编辑器打开,第一个B会对齐在上一行的第9个A的正下方。而在别的编辑器里打开,第一个B会对齐在上一行的第5个A的正下方。当然很多编辑器里这个设置是可以调的。
#3-6 - 2014-7-1 14:07
林卯
mono 说: 不赞同#1
我知道tab能被显示为不固定数量的空格
但是"每个tab符可以产生一段与楼上tab符对齐的空间。"和我的体验不符&nbsp;&nbsp;可能你用的编辑器比较智能

随便你怎样定义
我怎样在...
编辑器:记事本。
想象不出怎样才会和你的体验不符…呃,所以说你是否理解有差异?
#3-7 - 2014-7-1 14:10
林卯
zodiacg 说: AAAAAAAAAAAAA
[--制表符--]BBBBBBBBBB

所谓的1tab=几空格的问题,是编辑器的显示效果问题。比如上面这两行文字。
某些编辑器打开,第一个B会对齐在上一行的第9个A的正下...
这个我懂,所以我在#3-1提出一个条件是忽略疏密。如果设得太短确实可能导致虚拟的格子合并。但放在开头就没这情况…
#3-8 - 2014-7-1 14:14
ouoω
林卯 说: 编辑器:记事本。
想象不出怎样才会和你的体验不符…呃,所以说你是否理解有差异?
统一理解太麻烦了
你传个在记事本正常显示的表格上来, 我截一个在其他编辑器显示错误的图可不可以
#3-9 - 2014-7-1 14:17
zodiacg
林卯 说: 编辑器:记事本。
想象不出怎样才会和你的体验不符…呃,所以说你是否理解有差异?
在两行的制表符前的内容长度差异过大的情况下,一个制表符是不足以对齐的。此时需要输入多个制表符来找到与上一行的制表符相近的位置。
那么就有“一个制表符最长对齐多少个字符”的问题。这个设置是会根据编辑器环境而变化的。
制表符最大的问题是跨平台跨编辑器的显示效果。如果总在一个编辑器下进行输入操作,当然不会遇到这些问题。
#3-10 - 2014-7-1 14:17
ouoω
林卯 说: 这个我懂,所以我在#3-1提出一个条件是忽略疏密。如果设得太短确实可能导致虚拟的格子合并。但放在开头就没这情况…
"如果设得太短确实可能导致虚拟的格子合并"的另一个表达:

"只当tab长度合适时才恰好显示不错误"
#3-11 - 2014-7-1 14:39
林卯
mono 说: 统一理解太麻烦了
你传个在记事本正常显示的表格上来, 我截一个在其他编辑器显示错误的图可不可以
临开工了回复下。
我是问你理解没你也不说,产生了什么误会你负责好了。

关于你第二个,你都不设置条件的?要是截不出显示错误的图,难道你要直播吃翔?
我手机没键盘和记事本,拿文字表述好了:
1制表符2回车
3制表符4
以上应该显示为一个2×2的虚拟表格,前提条件为编辑器默认设置。
#3-12 - 2014-7-1 14:52
ouoω
林卯 说: 临开工了回复下。
我是问你理解没你也不说,产生了什么误会你负责好了。

关于你第二个,你都不设置条件的?要是截不出显示错误的图,难道你要直播吃翔?
我手机没键盘和记事本,拿文字表述好了:1制表符2回车...
所以你的理论只适合于等宽cell?
#3-13 - 2014-7-1 20:09
林卯
mono 说: 所以你的理论只适合于等宽cell?
呃,你的这个结论是如何推导的?(我假设你没有在抬杠)
#3-14 - 2014-7-1 20:11
林卯
zodiacg 说: 在两行的制表符前的内容长度差异过大的情况下,一个制表符是不足以对齐的。此时需要输入多个制表符来找到与上一行的制表符相近的位置。
那么就有“一个制表符最长对齐多少个字符”的问题。这个设置是会根据编辑器环...
同意你的看法,同时请看下#15。
#3-15 - 2014-7-1 20:51
ouoω
林卯 说: 呃,你的这个结论是如何推导的?(我假设你没有在抬杠)
用tab排不等宽cell的后果就是#10啊
#3-16 - 2014-7-1 21:42
林卯
mono 说: 用tab排不等宽cell的后果就是#10啊
你也没设定不等宽的程度。要是我上面的举例把1换成11呢?
#4 - 2014-7-1 13:53
简单的问题被说复杂了
btw 我认为把国人的国去掉比较好
#4-1 - 2014-7-1 13:57
林卯
  • 简单的说法是…?
  • 我不知道国外是怎么称呼的,不敢放全球地图炮…
  • #5 - 2014-7-1 13:57
    tab确实可能会方便读(空格就不行?),但是不方便改。例如混合着tab和空格的文件列编辑。

    另外tab或空格对程序运行没有任何影响,完全是个人行为。没有讨论的必要。
    #5-1 - 2014-7-1 14:05
    林卯
    关于你的第二行,我感觉楼下可能会有人列出那个只能用空格、tab符、回车符这3个符号的语言。
    #5-2 - 2014-7-1 14:15
    jasonz
    林卯 说: 关于你的第二行,我感觉楼下可能会有人列出那个只能用空格、tab符、回车符这3个符号的语言。
    好吧,发现了。。过于绝对了。。
    #5-3 - 2014-7-1 23:35
    Henry Hu
    这种时候就该把python拉出来打一顿……
    #5-4 - 2014-7-4 15:44
    fancl20
    你把所有用缩进表示代码块的语言都一棒子打死了
    #6 - 2014-7-1 14:24
    (✨️VIP 8✨️)
    (两点半了,我先离开,各位继续讨论~)
    #6-1 - 2014-7-1 14:24
    ouoω
    站住! 挖了坑就想走!
    #6-2 - 2014-7-1 14:31
    林卯
    mono 说: 站住! 挖了坑就想走!
    我得工作了。
    你现在没工作吗?
    #7 - 2014-7-1 14:41
    (bgm38) 我觉得 tab 是跨平台的噩梦
    #8 - 2014-7-1 16:01
    (2011 冬、始)
    这问题有讨论的价值?
    #8-1 - 2014-7-1 20:07
    林卯
    (见#15)
    #8-2 - 2014-7-1 21:14
    ks.magi
    林卯 说: (见#15)
    同时说到<TAB><SPACE>还在技术宅小组...被歪楼我只能喜闻乐见......
    不过为什么会发着贴啊、我不能理解
    #8-3 - 2014-7-1 21:29
    林卯
    yukixz 说: 同时说到<TAB><SPACE>还在技术宅小组...被歪楼我只能喜闻乐见......
    不过为什么会发着贴啊、我不能理解
    其实没关系,我看你们讨论挺有趣的。
    #9 - 2014-7-1 16:10
    只要不混用,用哪个都行,挖坑前订好就行

    谁不守规矩混用的吃我大雕(bgm52)
    #10 - 2014-7-1 17:06
    我觉得这个问题没什么好讨论的,因为首先 lz 的大前提就大错特错了……
    Tab 符是有对齐到多少长度的,而且这个长度随平台、编辑器、设置的不同而不同,并不是无限对齐的。其次 Tab 根本不能满足所有的对齐需求。

    对于第一点,这个很多人说过了,比如说我们代码中有这么个例子:

            ROUTER                        (10, error_router),
            VERSION                        (11, error_version),
            UNINITIALIZED        (12, error_uninitialized),

    在我的编辑器里,Tab 是对齐到4字符,因此每一行的各列是对齐的。但是在显示 patch 的时候,默认 Tab 对齐到8字符,看过去就歪到不知道哪里去了。

    对于第二点,简单地来说,有这么一个例子,Mozilla 代码中要求函数参数在分列多行时与首行的括号对齐,这个事情就是 Tab 根本不可能做到的:

    SomeFunction(ArgumentsA, ArgumentsB,
                 ArgumentsC, ArgumentsD);


    综上,将空格用于对齐有用 Tab 对齐远远无法比拟的一致性和灵活性,在绝大多数项目中应为首选。如果要使用 Tab 作为对齐,首先你不能掺杂类似第二个例子里那种灵活的对齐方式,而且要在项目里显式地规定 Tab 的对齐宽度。

    我所知道的最有名的使用 Tab 做对齐的项目就是 Linux kernel 了,这个项目里显式地规定了 Tab 是对齐到8空格。即使这样,在有函数调用换行这种情况的时候,依然会变得很纠结。这个时候有的人会只用一个 Tab 增加一层缩进,有的人试图添加多个 Tab 以尽量实现对齐,还有的人会混合 Tab 和空格以实现精确对齐。这三种情况甚至可以同时出现在同一个文件里,例如这个文件
    #10-1 - 2014-7-1 17:19
    upsuper
    而且在一个功能正常的编辑器里面,按下 Tab 产生需要数量的对齐用空格根本不费吹灰之力,如果你的编辑器不能做到,只能说明一件事——你应该换一个编辑器,而不是在这里写东西力挺 Tab。
    #10-2 - 2014-7-1 17:33
    CMK
    确实如此,要对齐的话只有空格了麻~
    #10-3 - 2014-7-1 20:02
    林卯
    那么,我#1里表达出与编程相关的意思了吗?
    ξ =_,=)?
    我只是在讨论字符而已。
    #10-4 - 2014-7-1 21:30
    CMK
    林卯 说: 那么,我#1里表达出与编程相关的意思了吗?
    ξ =_,=)?
    我只是在讨论字符而已。
    喔,如果说制表符算是字符的话,感觉怪怪的。

    (实话说制表符只有在 word、pages 里面才有意义吧,不然只是空格的感觉;而且呀,明明方向键就可以左右导航,TAB 键完全可以无视掉,说起来插入 TAB stop 的时候也只是鼠标点一下标尺嘛。TAB 和制表符的关联真的好牵强啊。)

    最后,该祝贺楼歪掉了么(ノ_<)

    *    *     *     *     补    *    *     *     *
    难道真的有人用 tab 来制表嘛?尤其是在记事本里面0.0

    咕,个人推测 TAB 键制表应该是旧时打字机的功能吧(大概
    #10-5 - 2014-7-1 21:46
    林卯
    MainasuK 说: 喔,如果说制表符算是字符的话,感觉怪怪的。

    (实话说制表符只有在 word、pages 里面才有意义吧,不然只是空格的感觉;而且呀,明明方向键就可以左右导航,TAB 键完全可以无视掉,说起来插入 T...
  • 没错,是个字符。还有反向排序的空白字符、横断别的字符的字符…
  • (我!见#15-3)
  • #10-6 - 2014-7-4 01:22
    ζ*'ヮ')ζ 讀者諸孃へ
    说实话我觉得Tab对不齐是编辑器该负责的问题。现在普遍用空格代替tab只能说是当前环境下的一种比较丑陋的妥协方案,或者说叫hack。

    另外定义Tab宽度同样也不是正确的思路,正确的思路应该是事先规定好显示区域中各制表位的绝对或相对位置才对,因为tab的意思是跳到下一个制表位,而不是楼主所说的”距离“,或者说接近于html中的<td>标签而不是LaTeX中的\quad命令。规定tab的宽度就跟规定换行符的行距一样荒谬……

    另外我觉得这贴主要还是楼主的设计师思维跟一大群程序员的思维相冲突的结果。楼主发帖时心里想的是“纯文本的排版”,程序员们心里想的则是“代码的缩进”,两者在思路上是相当不一样的。

    @林卯
    #10-7 - 2014-7-4 07:55
    upsuper
    说: 说实话我觉得Tab对不齐是编辑器该负责的问题。现在普遍用空格代替tab只能说是当前环境下的一种比较丑陋的妥协方案,或者说叫hack。

    另外定义Tab宽度同样也不是正确的思路,正确的思路应该是事先规定...
    请你回到现实,现实中没几个编辑器支持你的想法,最多给你一个选项 tab 对齐到几个字符宽度,而正是这个选项的存在让 tab 的跨平台一致性烂到家了。而楼主用的记事本离你的期望更远,它甚至都不能调这个宽度,如果存在超宽的格子,不得不用多个 tab。
    纯文本的排版与代码排版没有本质差别,代码就是一种纯文本,而且可能是目前有最多实践的纯文本排版内容。而排版不存在所谓完美,它永远是对不同方面进行权衡之后的一种妥协。
    当然,设计师不用顾虑跟别人的交流,他写的东西在别人的编辑器上看来是怎么样都无所谓,所以才会理所当然地说出这种话。
    最后,我查到2006年有人发明了弹性 tab,这几乎就是你所想要的东西了,当然发明者也是为了排版代码,而且似乎至今也没有被广泛使用。
    #10-8 - 2014-7-4 08:58
    ζ*'ヮ')ζ 讀者諸孃へ
    upsuper 说: 请你回到现实,现实中没几个编辑器支持你的想法,最多给你一个选项 tab 对齐到几个字符宽度,而正是这个选项的存在让 tab 的跨平台一致性烂到家了。而楼主用的记事本离你的期望更远,它甚至都不能调这个宽...
    你看,你说的是现状,而我说的是理想状况。

    弹性tab这个很不错,正是我想要的。不过这也不能叫“发明”,只不过是总算是把tab键本该有的功能终于实现出来了而已。

    顺便我不是程序员,也同样不是设计师,所以跟楼主也不完全是一路人。在我心目中,tab固然是一个ASCII控制字符,但首先更是这个东西:
    http://typewriter.boardhost.com/viewtopic.php?id=246
    这清楚地说明了我觉得给tab指定固定长度很荒谬的原因……
    #10-9 - 2014-7-4 09:03
    upsuper
    说: 你看,你说的是现状,而我说的是理想状况。

    喔,弹性tab这个很不错,正是我想要的。不过这也不能叫“发明”,只不过是总算是把tab键本该有的功能终于实现出来了而已。

    顺便我不是程序员,也同样不是设计...
    所以结论是 tab 理论上或许很好,但是,不要用。
    #10-10 - 2014-7-4 13:31
    林卯
    说: 说实话我觉得Tab对不齐是编辑器该负责的问题。现在普遍用空格代替tab只能说是当前环境下的一种比较丑陋的妥协方案,或者说叫hack。

    另外定义Tab宽度同样也不是正确的思路,正确的思路应该是事先规定...
    你扩展了我想说的ξ =◡=)
    #10-11 - 2014-7-4 13:41
    林卯
    upsuper 说: 所以结论是 tab 理论上或许很好,但是,不要用。
    我还在下面提议建立“编程符”概念…于是也只能接受现实了?
    我内心还是觉得空格有其意义,不是用于定距的(Unicode为各种空格规定了意义)。正如不能拿<<代替《,不能拿0代替〇。我以为用空格排版只是过渡,既然编辑器可以语法染色,那么也应该能自动按语言排版,只要指定一个“编程排版符”的话…
    #10-12 - 2014-7-4 21:41
    ζ*'ヮ')ζ 讀者諸孃へ
    林卯 说: 我还在下面提议建立“编程符”概念…于是也只能接受现实了?
    我内心还是觉得空格有其意义,不是用于定距的(Unicode为各种空格规定了意义)。正如不能拿<<代替《,不能拿0代替〇。我以为用空格排版只是过...
    其实我还是习惯于回到机械时代来考虑问题。“空格”这个东西同样也是打字机的产物。我认为打字机其实就是一种简易印刷机,为了使用的方便牺牲了很多铅字印刷机该有的功能,因为这个原因,打字机本身就是一种充满着hack的东西,比如说英文里各种长度的短横线都统统合并到一个键上了,各种空格也是一样。而现在的ASCII空格字符正是打字机多功能空格键的直接继承者。所以我有这样几点基本的想法:

    □ 数字时代里,只记录字符编码的纯文本对应打字机,而各种排版用标记语言对应活字印刷机;
    □ 打字机的功能毕竟不全面,审美上讲打字机打出来的东西一定不如印刷机印出来的东西,所以但凡有条件改用印刷机的情况下最好还是改用印刷机。但毕竟印刷机不是任何时候都方便用,所以打字机还是需要的;
    □ 打字机代表了一种最低限度的排版需求,数字时代中如果连打字机的功能都实现不了,那就有点可耻了。所以说就连打字机好歹也提供了位置可调的制表位的功能,现代的一些电脑软件至今还都把tab理解成一个固定宽度,这就只能说是太不讲究了。

    顺便我又想到了一个比tab更加没意义的东西:退格。这玩意在打字机上是根本没有擦除前一个字符的功能的,所以纯粹从美学上讲我觉得各种文本编辑器应该提供一个退格键只移动光标不删除字符的选项,然后配合覆写模式就可以很大程度上还原打字机的使用体验。只不过这样做实在是一点意义都没有就是了= =

    又及,我刚刚发现Windows自带的写字板也是有制表位功能的,先用记事本随便弄一个用tab分割的txt文件,然后用写字板打开,全选,双击标尺创建制表位……效果非常好。
    #10-13 - 2014-7-4 22:06
    ζ*'ヮ')ζ 讀者諸孃へ
    upsuper 说: 请你回到现实,现实中没几个编辑器支持你的想法,最多给你一个选项 tab 对齐到几个字符宽度,而正是这个选项的存在让 tab 的跨平台一致性烂到家了。而楼主用的记事本离你的期望更远,它甚至都不能调这个宽...
    话说我刚刚才发现原来Windows写字板就有我所说的自定义制表位的功能……先用记事本随便弄一个用tab分割的txt文件,然后用写字板打开,全选,双击标尺创建制表位,效果棒极了。
    #10-14 - 2014-7-4 22:07
    upsuper
    说: 话说我刚刚才发现原来Windows写字板就有我所说的自定义制表位的功能……先用记事本随便弄一个用tab分割的txt文件,然后用写字板打开,全选,双击标尺创建制表位,效果棒极了。
    那就不是纯文本了……如果纯文本保存的话这种效果每次还要重新调……
    #10-15 - 2014-7-4 22:24
    ζ*'ヮ')ζ 讀者諸孃へ
    upsuper 说: 那就不是纯文本了……如果纯文本保存的话这种效果每次还要重新调……
    这正是我原本的意思……纯文本里只保留标记信息,具体怎么展现这些标记由编辑器来负责。当然我承认这样在理论上讲十分美妙,但在没有一个大家共同接受的标准的情形下的确反而会引起混乱。
    #10-16 - 2014-7-4 23:01
    林卯
    upsuper 说: 那就不是纯文本了……如果纯文本保存的话这种效果每次还要重新调……
    (这是假想可不看)如果设定为功能符也就纯文本了。Unicode还有很多问题(比如全角中点问题、向前兼容)和不少保留空间,我感觉可以等——算了。
    #11 - 2014-7-1 17:07
    (No Music, No Life)
    所以说是制表符啦~~
    http://practicaltypography.com/tabs-and-tab-stops.html

    要说编程的话,IDE 直接生成空格不是很方便,完全不用担心空格的问题(bgm37)
    #12 - 2014-7-1 18:06
    (不易相处)
    怎么又吵起来了(bgm38)你们这群设计师都是重度强迫症(bgm07)
    #12-1 - 2014-7-1 18:36
    ouoω
    说明工作不饱和(bgm38)
    #13 - 2014-7-1 18:42
    在win下用sublime text 在linux下用vim的表示从来都是直接设置的tab=4和expandtab(bgm38)
    #14 - 2014-7-1 19:13
    (愛讀者諸孃は御賛成下さいまし)
    什么tab空格都是邪道啦,强迫症就应该老老实实用^I(bgm36)
    #15 - 2014-7-1 20:05
    (✨️VIP 8✨️)
    《记一次成功的歪楼》
    我#1无论内容还是标题都与编程语言没有直接联系。
    我只是喜欢研究字符(例子很多,我以前讨论过不少次,比如最近一次 http://bgm.tv/group/topic/32793),而赋予特殊功能的字符当然值得一提。
    我其实不知道你们在战什么,不过随你们高兴吧ξ =_,=)
    #15-1 - 2014-7-1 20:58
    zodiacg
    当把tab/制表符和空格放到一起讲的时候很容易把话题延伸到编程上去。
    考虑到现在还在使用纯文本做“排版”工作的几乎没有,事实上这两者在编程方面的应用也是最具现实意义和讨论价值的。
    我是先看到Node.js那楼的回复提示,再回到主页才看到这个帖子。结合主楼强调tab和空格的关系,我自然猜测是LZ对前一个帖子“tab(制表符)党”、“空格党”有所误解,所以讨论也就一直集中于编程方面。
    其实node.js那帖子说到这个话题才是歪楼啊(bgm38)
    #15-2 - 2014-7-1 21:12
    ouoω
    "产生一段与楼上tab符对齐的空间"这理解有问题

    假设tab对齐宽度为N
    一个tab符使光标前进到下一个(列=k*N)的位置, 这个行为是每行独立的  没有look behind去看"楼上tab符"这一说

    如果某个tab排的表格在某编辑器中显示正常  在N值不同的编辑器中就可能显示不正常
    把tab用于代码缩进会类似地造成错位 如#10

    综上  用tab排表格或代码不适合有大量编辑器和便宜存储的现代
    #15-3 - 2014-7-1 21:39
    林卯
    zodiacg 说: 当把tab/制表符和空格放到一起讲的时候很容易把话题延伸到编程上去。
    考虑到现在还在使用纯文本做“排版”工作的几乎没有,事实上这两者在编程方面的应用也是最具现实意义和讨论价值的。
    我是先看到Node....
    实际上我最初是发现有个纯文本表格文件格式(.csv?)的一种类型就是用制表符分隔的。此后,我写txt突然要插入表格时也会这样用。
    至于编程,有没有可能出现一种“编程符”?
    #15-4 - 2014-7-1 21:53
    林卯
    mono 说: "产生一段与楼上tab符对齐的空间"这理解有问题

    假设tab对齐宽度为N
    一个tab符使光标前进到下一个(列=k*N)的位置, 这个行为是每行独立的&nbsp;&nbsp;没有look behind...
    你这不是能看懂关键部分嘛,而且充分理解了我说的“距离”。呃,原来你是没看懂我在打比方么?
    其实我特别想提一件事,你有没有看过这篇文:hthttp://bgm.tv/group/topic/21306
    #15-5 - 2014-7-1 22:51
    zodiacg
    林卯 说: 实际上我最初是发现有个纯文本表格文件格式(.csv?)的一种类型就是用制表符分隔的。此后,我写txt突然要插入表格时也会这样用。
    至于编程,有没有可能出现一种“编程符”?
    csv用制表符分割真心不是好选择……可读性太差。如果用excel之类的打开看,又不如干脆用excel的格式了。
    纯文本里插表格,利用制表符对齐是没错。但是现在很少有人用了。倒是Markdown之类的语法里面,用传统纯文本画表格的方式来生成表格,但是我印象中它也不强调对齐(视觉上的对齐对解析程序而言也没什么意义)。
    如果你只用单一编辑器的话,可能对你来说无所谓,制表符用起来还方便。我个人是比较推荐用严格等宽字体(汉字宽度正好是两个英文的)然后用空格来控制对齐的,可移植性比较强。
    #15-6 - 2014-7-1 22:58
    upsuper
    如 zodiacg 所说,既然你想说纯文本排版,实际上我在 #10 说的那两点依然还是存在的,用空格来做纯文本排版无论是灵活性还是兼容性都要远好于 Tab,你会觉得 Tab 好用根本只是因为你用的工具太烂而不是 Tab 真的有多好
    #15-7 - 2014-7-2 00:23
    林卯
    upsuper 说: 如 zodiacg 所说,既然你想说纯文本排版,实际上我在 #10 说的那两点依然还是存在的,用空格来做纯文本排版无论是灵活性还是兼容性都要远好于 Tab,你会觉得 Tab 好用根本只是因为你用的工具...
    还有比记事本快的工具吗。灵感瞬息即逝。
    #15-8 - 2014-7-2 00:27
    林卯
    zodiacg 说: csv用制表符分割真心不是好选择……可读性太差。如果用excel之类的打开看,又不如干脆用excel的格式了。
    纯文本里插表格,利用制表符对齐是没错。但是现在很少有人用了。倒是Markdown之类的语...
    我记录时是等不及排版的…
    而等做完了要整理时又会弄到富文本去…
    #15-9 - 2014-7-2 06:56
    ouoω
    林卯 说: 你这不是能看懂关键部分嘛,而且充分理解了我说的“距离”。呃,原来你是没看懂我在打比方么?
    其实我特别想提一件事,你有没有看过这篇文:hthttp://bangumi.tv/group/topic/21...
    写英文怎了? 别转进好吗
    #15-10 - 2014-7-2 12:37
    林卯
    mono 说: 写英文怎了? 别转进好吗
    你以为我在转进?我就是要特地提这件事。“写英文怎了?”你写的就不是英文好吧。至于你写的算是什么那段节选写得很清楚。
    何况插的单词要是高端些我还没什么意见,顶多让你翻译下,你插的简直图森破(太简单),我可以认为是故意的。
    #15-11 - 2014-7-2 13:05
    ouoω
    林卯 说: 你以为我在转进?我就是要特地提这件事。“写英文怎了?”你写的就不是英文好吧。至于你写的算是什么那段节选写得很清楚。
    何况插的单词要是高端些我还没什么意见,顶多让你翻译下,你插的简直图森破(太简单),我...
    写tab好高端呀
    #15-12 - 2014-7-2 13:13
    林卯
    mono 说: 写tab好高端呀
    没看#1?
    #15-13 - 2014-7-2 13:19
    ouoω
    林卯 说: 没看#1?
    我不看编译原理课本也不记得lookbehind中文叫啥
    那又怎样
    你写得别人写不得?
    #15-14 - 2014-7-2 18:44
    林卯
    mono 说: 我不看编译原理课本也不记得lookbehind中文叫啥
    那又怎样
    你写得别人写不得?
    老实说你这个回复糟点比较明显,我下意识就想到3种对应,想不出用哪个比较好,你随便挑一个回吧:

  • 你的智力应该是不低的,可能是理解能力哪里不对,平时你周围人有抱怨过你不能理解他们的意思吗。我已经分不清你是抬杠还是真不理解。

  • 你真心认为你的行为和我的是一回事吗?我是觉得你已经理解了钱钟书那篇,但为了抬杠还是装作不理解。别这样,来点建设性的回复吧。

  • #15-12我回复得比较简略,全文是“你有没有看到#1我自己就翻译了ξ =_,=)”,你再想想怎么回我。
  • #15-15 - 2014-7-2 18:46
    zodiacg
    林卯 说: 还有比记事本好快的工具吗。灵感瞬息即逝。
    我非常想推荐org-mode……在“有逻辑地组织纯文本内容”这件事情上恐怕难有与之比肩的工具。不过org-mode是emacs的一个模式,而我是vim党(bgm38)也确实是不习惯emacs的快捷键的操作方式。习惯了用org-mode记录之后甚至不需要二次整理(印象中它的作者就是为了这个目的而设计的org-mode)。
    #15-16 - 2014-7-2 18:50
    林卯
    zodiacg 说: 我非常想推荐org-mode……在“有逻辑地组织纯文本内容”这件事情上恐怕难有与之比肩的工具。不过org-mode是emacs的一个模式,而我是vim党也确实是不习惯emacs的快捷键的操作方式。习惯...
    快是指启动。
    不过我自己其实已经有个专门软件用于记录灵感了。

    我对“甚至不需要二次整理”感兴趣…可惜现在是手机…
    #15-17 - 2014-7-3 13:24
    ouoω
    林卯 说: 老实说你这个回复糟点比较明显,我下意识就想到3种对应,想不出用哪个比较好,你随便挑一个回吧:

    你的智力应该是不低的,可能是理解能力哪里不对,平时你周围人有抱怨过你不能理解他们的意思吗。我已经分不清你...
    这帖子又不是我一个人在抽你
    你算个卵  醒醒再回我
    #15-18 - 2014-7-3 23:02
    林卯
    mono 说: 这帖子又不是我一个人在抽你
    你算个卵  醒醒再回我
    你这精神胜利真有意思。爆粗我就不回了,我不会爆粗,见谅。
    还有你必须把你在上面插的所有英文词像我一样都翻译一遍,太“高端”了看不懂。
    #15-19 - 2014-7-4 02:07
    ζ*'ヮ')ζ 讀者諸孃へ
    zodiacg 说: 当把tab/制表符和空格放到一起讲的时候很容易把话题延伸到编程上去。
    考虑到现在还在使用纯文本做“排版”工作的几乎没有,事实上这两者在编程方面的应用也是最具现实意义和讨论价值的。
    我是先看到Node....
    我感觉楼主总是想要用纯文本来实现排版效果。这种想法在技术上其实是可行的,而且早年的ASCII可能也的确是有点这种思路来做的意思。但不幸的是后来字符集并没有按这个方向去发展了,而是把排版工作交给了各种标记语言去实现,字符集则专心负责做“真正的字符”了。现在的那些控制字符只能说是早年的残余而已。标记语言能做的事比全靠各种控制字符多多了。所以我本质上是不大同意楼主的思路的。

    但事情并不是这样简单。

    我之前说用什么tab,应该用^I才对也不完全是开玩笑,因为这实际上就是一切标记语言的思路,亦即用真实的字符来表示控制字符。但这总归还是玩笑话,因为这里边有一个“元(meta)排版”的问题,就算是标记语言的代码本身也是要排版的,即便某种标记语言里用^I来代替tab,那写这种标记语言的时候也还是要排版的。所以在这个意义上字符集内又不能不包含有最基本最不可缺少的排版用控制符,这其中就包括换行、制表这些最基础性的控制符,可以把它们称作是“元控制符”。除了这些元控制符以外的排版控制都应当交给标记语言来做,这已经不是字符集该负责的事了。
    #15-20 - 2014-7-4 07:58
    upsuper
    林卯 说: 还有比记事本好快的工具吗。灵感瞬息即逝。
    你换个 ssd 开 word 都飞快
    #15-21 - 2014-7-4 09:37
    ouoω
    林卯 说: 你这精神胜利真有意思。爆粗我就不回了,我不会爆粗,见谅。
    还有你必须把你在上面插的所有英文词像我一样都翻译一遍,太“高端”了看不懂。
    那是那是  直播吃翔一点都不粗

    写个英文术语多大罪  好像写中文你就懂一样
    看不懂怪我咯? 抽个人还要从上下文无关开始普及?
    #15-22 - 2014-7-4 10:06
    mono 说: 那是那是&nbsp;&nbsp;直播吃翔一点都不粗

    写个英文术语多大罪&nbsp;&nbsp;好像写中文你就懂一样
    看不懂怪我咯? 抽个人还要从上下文无关开始普及?
    看到这里,明显这栋楼只有你一个人战意盎然,真看不懂,你这些回复除了引战还能图什么呢?讲道理?#15-19不知比你高到哪里去。
    就算夏天头脑不至于热成这样,戾气太重的话买碗龟苓膏消消火吧。(一击脱离)
    #15-23 - 2014-7-4 10:09
    ouoω
    说: 看到这里,明显这栋楼只有你一个人战意盎然,真看不懂,你这些回复除了引战还能图什么呢?讲道理?#15-19不知比你高到哪里去。
    就算夏天头脑不至于热成这样,戾气太重的话买碗龟苓膏消消火吧。(一击脱离)
    直播吃翔是那货讲的 我只是引用

    我确实最近闲  工作不饱和
    #15-24 - 2014-7-4 13:45
    林卯
    说: 我感觉楼主总是想要用纯文本来实现排版效果。这种想法在技术上其实是可行的,而且早年的ASCII可能也的确是有点这种思路来做的意思。但不幸的是后来字符集并没有按这个方向去发展了,而是把排版工作交给了各种标...
    感觉我成功地抛砖引玉了,改下标题。我发的#10-11与你所说有些接近。
    #15-25 - 2014-7-4 14:02
    林卯
    upsuper 说: 你换个 ssd 开 word 都飞快
    那么你肯定能预计到我的回复是 ssd 开记事本更快…
    不过认真考虑的话,
    我现在用的老笔记本电脑可能没有搭配的 ssd;
    ssd 我这山沟里找不到卖;
    最不重要的一点是,我从未在我的电脑上装word,而且已经几年没用过了。

    其实能近乎瞬间打开不用等几秒的就可以,而比记事本丰富些的记事工具我已经装备所以没什么需求了。
    #15-26 - 2014-7-4 14:20
    林卯
    mono 说: 那是那是&nbsp;&nbsp;直播吃翔一点都不粗

    写个英文术语多大罪&nbsp;&nbsp;好像写中文你就懂一样
    看不懂怪我咯? 抽个人还要从上下文无关开始普及?
    我还是有多种方式回复你,不过这次你不用挑了:

  • 我看不懂?我看是你不懂自己写的什么不敢翻译吧,别给我下结论。你的翻译能力行不行?
    他并无中文难达的新意,需要借英文来讲
    就这段话你还能装傻多久。

  • 我早就问过你这货是理解能力不行还是装不懂(#15-14),你肯定懂直播吃翔这个b站赌哏吧?就算你没上过b站,从字面理解,我是什么意思,你是什么意思,是一个等级的吗?

  • 其实都能看出你战意盎然,你的回复缺乏建设性(#15-14),缺乏交流意愿。显然,你在回复这个帖的人群中表现得最差。

    如果你想战也无妨,我发帖总是有备而来(你看见我经常引用自己先前的发言没?我早就预计了这类人*的回应模式,先放着供我引用),就等你上套的。反而是认真而不空洞的回复没有定式就不会上套。

    *注:没研究过你的模式,但S1好战到都不知道自己回复的是什么的人特别多,容易积累样本研究。你是哪个类型会怎样回复可以被大致预计。你要是继续无脑抬杠下去,我都可以只用楼层编号回了ξ =_,=)
  • #15-27 - 2014-7-4 15:35
    ouoω
    林卯 说: 我还是有多种方式回复你,不过这次你不用挑了:

    我看不懂?我看是你不懂自己写的什么不敢翻译吧,别给我下结论。你的翻译能力行不行?他并无中文难达的新意,需要借英文来讲就这段话你还能装傻多久。

    我早就问...
    我土人  不懂梗
    吃翔这个词这么高雅   你说不一等级就不一等级?
    你还能自我感觉良好多久
    #15-28 - 2014-7-4 20:18
    林卯
    mono 说: 我土人&nbsp;&nbsp;不懂梗
    吃翔这个词这么高雅&nbsp; &nbsp;你说不一等级就不一等级?
    你还能自我感觉良好多久
    (看来你是挑了自以为对自己有利的来回复啊,那么我就来打破你这良好的自我感觉吧:我不是告诉你我肯定有下套吗,你这个还是不止一种回复)

  • 你不懂我可以教你啊,你不说我怎么知道你不懂呢,你要不要我教你啊?算了我教你吧:百度一下你就知道。百度过了吗?现在知道是哏了吗?…

  • 玩语文游戏就免了,这方面是我擅长的领域。我就料到你会省略“直播”,为什么我能料到,是因为我知道你清楚“直播+XX”这个构词就不构成粗话。…
    …“你妹”在什么情况下算爆粗?“草泥马”在什么情况下不算爆粗?看上下文。…
    …你卵的上下文又是什么?要不要我帮你回忆…

  • 就一个问题:假设你没上过b站,你怎么理解“直播”?(这个回复需要等回应然后才能畅谈构词,不痛快)

    手机打字不便,就写个大纲,你自己这么聪明一定可以补完的。
    ——然后,你再想想,帮我顶帖你获得了什么,你创造了什么价值。你看看别人的回复(和我对别人的回复),你觉得你回复的是什么。
  • #15-29 - 2014-7-4 20:51
    ouoω
    林卯 说: (看来你是挑了自以为对自己有利的来回复啊,那么我就来打破你这良好的自我感觉吧:我不是告诉你我肯定有下套吗,你这个还是不止一种回复)

    你不懂我可以教你啊,你不说我怎么知道你不懂呢,你要不要我教你啊?算...
    为什么你会觉得别人应该清楚你那个小世界的梗
    还不算粗话  你直播一个吃翔我就同意不算粗话
    #15-30 - 2014-7-4 23:11
    林卯
    mono 说: 为什么你会觉得别人应该清楚你那个小世界的梗
    还不算粗话&nbsp;&nbsp;你直播一个吃翔我就同意不算粗话
    关于你这个问题,我在#15-28已回复,不想再重复一遍。你现在不是没事干吗,认真多读两遍想清楚再回,别急,我给你一次重新回复的机会。
    我正在拜读#10-12(手机上看,好长啊)及以下的回复,你还没事干可以看看别人的回复,学学怎么回帖。
    我早在#15-26说过,你要是继续这样我都可以只用楼层编号回你ξ =_,=)。快了。
    #15-31 - 2014-7-4 23:17
    ouoω
    林卯 说: 关于你这个问题,我在#15-28已回复,不想再重复一遍。你现在不是没事干吗,认真多读两遍想清楚再回,别急,我给你一次重新回复的机会。
    我正在拜读#10-12(手机上看,好长啊)及以下的回复,你还没事干...
    你继续装
    #15-32 - 2014-7-5 06:20
    c933103
    mono 说: 你继续装
    為什麼這個世界總有這些這麼典型中國人的人…
    #15-33 - 2014-7-5 09:57
    mono 说: 直播吃翔是那货讲的 我只是引用
    我确实最近闲  工作不饱和
    我又没当作是你说的。你在这话之前就开始引战了。
    这话不就是个玩笑梗吗战嘛呢,宅一些的贴吧都能看到。又不是“你吃翔去吧”鸡冻啥。
    何况现在都是你单方面送脸下乡这戏也不好看呀。
    #15-34 - 2014-7-5 14:01
    林卯
    mono 说: 你继续装
    昨天就看到你回复了,但没点通知,因为你回复太快肯定没细看就回,不用点就知道是什么。今天看到别人回复才进来,不出所料——
    你没细看。
    以下自选:

  • 装啥?
    问题模糊且意在挑衅就无需回答,用最简问句迫使mono重新精确化所问。但不用期待mono会精确问题。

  • 重看#15-28之答复2、答复3,自行掌嘴。我给你第3次修改回复的机会。
    不必指望mono重看了,不说mono看不看,mono根本没有建设话题的意愿,即不会细看就会回复,因此只管质疑mono的理解能力即可,恭喜获得一枚顶帖机。


    还记得上面我说你好聪明所以一定能看懂吗,那些是反讽,我对你的智商没有那种期待。所以这次直接把问题的隐藏目的用灰字写明,如果还看不懂你就当我的顶帖机吧。
  • #16 - 2014-7-4 21:37
    这楼都歪到哪儿去了...
    #16-1 - 2014-7-4 23:02
    林卯
    还好又正回来了。比如#10-12等等。