The web site of Vas — 2019-09-28

Abbreviation mode: write smarter, not faster

Since the invention of the typewriter, people have had only one method to input text faster: actually typing faster. Think about how dumb this is. Your average mechanical keyboard has more transistors than supercomputers used to have, and all that we’ve managed to do with this power is making it more comfortable to press the same dumb QWERTY keys that our grandparents did. Software advancements like speech recognition are only sidestepping the problem that if you have a lot of text to type and want to do it on a keyboard, there’s very few things to help you besides your physical ability as a typist. If you’re into transcription, you’ve probably heard of stenotypes, which, with practice, will allow you to write in excess of 200 words per minute. However, stenotypes, and their software emulators, are mostly aimed at professionals in courtrooms and such, and are effectively entirely new keyboard layouts, with everything that means for computer accessibility. We’ve all heard what’s happened with the supposedly superior Colemak and Dvorak layouts; nobody actually uses them. Luckily, there is salvation: abbreviations.

Most word processors, and of course emacs, come built in with an “autocorrect” feature that changes the word you’ve just typed into something else; typically this is used because you meant to type “you” and not “yuo”. This saves you some time if you’ve made a mistake, because you don’t have to press backspace and write the word again, but if you’re accurate more often than not, this won’t help you much. It is with corrections like “i” to “I” that you’ll begin to see the usefulness; that correction, if regularly applied, will save you one keystroke every time you want to type one of the most common words of the English language.

In LibreOffice, the autocorrect options are in ToolsAutocorrectAutocorrect Options. Remember that autocorrect substitutions are per language, so your document’s language must be set to the same language. In emacs, your buffer most have abbrev-mode enabled, and then you can edit per-mode abbreviations with edit-abbrevs. If you’re going to be doing this in LibreOffice, you might also want to look into your user profile directory as outlined here so that you can backup your list of autocorrections, ideally in some sort of version control.

This is where the fun begins. Brainlets think autocorrect exists in order to fix your grandma’s bad typing habits. Big-brained Chads look up a word frequency list and assign all of the most commonly-typed words to single keystrokes. Galaxy-brained intellectuals assign abbreviations for inflections, phrases, idioms, and frequent patterns of the English language. Once you assign enough of those, you will save about 50% of your keystrokes on average; extremely efficient abbreviations like “j” for “just” save way more, but not everything is that good, and you will probably never have abbreviations for every word in the language.

Now, granted, it’s very unlikely that you’ll be doubling your typing speed. You won’t have a perfect memorisation of every word in your abbreviation list, so you will pause every now and then, and of course you will occasionally forget abbreviations. The first few days in particular, you will have a rough time, as you will be constantly adding new words to your abbreviation list. It’ll take a few days at least in order to see major benefits, so I suggest you start from abbreviating simple words like “you” or “have”, and basically any of the most frequent words of your language; this is where you will see the most immediate progress.

Although I’ve had mostly natural language prose in mind during this post, you can do the same with programming abbreviations. Easy targets are your language’s keywords and common API calls. Built-in autocompletion and other IDE goodies will suffice for most of your coding-related keystroke-saving, but nevertheless, nothing will match the speed of a single keypress, so I suggest that you assign the things of the highest importance to those.

The main benefit to all of this bullshit isn’t typing so fast you might as well be a stenographer, but typing at your usual speed, but at a much more comfortable pace, and as such being able to maintain your speed for longer time periods with reduced repetitive strain on your wrists and shoulders. If you’re already a fast typist, you should be able to manage 100 words per minute if you try very hard; the problem is that you can’t keep doing it for too long. In other words, the bottleneck is endurance, not speed.

Type more by typing less.