Tips en Trucs 2025

Kate: een verfrissende open-sourcecode-editor

Je hebt vast wel eens gehoord van teksteditors en code-editors; beide worden gebruikt voor het bewerken van geschreven tekst. Teksteditors zijn echter vooral bedoeld voor platte tekstdocumenten, terwijl code-editors speciaal zijn ontworpen voor programmeren.

Enkele van de beste code-editors op de markt zijn beschikbaar voor Linux, en die lijst wordt elk jaar langer met de introductie van nieuwe code-editors.

Je kent vast wel de gebruikelijke populaire editors, zoals Visual Studio Code. Wil je eens iets anders proberen dat net zo goed werkt? Zo ja, dan is Kate editor, een gratis en open-sourceprogramma van KDE, iets wat je zeker moet proberen.

Hoewel ik niet zo goed ben in coderen, vond ik de gebruikersinterface van Kate niet zo moeilijk. Het heeft bijna alle mogelijkheden die zowel beginnende als ervaren programmeurs nodig hebben, waardoor het een heel aantrekkelijk alternatief is voor VS Code.

Ook voor andere tekstgebaseerde bestandsformaten zoals CSV en JSON, waarvan je hieronder twee voorbeelden met weerberichten ziet, is Kate jouw ideale partner.

Kate

Kate, kort voor KDE Advanced Text Editor, maakt sinds 2001 deel uit van KDE en is grotendeels geschreven in de programmeertaal C++. Het is gratis beschikbaar onder de LGPLv2-licentie.

Er is ook een teksteditor die is gebaseerd op dezelfde technologie die Kate gebruikt. Deze heet KWrite en maakt ook krachtige tekst- en programmeerbewerkingen mogelijk, zij het in een compactere vorm. Hoe dan ook, in deze tip richten we ons op Kate.

Belangrijkste kenmerken

Er zijn veel opvallende kenmerken, zoals syntaxisaccentuering, automatische inspringing, blokselectie, een interface voor meerdere documenten en nog veel meer.

Hier volgt een beknopt overzicht van de belangrijkste kenmerken van Kate:

Kate installeren

Kate wordt bij de meeste distributies standaard geïnstalleerd bij de installatie van KDE. Kate vind je ook terug in de standaard softwarebronnen van jouw favoriete distributie.

Bij het starten van Kate, krijg je het Welkom venster waarmee je snel recente documenten en projecten kunt openen.

Kate

Werken met Kate

Om het werken met Kate te demonstreren, openen we een Bash script. Bij het openen van een tekstbestand (tekst, configuratie, gegevens, code, enz.) gebruikt Kate in de meeste gevallen de juiste taalmodus, waardoor taalspecifieke functies zoals foutdetectie, inspringing, syntaxisaccentuering, enz. actief worden.

Je kunt van taalmodus wisselen via de laatste knop in de statusbalk (rechts onderaan het venster, Bash op onderstaande afbeelding) of via het menu Hulpmiddelen > Modus.

Wat betreft de statusbalk onderaan: deze bevat een aantal handige opties, zoals een Uitvoer-paneel dat de uitvoer van alle ingevoerde opdrachten, scripts of bouwprocessen weergeeft. Het Diagnostische meldingen-paneel toont realtime informatie over eventuele storingen/waarschuwingen.

Dan is er nog een Zoeken-paneel waarmee je snel en effectief door alle geopende bestanden of projecten kunt zoeken. Daarna volgt een Project-paneel, waarmee je projectbestanden moeiteloos kunt beheren en doorbladeren.

Kate

In de afbeelding hierboven staan in het Uitvoer-paneel verschillende rode Waarschuwingen. Deze vermelden het ontbreken van een geschikte LSP-server om het Bash script te analyseren om eventuele Diagnostische meldingen te kunnen weergeven. Kate is daarbij behulpzaam en geeft tips (koppelingen) met details en installatie richtlijnen om de waarschuwing op te lossen.

Aangezien ik een Bash script heb geopend, volg ik de richtlijnen voor de installatie van de bash-language-server.

dany@pindabook:~$ sudo apt install shellcheck npm
...
Voorheen niet geselecteerd pakket shellcheck wordt geselecteerd.
Uitpakken van .../399-shellcheck_0.10.0-1_amd64.deb wordt voorbereid...
Bezig met uitpakken van shellcheck (0.10.0-1) ...
Instellen van libuv1-dev:amd64 (1.50.0-2) ...
Instellen van node-colors (1.4.0-4) ...
Instellen van node-fs.realpath (1.0.0-3) ...
...
Instellen van node-deep-equal (2.2.3+~cs43.15.94-1) ...
Instellen van node-css-loader (6.8.1+~cs14.0.17-1) ...
Instellen van npm (9.2.0~ds1-3) ...
Bezig met afhandelen van triggers voor libc-bin (2.41-12) ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...

dany@pindabook:~$ sudo npm i -g bash-language-server

added 40 packages in 3s

5 packages are looking for funding
 run `npm fund` for details

Na het herstarten van Kate en het openen van het Bash script, staan er in het Uitvoer-paneel geen Waarschuwingen meer.

Kate

En kunnen we ook de eventuele Fouten en Waarschuwingen in het Diagnostische meldingen-paneel bekijken:

Kate

Sommige LSP-servers zijn in de standaard softwarebronnen van Debian Trixie opgenomen:

dany@pindabook:~$ apt search language-server
debputy-lsp/stable 0.2.2 all       
 Editor support for Debian packaging files via LSP specification

elpa-lsp-docker/stable 1.0.0+git20250423.ff41f4a-1 all
 LSP Docker integration for lsp-mode

elpa-lsp-mode/stable 9.0.0-2 all
 Emacs client/library for the Language Server Protocol

