Ik kopieer altijd een bestaande functie (of if-jes/whatever statement), dan heb je vast het geraamte. Daarna vervang ik dan de namen en klaar ben je. Dat gaat vaak sneller dan alles intypen.
Vim zit er bij mij zo ingeramd dat ik nooit met een andere editor meer kan (of eigenlijk: wil) werken.
De eerste jaren was het ook nog alleen vi - vim bestond nog niet. Linux ook niet trouwens - zo lang draai ik ook al weer mee...
Dat hele gedoe met modes waar nieuwelingen of vim-haters zo' moeite mee hebben vind ik juist geniaal.
Het grootste deel van de tijd zit je in command mode waar je met enkele aanslagen a.h.w. aan het "beeldhouwen" bent in een source.
Af en toe maak je daarbij een "uitstapje" naar insert mode waar je wat letterlijke tekst in kan typen, maar je moet er niet in blijven hangen. Tekst klaar: terug naar command mode.
Als je net met vim begint moet je gewoon onthouden dat de command mode je uitgangspunt is. Dus bij twijfel: ram nog maar eens op de Esc-toets. Denk vanuit de command mode.
Niet alleen de "i" gaat naar insert mode, maar ook I, a, A, o, O, s, S, c, C, r, R (vergeet ik nog wat?)
Haakjes vergeten doe je in vim sowieso niet - als je met syntax highlighting werkt. Dan zie je het meteen. Ook aanhalingstekens of apostrofjes vergeten valt direct op door de kleuren.
Je kan hem zelfs zo instellen dat sluithaakjes automatisch worden getypt. Maar van dat soort dingen (net als auto-indent) hou ik niet zo, dat gaat bij mij allemaal uit.
Wat vreselijk handig is in vim, is dat je externe commando's kan gebruiken, bv. ":%!sort" om de hele file in 1 keer te sorteren.
Sorteer regel 10 tot 20 op 3e woord van de regel: ":10,20!sort -k 3"
Of zoek/vervangen in de hele file: ":%s/windows/linux". En daarbij kan je ook nog eens reguliere expressies gebruiken.
Inserten van een paar spaties aan het begin van de regel (voor regel 100 tot 1000): ":100,1000s/^/ /"
Kopieer huidige regel + 2 opeenvolgende en plak die aan het einde erbij: 3yyGp
Gooi alles weg in de file vanaf cursor tot einde file: dG
Of tot begin van de file: d1G
Doe dat soort dingen maar eens met een non-vim editor. En dat is nog maar het topje van de ijsberg.
vim is voor mij meer een soort van lego-editor: je hebt een voorraad commando's van die je allemaal met elkaar kunt combineren om de meest waanzinnige trucen uit te halen.
Overigens werken Ctrl-C en Ctrl-V of Insert/Delete en de pijltjestoetsen enzo ook gewoon hoor, dat zijn vaak macro's die bestaan uit al bestaande commando's.
Het heeft me denk ik destijds 1 week gekost om er destijds aan te wennen, maar ik was al verkocht op de eerste dag. Het is net als met overstappen van Windows naar Linux: het is anders en het moet wennen, maar de beloning is er ook wel naar.