CUTE is designed for programmers, so it supports many programming languages. It also integrates with external commands such as 'make' in order to make the edit compile cycle as fast as possible. Custom menu entries can be inserted with the python interface of CUTE. For fast code navigation, bookmarks and ctags can be used.
The main concept of CUTE is its ability to be extended and configured with python. Indeed there is a built-in python interpreter in CUTE. Each option must be set with the python interface, but this is made easier by the inclusion of a options dialog to set most options. When CUTE exits a config file is generated, holding all options and shortcuts including a recent file list. In most cases you don't even have to know about the python interpreter.
There is a command box on the tool bar. It can execute shell commands and special CUTE commands, which are described later. All output of a command is shown in a message docklet but stderr and stdout messages are also viewable separately in the Stdout and Stderr docklets. If you want to jump to a specified line, given in the output, you can just double-click the item and CUTE will position the cursor at that line in the source file.
Most programmers work with several files at a time, so CUTE provides a multi document interface. A file browser in the side panel lets you select more files for editing. If you want to search through several files you just have to open the grep front end dialog. All search results are shown in the search docklet, from which a result can be double-clicked in order to jump to that line.
Using CUTE, it is possible for related files to be grouped together to form a Project; any of the files can then easily be reloaded for editing. Within a project it is possible to set your own Compile, Build and Go commands. A Project can also contain one or more configurations, each of which can define its own environment variables or commands. For example, a Project could contain both a debug and a release configuration, readily switching between them. As an extension to Projects, Sessions can be used to store the whole workspace with the current project.
Of course you can search within single files too. CUTE also supports regular expressions for search and replace commands.