← Back to team overview

sslug-teknik team mailing list archive

Re: Re: Vi og linienummer

 

On Fri, 16 Nov 2007 08:57:24 +0100
Mads Jensen <madsj@xxxxxxxxx> wrote:

> -----BEGIN PGP SIGNED MESSAGE-----
> Hash: SHA1
> 
> Hej,
> 
> > I  "VI"  kan man via "se nu" få vist linienummer.
> > 
> > Hvordan får man linienummer til at forblive i filen ?
> 
> Det er vist ikke i filen på noget tidspunkt, men bare i marginen ?
> 
> > Via noget perl? eller kan "VI" selv?
> 
> Følgende C-kode burde vist kunne gøre:
> 
> #include <stdio.h>
> #include <stdlib.h>
> 
> int main(int argc,char *argv[]){
> 	FILE* fin,*fout;
> 	char* buf;
> 	int i;
> 
>         if(argc<3){
>                 fprintf(stderr,"lineno <input file> <output file>\n");
>                 return EXIT_FAILURE;
>         }
> 
> 	i = 0;
> 	buf = (char*)malloc(1024*sizeof(char));
> 	fin = fopen((const char *)argv[1],"r");
> 	fout = fopen((const char *)argv[2],"w");
> 	++i;
> 	fgets(buf,1024,fin);
> 	while(!feof(fin)){
> 		fprintf(fout,"%i %s",i,buf);
> 		fgets(buf,1024,fin);
> 		++i;
> 	}
> 	fclose(fin);
>         fclose(fout);
> 
> 	free(buf);
> 	return EXIT_SUCCESS;
> }
> 
> Det er compilet med (og testet):
> gcc -O2 -pedantic -ansi -W -Wall -o lineno lineno.c
> 
> Håber, at det var det, du ville have :-)


1) der blev spurgt om hvordan det kunne gøres i vi
2) hvorfor skrive så meget kode når næsten enhver linux distribution har
programmet nl installeret der gør et samme. 


-- 
    Kim Schulz       | Blog: http://www.schulz.dk/
Email: Kim@xxxxxxxxx | Work: http://www.devteam.dk/
Phone: +45 5190 4262 | Fun : http://www.chilifan.dk/


References