A mark represents a floating position somewhere in the contents of a text widget.
You handle each mark by giving it a name. This name can be any string that doesn't include whitespace or periods.
There are two special marks.
INSERT
is the current position
of the insertion cursor, and
CURRENT
is the position
closest to the mouse cursor.
Marks float along with the adjacent content. If you modify text somewhere away from a mark, the mark stays at the same position relative to its immediate neighbors.
Marks have a property called
gravity that controls what
happens when you insert text at a mark. The default
gravity is RIGHT
, which means
that when new text is inserted at that mark, the mark
stays after the end of the new text. If you set the
gravity of a mark to LEFT
(using the text widget's
.mark_gravity()
method), the
mark will stay at a position just before text newly
inserted at that mark.
Deleting the text all around a mark does not
remove the mark. If you want to remove a mark, use
the .mark_unset()
method on
the text widget.
Refer to Section 17.7, “Methods on Text
widgets”, below, to
see how to use marks.