Tabs 为什么标签在不同的文本编辑器中排列不同?

Tabs 为什么标签在不同的文本编辑器中排列不同?,tabs,formatting,text-editor,spaces,Tabs,Formatting,Text Editor,Spaces,我经常遇到一个问题,即使用选项卡排列键/值分配的源代码在不同的编辑器中显示不同 例如,Github上的和版本中的一个文件在55行显示$labels数组,间距不正确。它在记事本中也是这样的 但是,复制到Aptana或Notepad++中的同一个文件将完美地显示这些值 为什么会发生这种情况?是否可以创建文件,使其在所有编辑器中正确显示?根据您在每个编辑器中的设置,每个编辑器将使用不同数量的空格作为选项卡 有些使用2,有些使用3,有些使用4,有些使用6。通过突出显示github中的一个选项卡可以看到,

我经常遇到一个问题,即使用选项卡排列键/值分配的源代码在不同的编辑器中显示不同

例如,Github上的和版本中的一个文件在
55
行显示
$labels
数组,间距不正确。它在记事本中也是这样的

但是,复制到Aptana或Notepad++中的同一个文件将完美地显示这些值


为什么会发生这种情况?是否可以创建文件,使其在所有编辑器中正确显示?

根据您在每个编辑器中的设置,每个编辑器将使用不同数量的空格作为选项卡

有些使用2,有些使用3,有些使用4,有些使用6。通过突出显示github中的一个选项卡可以看到,该选项卡占用8个空格

这应该在编辑器中进行调整

如果在使用特定数量空格的编辑器中创建文件,并在使用不同数量空格的编辑器中查看文件,则情况会有所不同

对于是否使用空格或制表符进行缩进,一直存在争论。这是个人的偏好,但使用空格而不是制表符可以防止这个问题


您应该能够将编辑器设置为使用空格而不是制表符。

但是,无论制表符定义为2个空格、4个空格还是8个空格,仍然存在相同数量的制表符,因此我希望所有的值仍然是对齐的,唯一的区别是键和值之间有多少空格。为什么制表符的长度会导致值不再对齐?这是因为制表符不是从每行的同一列开始的。但是第一个制表符的长度总是可变的,对吗?假设制表符是8个空格,那么如果光标在直线上的位置2处,并且您点击制表符,它将是6个空格长,那么下面所有制表符都将是8个空格。如果您位于位置7,则选项卡的长度为1个空格,以下选项卡的长度为8个空格。因此,第一个选项卡总是将您带到下一个列标记。我认为在这一点上,无论标签有多长,它们都会排成一行。假设列从1开始。如果您在第3列&您使用了4个空格选项卡,&点击两次选项卡,您将进入第9列。如果您有另一行,并且位于第6列并按tab键,那么您也将位于第9列。所以这两条线会排成一行。如果您随后将编辑器切换到使用8个空格选项卡的编辑器,则第一行将有第3列中的两个选项卡,将您带到第17列,第二行仍将与第9列对齐。因此,这两条线看起来不均匀。