【正文】
令這些編輯指令非常有彈性,基本上可以說是由指令與范圍所構成。例如 dw 是由刪除指令 d 與范圍 w 所組成,代表刪除一個字 d(elete) w(ord) 。指令行表如下:d刪除(delete)y復制(yank)p放置(put)c修改(change)范圍可以是下行幾個:e光標所在位置到該字的最后一個字母w光標所在位置到下個字的第一個字母b光標所在位置到上個字的第一個字母$光標所在位置到該行的最后一個字母0光標所在位置到該行的第一個字母)光標所在位置到下個句子的第一個字母(光標所在位置到該句子的第一個字母}光標所在位置到該段落的最后一個字母{光標所在位置到該段落的第一個字母說實在的,組合這些指令來編輯文件有一點點藝術氣息。不管怎么樣,它們提供更多編輯文字的能力。值得注意的一點是刪除與復制都會將指定范圍的內容放到暫存區(qū)里,然后就可以用指令 p 貼到其它地方去,這是 vi 用來處理區(qū)段拷貝與搬移的辦法。某些 vi 版本,例如 Linux 所用的 elvis 可以大幅簡化這一堆指令。如果稍微觀察一下這些編輯指令就會發(fā)現(xiàn)問題其實是定范圍的方式有點雜,實際上只有四個指令罷了。指令v非常好用,只要按下 v 鍵,光標所在的位置就會反白,然后就可以移動光標來設定范圍,接著再直接下指令進行編輯即可。對于整行操作, vi 另外提供了更方便的編輯指令。前面曾經(jīng)提到過刪除整行文字的指令 dd 就是其中一個;cc 可以修改整行文字;而 yy 則是復制整行文字;指令 D 則可以刪除光標到該行結束為止所有的文字。(四)、文件操作指令 文件操作指令多以 : 開頭,這跟編輯指令有點區(qū)別。:q 結束編輯(quit):q! 不存檔而要放棄編輯過的文件。:w 保存文件(write)其后可加所要存檔的檔名。:wq 即存檔后離開。zz 功能與 :wq 相同。:x 與:wq相同