vim 超复杂查找替换3(已解决)

Vim、Emacs配置和使用
回复
hjjdebug
帖子: 94
注册时间: 2009-04-21 9:48

vim 超复杂查找替换3(已解决)

#1

帖子 hjjdebug » 2009-06-30 15:51

前两个都用宏解决了,第三个是不是也能用宏?! 我不知道
问题如下:

输入文件:编译过程中,有进入各个目录编译c文件的指示(简化的代码举例)

代码: 全选

    make -C img all
    gcc  -O -c -o img2srec.o img2srec.c
    gcc  -O  -o img2srec img2srec.o
    strip img2srec
    make -C img\tools all
    gcc -g  -O -c -o mkimage.o mkimage.c
    gcc -g  -O -c -o crc32.o crc32.c
    gcc  -O  -o mkimage mkimage.o crc32.o
    strip mkimage
    gcc -g  -O -c -o envcrc.o envcrc.c
    gcc  -O -o envcrc envcrc.o crc32.o environment.o
    gcc -g  -O -c -o gen_eth_addr.o gen_eth_addr.c
    gcc  -O  -o gen_eth_addr gen_eth_addr.o
    make -C img\logo all
    strip gen_eth_addr
    gcc  -O -c -o bmp_logo.o bmp_logo.c
    gcc  -O  -o bmp_logo bmp_logo.o
    gcc  -O -c -o bmp_logo.o bmp_logo2.c
    gcc  -O  -o bmp_logo2 bmp_logo2.o
输出文件:各个目录下的c 源文件名

代码: 全选

img:
    img2srec.c
img\tools:
    mkimage.c
    crc32.c
    envcrc.c
    gen_eth_addr.c
img\logo:
    bmp_logo.c
    bmp_logo2.c
原来对此问题,我是用perl 来解决。
如果直接用vim 编辑,如果只有一个目录,自然好编辑,如果多个目录,感觉不太好处理,难道需将
原文件折成多个文件再处理吗? 或者/ 能支持范围查找就好了。
说不定strange, poet 又能出奇招。欢迎指教,也欢迎其它同仁讨论,指教。
上次由 hjjdebug 在 2009-06-30 17:40,总共编辑 1 次。
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

Re: vim 超复杂查找替换3

#2

帖子 Strange » 2009-06-30 16:21

这个不就是简单的替换吗

1 删掉所有不包含make|.c的行
2 有.c的行里,把xxxx.c之外的东西替换掉
3 make的行里,把目录以外的东西替换掉
ニンニク入れますか?
x60 with gentoo
hjjdebug
帖子: 94
注册时间: 2009-04-21 9:48

Re: vim 超复杂查找替换3

#3

帖子 hjjdebug » 2009-06-30 17:06

果然不出所料,我怎么就没想到呢?
现在给出strange 提示下的一个答案。哎! 我是试了老半天才通过了。
如果有更好的,欢迎补充
%!grep "make\|.*\.c"
%s/^.*make \-C \([a-zA-Z\\]\+\).*$/\1:/
%s/^.* \(.*\.c\)/\t\1/
头像
Strange
帖子: 1824
注册时间: 2006-05-19 9:54
来自: Shanghai

Re: vim 超复杂查找替换3

#4

帖子 Strange » 2009-06-30 17:23

第一行可以用g命令的
:g!/make\|\.c/d
ニンニク入れますか?
x60 with gentoo
hjjdebug
帖子: 94
注册时间: 2009-04-21 9:48

Re: vim 超复杂查找替换3

#5

帖子 hjjdebug » 2009-06-30 17:33

strange 真乃我的良师益友!
hjjdebug
帖子: 94
注册时间: 2009-04-21 9:48

Re: vim 超复杂查找替换3(已解决)

#6

帖子 hjjdebug » 2009-06-30 17:42

三个问题! 很高兴! 很高效!
:em09 :em11
starwing
帖子: 100
注册时间: 2008-09-19 1:03

Re: vim 超复杂查找替换3(已解决)

#7

帖子 starwing » 2009-07-03 15:34

看来咱错过了很多好玩的东西了……
回复