The KDE Advanced Text Editor, or Kate, is a
source code editor developed by the
KDE
KDE is an international free software community that develops free and open-source software. As a central development hub, it provides tools and resources that enable collaborative work on its projects. Its products include the KDE Plasma gra ...
free software
Free software, libre software, libreware sometimes known as freedom-respecting software is computer software distributed open-source license, under terms that allow users to run the software for any purpose as well as to study, change, distribut ...
community. It has been a part of
KDE Software Compilation since
version 2.2, which was first released in 2001. Intended for software developers, it features
syntax highlighting
Syntax highlighting is a feature of text editors that is used for programming language, programming, scripting language, scripting, or markup language, markup languages, such as HTML. The feature displays text, especially source code, in differe ...
,
code folding
Code or text folding, or less commonly holophrasting, is a feature of some graphical user interfaces that allows the user to selectively hide ("fold") or display ("unfold") parts of a document. This allows the user to manage large amounts of text ...
, customizable layouts, multiple cursors and selections,
regular expression
A regular expression (shortened as regex or regexp), sometimes referred to as rational expression, is a sequence of characters that specifies a match pattern in text. Usually such patterns are used by string-searching algorithms for "find" ...
support, and extensibility via plugins. The text editor's mascot is Kate the Cyber Woodpecker.
History

Kate has been part of the KDE Software Compilation since
release 2.2 in 2001. Because of
KParts technology, it is possible to embed Kate as an editing component in other KDE applications. Major
KDE applications
The KDE Gear is a set of applications and supporting libraries that are developed by the KDE community, primarily used on Linux-based operating systems but mostly multiplatform, and released on a common release schedule.
The bundle is compos ...
which use Kate as an editing component include the
integrated development environment
An integrated development environment (IDE) is a Application software, software application that provides comprehensive facilities for software development. An IDE normally consists of at least a source-code editor, build automation tools, an ...
KDevelop, the web development environment Quanta Plus, and the LaTeX front-end
Kile.
Kate has won the advanced text editor comparison in ''
Linux Voice'' magazine.
, development had started to port Kate, along with
Dolphin
A dolphin is an aquatic mammal in the cetacean clade Odontoceti (toothed whale). Dolphins belong to the families Delphinidae (the oceanic dolphins), Platanistidae (the Indian river dolphins), Iniidae (the New World river dolphins), Pontopori ...
,
Konsole,
KDE Telepathy, and
Yakuake, to
KDE Frameworks 5.
In 2022, the KDE text-editor
KWrite was modified to use the same code base as Kate with deactivated features.
Features
Kate is a
source code editor that features syntax highlighting for over 300 file formats with code folding rules. The syntax highlighting is extensible via
XML
Extensible Markup Language (XML) is a markup language and file format for storing, transmitting, and reconstructing data. It defines a set of rules for encoding electronic document, documents in a format that is both human-readable and Machine-r ...
files. It supports
UTF-8
UTF-8 is a character encoding standard used for electronic communication. Defined by the Unicode Standard, the name is derived from ''Unicode Transformation Format 8-bit''. Almost every webpage is transmitted as UTF-8.
UTF-8 supports all 1,112,0 ...
,
UTF-16,
ISO-8859-1
ISO/IEC 8859-1:1998, ''Information technology—8-bit computing, 8-bit single-byte coded graphic character (computing), character sets—Part 1: Latin alphabet No. 1'', is part of the ISO/IEC 8859 series of ASCII-based standard character enc ...
and
ASCII
ASCII ( ), an acronym for American Standard Code for Information Interchange, is a character encoding standard for representing a particular set of 95 (English language focused) printable character, printable and 33 control character, control c ...
encoding schemes and can detect a file's
character encoding
Character encoding is the process of assigning numbers to graphical character (computing), characters, especially the written characters of human language, allowing them to be stored, transmitted, and transformed using computers. The numerical v ...
automatically. Kate offers code completion and reference finding for various programming languages through its
Language Server Protocol Client plugin. The default configuration supports
C,
C++,
D,
Fortran,
Go,
Latex
Latex is an emulsion (stable dispersion) of polymer microparticles in water. Latices are found in nature, but synthetic latices are common as well.
In nature, latex is found as a wikt:milky, milky fluid, which is present in 10% of all floweri ...
,
Python,
Rust
Rust is an iron oxide, a usually reddish-brown oxide formed by the reaction of iron and oxygen in the catalytic presence of water or air moisture. Rust consists of hydrous iron(III) oxides (Fe2O3·nH2O) and iron(III) oxide-hydroxide (FeO(OH) ...
, and
OCaml
OCaml ( , formerly Objective Caml) is a General-purpose programming language, general-purpose, High-level programming language, high-level, Comparison of multi-paradigm programming languages, multi-paradigm programming language which extends the ...
.
Kate's main text editor widget is called ''KatePart'', which is reusable under the terms of the LGPL version 2 license. It must not be confused with the KParts, a KDE plugin framework for user interface components that Kate also uses.
Kate can be used as a
modal text editor through its ''
vi'' input mode.
Kate features
multiple document interface
A multiple-document interface (MDI) is a graphical user interface in which multiple windows reside under a single parent window. Such systems often allow child windows to embed other windows inside them as well, creating complex Hierarchy#Nested hi ...
, window splitting, project editing and sessions to facilitate editing multiple documents. Using ''sessions'', one can customize Kate for different projects by saving the list of open files, the list of enabled plug-ins and the window configuration.
Kate includes the KDE
terminal emulator
A terminal emulator, or terminal application, is a computer program that emulates a video terminal within some other display architecture. Though typically synonymous with a shell or text terminal, the term ''terminal'' covers all remote term ...
Konsole through its Terminal Tool View plugin. Since version 23.04, the terminal is also available on windows.
The "quick open" feature allows searching opened files by name for quick recalling. Line modification indicators highlight lines with unsaved changes and lines added in the current session.
Being a KDE application, Kate transparently opens and saves files over all protocols supported by
KIO libraries. This includes
HTTP
HTTP (Hypertext Transfer Protocol) is an application layer protocol in the Internet protocol suite model for distributed, collaborative, hypermedia information systems. HTTP is the foundation of data communication for the World Wide Web, wher ...
,
FTP
The File Transfer Protocol (FTP) is a standard communication protocol used for the transfer of computer files from a server to a client on a computer network. FTP is built on a client–server model architecture using separate control and dat ...
,
SSH,
SMB and
WebDAV
WebDAV (Web Distributed Authoring and Versioning) is a set of extensions to the Hypertext Transfer Protocol (HTTP), which allows user agents to collaboratively author contents ''directly'' in an HTTP web server by providing facilities for conc ...
, among others.
, unlike
Xed, ''Kate'' is equipped with a
session manager which allows naming, saving, and restoring sessions, meaning a list of momentarily open file tabs. Saved sessions are stored as
key-value-formatted
*.katesession
files into
~/.local/share/kate/sessions/
.
Other features are a
clipboard history with up to ten items, the ability to jump to a line number, and
source control integration using
Git
See also
*
List of KDE applications
*
List of text editors
*
Comparison of text editors
*
List of computing mascots
*
Computing mascots
References
External links
*
{{KDE
Applications using D-Bus
Free text editors
KDE Applications
Unix text editors
Cross-platform free software
Free software for Linux
Free software for Windows
Free software for macOS
Software using the GNU Lesser General Public License
Software using the GNU General Public License
Free software programmed in C++
Software that uses Qt