ivaneeo's blog

自由的力量,自由的生活。

  BlogJava :: 首页 :: 联系 :: 聚合  :: 管理
  669 Posts :: 0 Stories :: 64 Comments :: 0 Trackbacks
对于":substitute"命令和很多其它的":"命令, 可以指使它们作用于
一 些 行 上, 这 叫 命 令 的 作 用 范 围 . 作 用 范 围 的 最 简 单 形 式 是 两 个 以 数 字 表
示的行号. 如下:
    :1,5s/this/that/g
  该 命 令 将 对 第1到 第5行 的 文 本 执 行 替 换 操 作. 也 包 括 第1行 和 第5行.
这样的作用范围总是放在命令的最开始

单个的数字指示命令将只作用于由该数字指定的行上:
    :54s/President/Fool/

   有 一 个 命 令 在 你 不 指 定 作 用 范 围 时 默 认 是 对 整 个 文 件 进 行 操 作. 要 使
它 们 只 作 用 于 当 前 行 上, 可 以 在 命 令 前 放 一 个"."1 . ":write"就 是 这 种
命 令 的 典 型. 不 指 定 作 用 范 围 , 它 将 写 入 整 个 缓 冲 区 的 内 容 . 下 面 的 命
令使它只把当前行写入指定文件:
    :.write otherfile

第 一 行 的 行 号 一 定 是1. 但 是 最 后 一 行 呢? "$"用 于 代 表 最 后 一 行.
比如, 下面命令替换当前行到最后一行中所有的yes为no:
    :.,$s/yes/no/
所以, 前面用到的"%"范围指定符号, 实际上等价于"1,$".

posted on 2005-11-07 22:04 ivaneeo 阅读(193) 评论(0)  编辑  收藏 所属分类: GNU牛力

只有注册用户登录后才能发表评论。


网站导航: