對于":substitute"命令和很多其它的":"命令, 可以指使它們作用于
一 些 行 上, 這 叫 命 令 的 作 用 范 圍 . 作 用 范 圍 的 最 簡 單 形 式 是 兩 個 以 數 字 表
示的行號. 如下:
:1,5s/this/that/g
該 命 令 將 對 第1到 第5行 的 文 本 執 行 替 換 操 作. 也 包 括 第1行 和 第5行.
這樣的作用范圍總是放在命令的最開始
單個的數字指示命令將只作用于由該數字指定的行上:
:54s/President/Fool/
有 一 個 命 令 在 你 不 指 定 作 用 范 圍 時 默 認 是 對 整 個 文 件 進 行 操 作. 要 使
它 們 只 作 用 于 當 前 行 上, 可 以 在 命 令 前 放 一 個"."1 . ":write"就 是 這 種
命 令 的 典 型. 不 指 定 作 用 范 圍 , 它 將 寫 入 整 個 緩 沖 區 的 內 容 . 下 面 的 命
令使它只把當前行寫入指定文件:
:.write otherfile
第 一 行 的 行 號 一 定 是1. 但 是 最 后 一 行 呢? "$"用 于 代 表 最 后 一 行.
比如, 下面命令替換當前行到最后一行中所有的yes為no:
:.,$s/yes/no/
所以, 前面用到的"%"范圍指定符號, 實際上等價于"1,$".