Als je een beetje deftig wilt programmeren heb je daarvoor ook een goed programma nodig. Je kan natuurlijk een programma gebruiken dat speciaal ontwikkeld is voor de taal waarin je programmeert, maar als je dikwijls in verschillende talen programmeert, is het handiger om een ‘multifunctionele’ texteditor te gebruiken.

Iedere editor heeft immers zijn eigen werkwijze, shortcuts, etc, waardoor het lastig is om telkens van editor te veranderen. Bovendien voldoen veel van de verschillende editors niet volledig aan je wensen. Daarom is het makkelijker om ??n algemene texteditor te zoeken die volledig aan je wensen voldoet en die met veel verschillende programmeertalen overweg kan. Het is dan enkel een kwestie van de, voor jou, ultieme editor te vinden…

Zelf ben ik er al een lange tijd op zoek naar die ultieme editor. Enkele maanden geleden schreef ik al over jEdit, maar omdat het programma relatief zwaar is (java) gebruikte ik het de laatste tijd niet meer echt.

Tijdens de examens postte er iemand op het klasforum een link naar notepad++ en zo ben ik terug begonnen aan een zeer grote zoektocht naar een goede texteditor. Eerst vond ik Programmers Notepad en nadien AnyEdit. Ook Context kende ik al een tijdje. Geen van de editors voldeden echter aan mijn wensen.

Ondertussen was ik in het boek ‘Open Sources’ beginnen lezen. Daarin komen natuurlijk geregeld de twee ‘editors der editors’ (en een beetje aardsrivalen) ter spraken: Vi en Emacs. Vi kende ik al vanop school, want dat gebruikten we onder UNIX.
Vi is een editor waarbij je in verschillende ‘modes’ werkt. Zo kan je in ‘insert-mode’ tekst intypen en in ‘normal-mode’ commando’s uitvoeren op je tekst. Tijdens de les zat ik altijd te sukkelen met de vi, dus op zich sprak het programma mij niet zo erg aan, hoewel ik de geschiedenis achter vi wel erg boeiend vind.

Screenshot
Emacs had ik nog nooit gebruikt dus dat wilde ik wel eens uitproberen. Na de Windows port te hebben ge?nstalleerd, sprak het programma mij op het eerste zicht toch niet zo erg aan en heb ik het tot hiertoe dan ook links laten liggen. E?n van de redenen daarvoor is dat er standaard blijkbaar geen syntax highlighting inzit, maar dat kan evengoed aan de windowsport liggen, Emacs is immers ontwikkeld voor *nix-systemen.

Screenshot
Een tijdje terug las ik op het blog van ByteWarrior een stukje over ‘Cream for Vim’. Toen ik de screenshots daarvan bekeek wilde ik dat onmiddellijk proberen. Cream is een soort van ’schil’ rond vim. Vim op zijn beurt is een moderne versie van vi en staat voor ‘Vi IMproved’. Cream voegt een mooiere gui toe aan vim, en stelt enkele zaken anders in zodat vim makkelijker wordt voor nieuwe gebruikers. Of je dus vim met of zonder Cream gebruikt veranderd niet zo heel erg veel aan de functionaliteit van het programma.

Screenshot
Ik heb een tijdje met Cream for Vim gewerkt en het bevalt me wel. Zeker het feit dat vim op zowat ieder platform (met of zonder GUI) beschikbaar is en dat het programma kan uitgebreid worden met scriptjes vind ik zeer handig. Enkele leuke scriptjes: PHPDoc support, SearchComplete, SuperTab.
Toch voldoet het nog niet helemaal als mijn ‘ultieme editor’. Vooral de afwezigheid van een echt gui voor dingen als een filebrowser (aan de rechter- of linkerkant van je scherm) etc stoorden mij een beetje. (die afwezigheid is overigens logisch want het programma werkt immers ook op een systeem zonder GUI).

ScreenshotVandaag ben ik nog eens terug begonnen met de mogelijkheden van jEdit te bestuderen. Zo heb ik al ondervonden dat je ook in jEdit voor vrijwel alles handige shortcuts kan maken, zoals bijvoorbeeld het deleten van een hele lijn of paragraaf. jEdit heeft standaard voor 80 talen syntax hightlighting, maar dat kan eenvoudig worden uitgebreid. Ook kan je makkelijk functionaliteit toevoegen of aanpassen doormiddel van plugins en macro’s. Enkele zeer handige plugins zijn:Screenshot

  • BufferTabs: geeft een tabbar van alle geopende ‘buffers’ (bestanden)
  • CodeBrowser: maakt een mooi overzicht van alle methodes, classes, functies,.. in je file zodat je sneller kan navigeren.
  • PHP Completion: voegt een popup voor php completion toe
  • FTP: bestanden rechtstreeks van een ftp server bewerken
  • JDiff: een diff tool binnen jEdit
  • XML: handige hulpmiddelen om XML en HTML files te bewerken
  • Drag and Drop: bestanden open door ze in jEdit te droppen
  • Look and Feel: Omdat jEdit in java geschreven is kan het ook makkelijk geskinned worden. Mijn favoriete skin voor jEdit is ‘Kunststoff‘, samen met de GTK icoontjes

UPDATE: Zoals uit de commentaren van Jef Pober blijkt zit er wel degelijk syntax highlighting in Emacs. Standaard zit dit er echter niet in voor PHP en per toeval had ik het programma daarmee getest. Met een html-bestand bijvoorbeeld krijg je wel mooie kleurtjes :-) Om toch syntax highlighting voor php te hebben kan je dat afzonderlijk installeren: http://sourceforge.net/projects/php-mode/