Als je enige vorm van ontwikkelingswerk op je computer uitvoert, zul je zo nu en dan (of de hele tijd) een tekstverwerker nodig hebben. En met "ontwikkeling" bedoel ik niet alleen programmeren; het kan ook Web-ontwikkeling zijn, of zelfs het onderhouden en aanpassen van een bestaande website.
Jarenlang heb ik de ene teksteditor na de andere geprobeerd. Noem het maar, ik heb het geprobeerd - jEdit, Notepad ++, SciTE, PSPad, Komodo Bewerken ... Ik ben hier niet alleen de naam vergeten. Ik gebruikte elke en elke bewerker voor meer dan twee maanden als mijn primaire dag-tot-dag editor. Ik had ook een korte periode met UltraEdit, een eerbiedwaardige (maar niet-gratis) editor. Op de een of andere manier kon ik geen editor vinden die precies goed werkte, en was ik aanpasbaar genoeg om aan mijn behoeften te voldoen.
Dat veranderde een paar maanden geleden, toen ik de kogel beet en fulltime Vim-teksteditor ging gebruiken. Hier zijn zes redenen waarom je zou moeten overwegen om het eens te proberen.
Reden 1: Vim is oud
In software cultiveren we vaak de mindset die zegt: "nieuwer is beter". We zijn altijd op zoek naar de nieuwste browser, het nieuwste besturingssysteem, de nieuwste game. Maar er is veel te zeggen voor oude stukjes software die nog steeds actief worden gebruikt door veel mensen.
Wist je dat MS Office voor het eerst werd uitgebracht in 1990? Dat is 21 jaar geleden en kijk hoe ver het is gekomen. Dat is ongeveer de tijd dat ook Vim voor het eerst werd uitgebracht (1991). Alleen Vim is gebaseerd op een veel oudere editor, Vi, die in 1976 van start ging.
Dat alleen al zou je moeten afvragen; wat maakt zo'n oud stukje software zo overtuigend dat duizenden nieuwe gebruikers het jaar na jaar ontdekken?
Reden 2: Vim is gratis en heeft een levendige gemeenschap
Vim is eigenlijk gedefinieerd als "charityware" en is gratis te gebruiken en open-source. Het vraagt je om te doneren voor wezen in Oeganda, maar er zijn geen zeurtjes.
Als je naar de Vim-webpagina gaat, zul je veel recente nieuwsitems vinden. Ik telde bijvoorbeeld negen scriptupdates op één dag. De site wordt voortdurend bijgewerkt en Vim's belangrijkste ontwikkelaar, Bram Moolenaar, heeft persoonlijk een update geplaatst op 28 april.
Reden 3: Vim is zeer aanpasbaar en uitbreidbaar
Die scripts die ik zojuist noemde? Ze zijn de sleutel tot veel van de kracht van Vim. Er zijn scripts voor bijna alles. In de bovenstaande schermafbeelding kun je FuzzyFinder zien, een van mijn favorieten aller tijden. Het is een script waarmee u gedeeltelijke namen van bestanden, opdrachten, help-items, enz. Kunt typen en ze stapsgewijs kunt doorzoeken, on-the-fly. U hoeft niet vanaf het begin van de naam te typen, en het heeft veel opties - en dat is slechts één script!
Andere opmerkelijke scripts zijn NERD Tree die een bestandssysteem "tree" implementeert, SuperTab Continued voor krachtige tab-completion en snipMate voor het repliceren van de snippetfunctionaliteit van TextMate. Er zijn veel, veel meer.
Reden 4: Vim werkt via Telnet en SSH-verbindingen
Soms moet ik handmatig webpagina's bewerken die zich op externe servers bevinden. Ik gebruikte WinSCP om lokale bewerkingen te simuleren, maar het ging af en toe kapot. Enkele van de hierboven genoemde editors hebben ook ingebouwde FTP-clients, maar het navigeren door complexe mappenbomen was altijd omslachtig en tijdrovend.
Met Vim Text Editor kan ik gewoon een SSH-verbinding openen Wat SSH is en hoe het anders is Van FTP [Technologie verklaard] Wat SSH is en hoe het anders is Van FTP [technologie uitgelegd] Lees meer naar mijn webserver en voer een extern exemplaar van Vim recht op de server. Vim is ontworpen om te werken met langzame terminals, dus het voelt echt snel. Zoals je kunt zien in de bovenstaande schermafbeelding, werken kleuren prima via SSH. Direct kunnen werken op de server heeft een enorm verschil gemaakt in mijn webontwikkelingswerk. Niet alleen is het sneller, maar ik kan nu via bestanden direct op de server zoeken en Vim gebruiken om snel tussen de resultaten te springen en precies te vinden wat ik moet wijzigen met uiterste precisie. Gewoon geweldig.
Reden 5: Vim's configuratie is draagbaar
Zoals hierboven vermeld, is Vim zeer aanpasbaar. Dat betekent dat ik behoorlijk moest werken totdat ik het "zo" op mijn Windows-systeem kreeg. Dat alles te doen op mijn externe server zou een beetje een rem zijn geweest. Gelukkig hoefde ik maar een paar mappen en een heel belangrijk 'hoofdconfiguratie'-bestand te kopiëren, genaamd .vimrc .
Dit kopieerde in feite mijn volledige configuratie van mijn Windows-computer naar de externe Linux-server. Vervolgens heb ik gewoon mijn configuratiebestand bewerkt en een aantal dingen aangepast voor de server, en ik was in feite klaar. Natuurlijk kon ik mezelf er niet van weerhouden dingen verder aan te passen, maar dat ben ik gewoon.
Reden 6: Vim is grondig gedocumenteerd
Merk op dat nergens in deze lijst staat: "Vim is intuïtief". Dat is omdat het dat eigenlijk niet is. Er is een leercurve wanneer je Vim voor het eerst gebruikt en het vereist een beetje commitment. Maar er zijn nogal wat dingen die kunnen helpen. Hier zijn slechts drie voorbeelden:
- PeepCode's Smash into Vim screencasts (getoond in de screenshot hierboven): deze zijn eigenlijk niet gratis; ze kosten $ 12 per stuk (er zijn er twee), maar ze zijn een zeer waardevolle investering. Toen ik besloot dat ik Vim een serieuze draai wilde geven, kocht ik de eerste en keek ernaar. Het was genoeg om me met vertrouwen te starten. Het was ook niet saai.
- Het eigen *: help * -commando van Vim leidt naar een schat aan zorgvuldig geschreven documentatie. Elk script heeft zijn eigen documentatie; standaard toetsbindingen worden zorgvuldig gedocumenteerd, alle commando's worden uitgelegd, etc.
- Vim heeft ook een wiki met veel tips, trucs en nuttige codefragmenten die je kunt kopiëren en uitproberen.
Reden 7: Het is veel beter dan Emacs
OK, dus misschien ben ik niet helemaal serieus met deze laatste. Zoals je misschien al in de inleiding hebt gemerkt, heb ik Emacs nooit echt een spin gegeven (althans niet voor twee maanden). Volgens de wetenschappelijk ingestelde $ EDITORs Sucks-Rules-O-Meter lijkt Vim de koploper te zijn in de Editor War, althans voorlopig. Maar ik ben bereid om anders overtuigd te zijn. U kunt de kwestie van Emacs in de opmerkingen pleiten.
Over reacties gesproken: als er Vim-gebruikers in het publiek zijn die tips willen delen of vragen willen stellen, ben ik een en al oor. Ik weet dat ik in dit bericht amper de oppervlakte van Vim heb bekrast, dus als je meer gedetailleerde berichten over Vim wilt zien, deel je ideeën en wensen.