O'Reilly logo

Learning the vi and Vim Editors, 7th Edition by Linda Lamb, Elbert Hannah, Arnold Robbins

Stay ahead with the world's most comprehensive technology and business learning platform.

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, tutorials, and more.

Start Free Trial

No credit card required

Compiling and Checking Errors with Vim

Vim isn’t an Integrated Development Environment (IDE), but it tries to make life a little easier for programmers by incorporating compilation into the edit session and providing a quick and easy way to find and correct errors.

Additionally, Vim offers some convenience functions to track and navigate locations in your files. We discuss a simple example: the edit-compile-edit cycle using Vim’s built-in features and some of its related commands and options, as well as the convenience functions. All of these depend on the same Vim Quickfix List window.

As a simple starting point, Vim lets you compile files using make each time you change one. Vim uses default behavior to manage the results of your build so that you can easily alternate between editing and compilation. Compilation errors appear in Vim’s special Quickfix List window, where you can inspect, jump to, and correct errors.

For this topic we use a little C program that generates Fibonacci numbers. In its correct and compilable form, the code is:

# include <stdio.h> int main(int argc, char *argv[]) { /* * arg 1: starting value * arg 2: second value * arg 3: number of entries to print * */ if (argc - 1 != 3) { printf ("Three command line args: (you used %d)\n", argc); printf ("usage: value 1, value 2, number of entries\n"); return (1); } /* count = how many to print */ int count = atoi(argv[3]); /* index = which to print */ long int index; /* first and second passed in on command line */ long ...

With Safari, you learn the way you learn best. Get unlimited access to videos, live online training, learning paths, books, interactive tutorials, and more.

Start Free Trial

No credit card required