[verb て-form] + います [verb て-form] + いる
~ています says an action is going on right now, like "is doing" in English. Take the て-form of the verb and put います after it: たべて食べて and います make たべています食べています.
Only います changes. The て-form in front of it stays as it is.
Some verbs name a change that is over in an instant: けっこん結婚します (to get married), ひらきます開きます (to open), しまります閉まります (to close), しにます死にます (to die). With these, ~ています does not mean the change is under way. It means the change has happened and the result is still there.
Reading these as English "-ing" is the usual mistake.
いきます行きます, きます来ます and かえります帰ります belong here too. きています来ています is "has come and is here", not "is on the way".A few everyday verbs are almost always used this way: すんでいます住んでいます (live), もっています持っています (have, own), しっています知っています (know). English has the simple present here, and とうきょう東京にすみます住みます means "I will live in Tokyo", not "I live in Tokyo".
The negative is the exception. "I don't know" is しりません知りません.
~ています also covers what you do again and again over a period: a job, a course, a habit. Words like まいにち毎日 and いつも point to this reading.
With から it reaches from a starting point up to now.
These go beyond what is happening now.
For something that has not happened yet, Japanese uses まだ with ~ていません, not the past negative.
With もう, ~ています can also say something has already been done and still counts.
The plain form is ~ている, with いる in place of います: たべている食べている, たべていない食べていない, たべていた食べていた. The plain negative of 知っている is しらない知らない.
In casual speech the い of いる drops out.