---input--- # Alt and arrow keys to scroll set scroll_amount 2 bind Text { %W yview scroll -$scroll_amount units %W mark set insert @0,[expr [winfo height %W] / 2] } bind Text { %W yview scroll $scroll_amount units %W mark set insert @0,[expr [winfo height %W] / 2] } ---tokens--- '#' Comment ' Alt and arrow keys to scroll\n' Comment 'set' Keyword ' ' Text.Whitespace 'scroll_amount' Text ' ' Text.Whitespace '2' Literal.Number.Integer '\n' Text 'bind' Name.Variable ' ' Text.Whitespace 'Text' Text ' ' Text.Whitespace '<' Operator 'Alt-Up' Text '>' Operator ' ' Text.Whitespace '{' Keyword '\n ' Text.Whitespace '%' Operator 'W' Name.Variable ' ' Text.Whitespace 'yview' Text ' ' Text.Whitespace 'scroll' Text ' ' Text.Whitespace '-' Operator '$scroll_amount' Name.Variable ' ' Text.Whitespace 'units' Text '\n' Text ' ' Text.Whitespace '%' Operator 'W' Name.Variable ' ' Text.Whitespace 'mark' Text ' ' Text.Whitespace 'set' Text ' ' Text.Whitespace 'insert' Text ' ' Text.Whitespace '@0,' Text '[' Keyword 'expr' Keyword ' ' Text.Whitespace '[' Keyword 'winfo' Name.Variable ' ' Text.Whitespace 'height' Text ' ' Text.Whitespace '%' Operator 'W' Text ']' Keyword ' ' Text.Whitespace '/' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ']' Keyword '\n' Text '}' Keyword '\n' Text 'bind' Name.Variable ' ' Text.Whitespace 'Text' Text ' ' Text.Whitespace '<' Operator 'Alt-Down' Text '>' Operator ' ' Text.Whitespace '{' Keyword '\n ' Text.Whitespace '%' Operator 'W' Name.Variable ' ' Text.Whitespace 'yview' Text ' ' Text.Whitespace 'scroll' Text ' ' Text.Whitespace '$scroll_amount' Name.Variable ' ' Text.Whitespace 'units' Text '\n' Text ' ' Text.Whitespace '%' Operator 'W' Name.Variable ' ' Text.Whitespace 'mark' Text ' ' Text.Whitespace 'set' Text ' ' Text.Whitespace 'insert' Text ' ' Text.Whitespace '@0,' Text '[' Keyword 'expr' Keyword ' ' Text.Whitespace '[' Keyword 'winfo' Name.Variable ' ' Text.Whitespace 'height' Text ' ' Text.Whitespace '%' Operator 'W' Text ']' Keyword ' ' Text.Whitespace '/' Operator ' ' Text.Whitespace '2' Literal.Number.Integer ']' Keyword '\n' Text '}' Keyword '\n' Text