LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1053|回复: 2

请教一个vim的问题

[复制链接]
发表于 2008-2-14 22:11:13 | 显示全部楼层 |阅读模式
一个vim脚本,功能是在文件的每行开头加上行号,脚本内容如下:

  1. :%s/^/^I/
  2. :$
  3. :let end=line(".")
  4. :1
  5. :let num=1
  6. :while num<=end
  7. :let line=getline(".")
  8. :let temp=substitute(line,$,num,"")
  9. :call setline(".",temp)
  10. :+
  11. :let num=num+1
  12. :endwhile

复制代码

其中:let temp=substitute(line,$,num,"")这行中$是什么意思呢,看起来应是在行尾加上行号是以啊,但运行是正确的,将$改为^反而不行
发表于 2008-2-15 09:12:05 | 显示全部楼层
虽然不知道为什么, 不过把 $ 换成 "^" 的效果是一样的, 而若换成 "$" 就是在行尾加行号了. 看来加双引号的才是正则表达式, 不加引号似乎另有其意. 具体的正在查
回复 支持 反对

使用道具 举报

发表于 2008-3-3 14:35:27 | 显示全部楼层
用得着这样吗,  你的意思是否用vi打开一个文件时在第行显示行号呀.要是这样,
set no就行了.
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表