An input method (IME) is an operating system component or program that enables users to generate characters not natively available on their input devices by using sequences of characters (or mouse operations) that are natively available on their input devices. More in Wikipedia.
IMEs are mostly used to type non-English languages in computer using an English keyboard.
IBus (Intelligent Input Bus) is an input method (IM) framework for multilingual input in GNU/Linux operating-systems.
Varnam has a IBus Engine to type Indian languages on GNU/Linux systems.
ALT + ARROW UP/DOWN
CTRL + DEL
Varnam IBus Engine has in-built learning while you type. Here are the situations where Varnam IBus Engine will learn a word: