AutoKey is a text replacement and hotkey utility. It allows you to manage collection of phrases or other text, and assign abbreviations and hotkeys to these phrases allowing you to insert them on demand into whatever program you are using. This is the most basic functionality, and is similar to a well-known Windows utility called AutoHotkey.
AutoKey works by sending and receiving keyboard events via the X server. As such it is compatible with any version of Linux running an X server that has the RECORD extension available/enabled. Full unicode support is provided and it should in theory work with any keyboard layout.
Phrases can be collected into folders.
Folders can also be assigned abbreviations and hotkeys, allowing you choose a phrase from the folder on entering the abbreviation/hotkey
Regular expressions can be used to filter windows by their title, to excludes hotkeys/abbreviations from triggering in certain applications
Phrases or folders can be attached to the tray icon menu, allowing you to select them without assigning a hotkey or abbreviation
A predictive mode can be enabled on a phrase-by-phrase basis. AutoKey will then suggest matching phrase(s) as you type a configurable number of characters from the beginning of the phrase
AutoKey can track your usage patterns and present the most frequently used items at the top of the phrase menu
A plugin framework provides the ability to extend AutoKey
An import facility allows users of AutoKey 0.40.x to import their existing abbreviations
A popup similar to Tracker, where you can enter an abbreviation and have it autocompleted for you. Can be activated using a configurable hotkey or by clicking on the tray icon.
You can download the program here. There is an FAQ and also a very much WIP manual on the Wiki.
Alternatively, users of Debian/Ubuntu can follow the instructions to add the PPA.
Below is a demonstration of the inline text replacement feature.