This script redefines the % motion so that (in addition to its usual behavior) it cycles through if/elif/else, try/except/catch, for/continue/break, and while/continue/break structures. The script also defines g% to cycle in the opposite direction. Two ot