|
ShortTalk: Dictation Made Rewarding
There are myriads of editing situations that must be
solvable in an efficient manner. We give a few samples below.
You may notice that ShortTalk is probably faster, even much
faster, than your current editor for solving most of these
problems.
Fix spacing and capitalization before a “.”—don't
loose cursor
A common situation: everything we said
to the speech recognizer was taken down correctly, except
for a little spacing or capitalization problem.
Before
the most we had.we helped it going |
After
the most we had. We helped it going |
ShortTalk solution (1.0s)
fix boof we helped
Explanation The “fix” action carries out this
common operation at the place indicated by the “boof” search
designator: before the earliest occurrence of “we helped”.
The action does not change the cursor position.
Delete an errant “%”—don't loose cursor
A common problem: something close to the cursor needs to
be deleted, but we don't want to lose the current cursor position.
Before
|The most...We helped% it going
After
|The most...We helped it going
ShortTalk solution (1.5s)
smack sorch per ane
Explanation
The “smack” operator deletes the text identified by the search
designator “sorch”, and “per ane” means “one percent sign”.
Concatenate letters
ShortTalk uses both positive and negative numerals to
identify text around the cursor.
Before
with A T & T |. The company
After
with AT&T |. The company
ShortTalk solution (.9s)
speece truo
Explanation “speece truo” applies the
no-space operator to the three identifiers preceding the
cursor.
Add some space around a “+”-sign
Lots of
idiomatic uses of backspace, arrow keys, and spacebar key
can be accomplished as quickly in ShortTalk as by
keyboard.
Before
z = x+y |
After
z = x + |y
ShortTalk solution (2.4s)
gloof, spooce, gloof twain, spooce, gairk
Explanation “gloof” means “press the left
arrow” and “spooce” means “press the spacebar”. The
modifier “twain” means do it twice. “gairk” takes
the cursor to mairk, which is the text anchor cast at
the beginning of the last movement command.
Capitalize inside a word and put the word in quotation
marks
Nitty-gritty manipulation of a word involving
capitalization in the middle is easily accomplished.
Before
<body class=myclass>...|
After
<body class="|myClass">
ShortTalk solution (2.9s)
go boof class, caip hare, choose word, quote pair
Explanation “go boof class” positions the
cursor before “class”, “caip hare” capitalizes,
“choose word” selects (highlights) the whole word
around cursor, and “quote pair” introduces quotation
marks around the selection.
Insert a “!” after “by far”, add “em” markup, and
put in parentheses
ShortTalk
supports sophisticated markup editing in XML.
Before
|The most challenging method by far ...
After
The most challenging method ( |<em>by far!</em>)...
ShortTalk solution (7.2s)
go aift by far, stroop, clam ane, choose ting twoon,
snex
e. m., choose term, par pair
Explanation
“go aift by far” positions the cursor after “by
far”—the word “stroop” is a neutral word that
delimits the search string; “clam ane” inserts the
exclamation mark; “choose ting twoon” selects the two
continuous pieces of characters before the cursor; “snex
e. m.” is an XML-specific command that inserts the em-tag
around the selected region; “choose term” selects the
tagged region (element); and “par pair” inserts
parentheses around the selected region.
Delete the modifier of the sentence
For much editing, the explicit identification by
mentioning the whole text range is slow. ShortTalk offers
an arsenal of structural identification concepts along with
short commands for skipping to an individual symbol.
Before
After two years, he left for Paris. |
After
He left for Paris.
ShortTalk solution (1.4s)
skoop cam, reese senten
Explanation “skoop cam” skips backwards until
before the first comma; and “reese senten” deletes
backwards to the beginning of the sentence.
Fetch a program identifier in a declaration and
insert
A text-editing idiom in programming is to reuse an
identifier or even subexpression.
Before
int StrangeFunc(int * myPtr) {
int *t, *myStrgPtr;
...
*myPtr = *|
After
int StrangeFunc(int * myPtr) {
int *t, *myStrgPtr;
...
*myPtr = * myStrgPtr|
ShortTalk solution (3.0s)
go ooft strange, skaip line, word oon, push lairk
Explanation “go ooft strange” positions the
cursor somewhere in the first line of the function
definition; “skaip line” positions the cursor at the
beginning of the next line; “word oon” positions the
cursor at the first letter of “myStrgPtr” by going
backwards; and “push lairk” pushes the identifier
“myStrgPtr” to where the excursion began. In
practice, an even faster alternative is to simply point
the mouse at the desired identifier and then issue the
ShortTalk command
grab eed
which inserts the identifier at the mouse position where
the cursor is.
|