Op zoek naar een goede texteditor...

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/

Comments

Avatar

ByteWarrior on 2004-07-09 11:33 reply

De 'perfecte' all-round

De 'perfecte' all-round editor bestaat niet denk ik. Sommigen komen wel in de buurt, maar deze worden dan zo complex dat je eerst moet leren hoe je met de editor zelf werkt (denk maar aan (X)Emacs).

Vim heeft inderdaad enkele beperkingen, maar de editor start hier snel op, wat met jEdit zeker niet het geval is. Als ik dus snel iets moet aan passen gebruik ik nog altijd Vim. Als er natuurlijk een gespecialiseerde IDE bestaat voor iets, dan ga ik daar voor. Meestal heb je dan Auto Tag Completion en andere gimmicks (die je eigenlijk niet nodig hebt, maar die wel je leven gemakkelijker maken).

Avatar

Percept on 2004-07-10 15:26 reply

Persoonlijk vind ik

Persoonlijk vind ik Textpad(.com) zeer goed. Het is een simpele editor maar er zijn uitbreidingen voor ongeveer elke mogelijke programmeertaal ( ik heb het dit jaar gebruikt voor Cobol ). Verder gebruik ik hem al jaren als webpage editor ( je kan er ook files op je webserver mee bewerken )

Avatar

TeRanEX on 2004-07-10 19:57 reply

@ByteWarrior: D? 'ultieme

@ByteWarrior: D? 'ultieme editor' bestaat spijtig genoeg inderdaad niet, tenzij je hem helemaal zelf zou schrijven misschien (dan is hij toch perfect voor jezelf).
jEdit is vrij makkelijk om mee te beginnen in vergelijking met vi of emacs, maar om er effici?nt mee te kunnen werken heb je toch ook wel wat tijd nodig om alle shortcuts en mogelijkheden te leren kennen.
jEdit start inderdaad niet erg snel op, maar ik start hem meestal gewoon op en laat hem open staan (dat plan ik toch te doen, want ik heb immers nog maar net beslist om terug jEdit te gebruiken. Met Thunderbird en Firefox doe ik dat ook zo. Zolang je maar genoeg RAM hebt en een programmaatje om programma's naar het systeemvak te minimalizeren is dat geen probleem.
Over die speciale editor voor een programmeertaal: tot voor kort ging ik ook altijd opzoek naar een specifieke editor voor iedere taal. Daar wil ik nu van af stappen om enkele redenen: 1) Je verliest gewoon teveel tijd (naar mijn goesting) met het zoeken/testen van de juiste editor. 2) Als je dan een editor hebt gevonden moet je die ook weer helemaal leren kennen. 3) je moet weer andere shortcuts etc leren (zoals bijvoorbeeld hoe je een regel snel delete etc Tot voorkort deed ik dat bijvoorbeeld steeds met <HOME> <SHIFT>+<END> <DELETE>, nu ik de vi stijl heb ontdekt ( (<ESC>) dd) vind ik dat toch veeeeel makkelijker en effici?nter, in jEdit gaat dit met <Ctrl>+E d). Daarom heb ik nu dus eerder het idee om ??n editor voor alles te zoeken, die wel zo is gemaakt dat hij zo uitbreidbaar mogelijk is, en dat programma perfect te leren.
@Percept: textpad.com even bekeken maar dat spreekt me precies niet echt aan en bovendien is het geen Free Software ;-)

Avatar

ByteWarrior on 2004-07-11 11:31 reply

> Zolang je maar genoeg RAM

> Zolang je maar genoeg RAM hebt en een
> programmaatje om programma's naar het
> systeemvak te minimalizeren is dat geen
> probleem.

Daar zit dus mijn probleem. Ik heb maar 64MB ram. :oops:
Veel kan ik hier dus niet open laten staan. Ik moet spaarzaam zijn.

Avatar

TeRanEX on 2004-07-11 17:10 reply

@Percept: aan zo'n zaken

@Percept: aan zo'n zaken probeer ik niet meer mee te doen. Leven Free Software/Open Source!!

Oh ja wat ik nog veregeten zeggen was in mijn vorige comment: jEdit start inderdaad vrij traag op, maar wanneer ik Cream for Vim start krijg ik steeds een foutmelding: "Taglist: Exuberant ctags not found in PARH. Plugin is not loaded." en ik zou begot niet weten hoe ik dat moet aanpassen (bij de gewone vim krijg ik die fout niet). Hierdoor duurt het starten van Cream dus ook wel een beetje lang/is het wat lastig

Avatar

TeRanEX on 2004-07-18 20:53 reply

hmm ja dat zou ik eens moeten

hmm ja dat zou ik eens moeten doen maar als ik emacs opstart heb ik standaard geen highlighting en bij vi en jEdit wel...

Avatar

TeRanEX on 2004-07-18 22:56 reply

OK dat ga ik eens proberen

OK dat ga ik eens proberen :-)

Die GTK emacs ziet er wel heerlijk fris uit :-) Toen ik begon te zoeken naar 'de ultieme texteditor' wilde ik een editor die GTK icoontjes gebruikt :-) Dat is ook de reden waarom ik in jEdit het GTK theme gebruik, zoals je in de tweede jEdit screenshot kan zien

Avatar

TeRanEX on 2004-07-20 23:13 reply

Omdat ik in Vim het commando

Omdat ik in Vim het commando 'dd' (lijn deleten) toch wel zeer handig vind heb ik in jEdit geprobeerd om hiervoor een gelijkaardige shortcut in te stellen en dat werkt. Nu kan ik lijnen verwijderen door achtereenvolgens <ESC> <d> <d> te duwen :-)
Je kan zelfs gewoon <d> <d> aan deze actie toekennen maar dan kan je wel geen 'd' meer typen :D

Moest het trouwens iemand interesseren welke Plugins ik gebruik: http://wiki.budts.be/SoftWa...

Comment Atom Feed