Every software developer tends to have a favorite text editor, from old Unix favorites such as "vi" and "emacs" to modern window-based editors. A good IDE will not only provide a full featured editor, it will allow the developer to transparently substitute his or her favorite text editor as the default.
Besides normal text editing features, a good software development text editor will be context sensitive for one or more particular programming languages. A context sensitive editor understands the basic syntax of the language and can add such useful features as:
automatic indentation of nested code blocks
automatic identification (via flashing or some other highlighting) of matching parenthesis or other code block delimiters
bolding or other highlighting of language keywords, global variables , etc.