Extends and Precedes are used when you don't have line wrapping on, to show that there is more text to the left or right of the line.
In a wide window, I might have
|This is a long line of text.$ |
With extends and precedes set as you have, and shrinking the terminal a lot with the cursor at the beginning of the line (and
|This is a long li>|
$ will show the precedes as expected:
|<e of text.$ |
Moving to the middle:
|<long line of tex>|
(you can read more in the documentation for listchars, see
As to seeing '>' instead of '>-' or '>---' for tabs, depending on where you are, a tab stop one character away from where the tab character is would result in a single character shown. Inserting a tab at the beginning (and wider window):
|>---This is a long line of text.$ |
|ab>-This is a long line of text.$ |
|abc>This is a long line of text.$ |
The '>' in this case always shows where the tab character is, and the '-' shows what additional columns were skipped to reach the tab stop, if any.