Node:
Tabs,
Next:
Pagination,
Up:
Adjusting Output
Preserving Tab Stop Alignment
The lines of text in some of the diff
output formats are preceded
by one or two characters that indicate whether the text is inserted,
deleted, or changed. The addition of those characters can cause tabs to
move to the next tab stop, throwing off the alignment of columns in the
line. GNU diff
provides two ways to make tab-aligned columns
line up correctly.
The first way is to have diff
convert all tabs into the correct
number of spaces before outputting them; select this method with the
-t
or --expand-tabs
option. diff
assumes that
tab stops are set every 8 print columns. To use this form of output with
patch
, you must give patch
the -l
or
--ignore-white-space
option (see Changed White Space, for more
information).
The other method for making tabs line up correctly is to add a tab
character instead of a space after the indicator character at the
beginning of the line. This ensures that all following tab characters
are in the same position relative to tab stops that they were in the
original files, so that the output is aligned correctly. Its
disadvantage is that it can make long lines too long to fit on one line
of the screen or the paper. It also does not work with the unified
output format, which does not have a space character after the change
type indicator character. Select this method with the -T
or
--initial-tab
option.