fortran-language-server/stable 3.2.2+dfsg-1 all
 Fortran Language Server for the Language Server Protocol

libperl-languageserver-perl/stable 2.6.2-1 all
 Language Server and Debug Protocol Adapter for Perl

node-vscode-languageserver/stable 8.2.0~next.0~1.0.0~git20230424.1320922-3 all
 Node.js module to implement a VSCode language server

node-vscode-languageserver-textdocument/stable 1.0.10~1.0.0~git20230424.1320922-3 all
 Node.js module to implement text documents usable in a LSP server

Bovenstaande terminalopdrachten kan je rechtstreeks in Kate uitvoeren, activeer daarvoor het Terminal-paneel in de statusbalk.

De terminal werkte, zoals je hieronder kunt zien, zeer goed. Dat is geen verrassing, aangezien Kate daarvoor Konsole gebruikt.

Kate

Wie liever in een donkere omgeving werkt, kan via het menu Instellingen > Kleurenschema van venster een donker kleurenschema selecteren. Onderstaande afbeelding gebruikt het schema Breeze Dark. Naast kleurenschema's voor het venster kan je een massa kleurenschema's voor de editor (bewerker) instellen.

Kate

De volgende afbeeldingen werden gemaakt met het Standaard vensterkleurenschema.

Wat je vast en zeker ook moet verkennen zijn gesplitste vensters. Gebruik daarvoor het menu Beeld > Beeld splitsen (bijvoorbeeld Verticaal opsplitsen). Dit is nog een aspect waarin Kate uitblinkt. Bij complexere projecten kan het openen van meerdere vensters op het scherm helpen bij multitasking.

Kate

Tot slot biedt Kate, naast alle gebruikelijke functies voor het bewerken van code, ook een breed scala aan mogelijkheden om de applicatie te beheren dankzij het overzichtelijke instellingenmenu, waardoor je zonder gedoe wijzigingen kunt aanbrengen.

Kate

Opruimen

Eerst verwijderen we het npm pakket bash-language-server met de opdracht:

dany@pindabook:~$ sudo npm uninstall -g bash-language-server
[sudo] wachtwoord voor dany:  

removed 40 packages in 346ms

Dan mag shellcheck en de omvangrijke JavaScript ontwikkelomgeving npm verwijdert worden:

dany@pindabook:~$ sudo apt purge shellcheck npm
De volgende pakketten zijn automatisch geïnstalleerd en zijn niet langer nodig:
 eslint                                      node-cli-truncate               node-fill-range                 node-js-tokens                 node-path-type                        node-stack-utils
 gyp                                         node-cliui                      node-find-cache-dir             node-js-yaml                   node-picocolors                       node-string-decoder
 handlebars                                  node-clone                      node-find-up                    node-jsesc                     node-pify                             node-string-width
...
 node-cli-boxes                              node-fast-levenshtein           node-istanbul                   node-path-exists               node-spdx-license-ids
 node-cli-cursor                             node-fetch                      node-jest-debbundle             node-path-is-absolute          node-sprintf-js
 node-cli-table                              node-file-entry-cache           node-jest-worker                node-path-is-inside            node-ssri
Gebruik 'sudo apt autoremove' om ze te verwijderen.

VERWIJDEREN:
 npm*  shellcheck*

Samenvatting:
 Opwaarderen: 0, Installeren: 0, Verwijderen: 2, Niet opwaarderen: 0
 Vrijgemaakte ruimte: 38,6 MB

Doorgaan? [J/n]  
(Database wordt ingelezen ... 243481 bestanden en mappen momenteel geïnstalleerd.)
npm (9.2.0~ds1-3) wordt verwijderd ...
shellcheck (0.10.0-1) wordt verwijderd ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
(Database wordt ingelezen ... 242516 bestanden en mappen momenteel geïnstalleerd.)
Configuratiebestanden voor npm (9.2.0~ds1-3) worden gewist ...

Om echt schijfruimte vrij te maken, verwijderen we ook de niet langer gebruikte afhankelijke pakketten met:

dany@pindabook:~$ sudo apt autoremove
VERWIJDEREN:                               
 eslint                                      node-cli-truncate               node-fill-range                 node-js-tokens                 node-path-type                        node-stack-utils
 gyp                                         node-cliui                      node-find-cache-dir             node-js-yaml                   node-picocolors                       node-string-decoder
 handlebars                                  node-clone                      node-find-up                    node-jsesc                     node-pify                             node-string-width
...
 node-cli-boxes                              node-fast-levenshtein           node-istanbul                   node-path-exists               node-spdx-license-ids
 node-cli-cursor                             node-fetch                      node-jest-debbundle             node-path-is-absolute          node-sprintf-js
 node-cli-table                              node-file-entry-cache           node-jest-worker                node-path-is-inside            node-ssri

Samenvatting:
 Opwaarderen: 0, Installeren: 0, Verwijderen: 399, Niet opwaarderen: 0
 Vrijgemaakte ruimte: 312 MB

Doorgaan? [J/n]  
(Database wordt ingelezen ... 242516 bestanden en mappen momenteel geïnstalleerd.)
node-css-loader (6.8.1+~cs14.0.17-1) wordt verwijderd ...
webpack (5.97.1+dfsg1+~cs11.18.27-3) wordt verwijderd ...
eslint (6.4.0~dfsg+~6.1.9-12) wordt verwijderd ...
...
node-corepack (0.24.0-5) wordt verwijderd ...
node-undici (7.3.0+dfsg1+~cs24.12.11-1) wordt verwijderd ...
node-xtend (4.0.2-3) wordt verwijderd ...
Bezig met afhandelen van triggers voor man-db (2.13.1-1) ...
Bezig met afhandelen van triggers voor libc-bin (2.41-12) ...