Fråga

Jag undrar om det finns någon bra variant på ’inline kompilering’ för Vim? Alltså något liknande funktionen i Eclipse och Netbeans där syntaxfel direkt markeras i texten under tiden jag skriver koden. Det blir så onödigt många komplileringscykler annars! Eller blir man så sjukt bra efter några år att syntaxfelen upphör? Jag har använt en plugin för vi-keybindings i Netbeans men det blir inte samma sak.

Tack för en mycket intressant frågespalt. Förhoppningsvis blir det fler som ställer frågor.

Svar

Hej Daniel!

Vim har som standard ett inbyggt kommando som ser ut så här, :make. När man skriver det kommer Vim anropa make som kommer utföra det du angivit i din makefile. Sedan kommer utdatan från make tolkas och användas för att tillhandahålla en möjlighet att hoppa mellan nästa och föregående fel (Vilket man gör genom kommandona :cn och :cp, använd :cl för att lista alla fel). Sedan finns :set makeprg= som man bör använda om man kör annat byggsystem än make, t ex ant för Java-utveckling.

Tyvärr bidrar det inte till den funktionalitet som du efterfrågar, däremot kan man ladda ner insticksmoduler till vim som tillhandahåller närliggande beteende. Nedan följer några insticksmoduler som du kan ha intresse av:

http://www.vim.org/scripts/script.php?script_id=1431

http://www.vim.org/scripts/script.php?script_id=1861

http://www.eandem.co.uk/mrw/vim/syntax/index.html#ansic

http://www.vim.org/scripts/script.php?script_id=1553

Som du nämner finns där insticksmoduler till NetBeans och Eclipse för att få vi-keybindnings. Det finns även motsatsen, där man använder sig av Eclipse som en del av Vim, t ex Eclim (http://eclim.sourceforge.net/). Eclim kräver visserligen att man installerar Eclipse men kräver inte att man använder Eclipse i grafiskt läge.

Lycka till…

Datormagazin riktar sig till avancerade och intresserade datoranvändare och är även det enda magasinet i Sverige som har en fast sektion för bevakning av Linuxområdet men vi skriver om alla operativsystem.

Skriv ett svar

Skriv din kommentar
Ange ditt namn här