修改vim中所有的相同内容的方法

梦里伊人 posted @ 2008年10月08日 17:22 in Linux系统的相关知识 , 2686 阅读

        修改vim中所有的相同内容的方法

    假设有一个vim文件,内容如下:

        while(!feof(fp1))
        {
                int ret=fscanf(fp1,"%d %f %f %f %f %f %f",&i,
                                &a[0],&a[1],&a[2],&a[3],&a[4],&a[5]);
                if (ret!=7)
                        break;
                if (i==0)
                {
                        printf("%d\n",i);
                        if((fp = fopen("test0.asc","a+"))==NULL)
                        {
                                printf("open test0.asc Error!\n");
                                return 1;
                        }
                        fprintf(fp,"%f %f %f %f %f %f\n",
                                        a[0],a[1],a[2],a[3],a[4],a[5]);
                        fclose(fp);
                }
                if (i==4)
                {
                        printf("%d\n",i);

                        if((fp = fopen("test4.asc","a+"))==NULL)
                        {
                                printf("open test4.asc Error!\n");
                                return 1;
                        }
                        fprintf(fp,"%f %f %f %f %f %f\n",
                                        a[0],a[1],a[2],a[3],a[4],a[5]);
                        fclose(fp);
                }
                if (i==1)              
                {
                        printf("%d\n",i);

                        if((fp = fopen("test1.asc","a+"))==NULL)
                        {
                                printf("open test1.asc Error!\n");
                                return 1;
                        }
                        fprintf(fp,"%f %f %f %f %f %f\n",
                                        a[0],a[1],a[2],a[3],a[4],a[5]);
                        fclose(fp);
                }
                if (i==2)
                {
                        printf("%d\n",i);

                        if((fp = fopen("test2.asc","a+"))==NULL)
                        {
                                printf("open test2.asc Error!\n");
                                return 1;
                        }
                        fprintf(fp,"%f %f %f %f %f %f\n",
                                        a[0],a[1],a[2],a[3],a[4],a[5]);
                        fclose(fp);
                }
                if (i==3)
                {
                        printf("%d\n",i);

                        if((fp = fopen("test3.asc","a+"))==NULL)
                        {
                                printf("open test3.asc Error!\n");
                                return 1;
                        }
                        fprintf(fp,"%f %f %f %f %f %f\n",
                                        a[0],a[1],a[2],a[3],a[4],a[5]);
                        fclose(fp);
                }
        }
 

要想将里面所有的“fp”都改成“file”,如果不利用菜单中的查找替换功能而使用命令,方法为:找到其中一个fp,按住shift键同时用鼠标左击fp,则所有的fp都高亮显示,按Esc到标准模式下,将鼠标放到fp的第一个字母上,依次按c、w键,可见该处的fp被删除并进入键入模式,输入“file”,再按Esc到标准模式下,按n键,见光标跳到下一个fp上,按“。”键,可见该处的fp随即被替换成“file”,再依次按“n”和“。”到最后一个fp被替换成“file”为止。   (总结:分别按“Esc”->“c”"w"->替换的内容->"Esc"->"n"->"。")

Head_small
tt 说:
2008年11月01日 19:18

用正则表达式修改更方便,
呵呵。。。


登录 *


loading captcha image...
(输入验证码)
or Ctrl+Enter