功能说明:在Ex模式下启动vim文本编辑器。ex执行效果如同vi -E,使用语法及参数可参照vi指令,如要从Ex模式回到普通模式,则在vim中输入:vi或:visual即可。
~~~~~~~~~~~~~~~~~~~~~~~~~~~~
vi 了解 ex 编辑命令
1,工作方式示例
2,使用 ex 编辑
ex 允许使用单个命令对大的文本块进行修改,因此如果相对很多行进行编辑时,ex 会更有用;
下面列出 ex 命令,中间为这些命令的缩写,当然,如果在 vi 中使用时,必须在 ex 命令前加上冒号。
delete d 删除行
move m 移动行
copy co 复制行
t 复制行
- 关于行地址
每个 ex 编辑命令都必须给出 ex 所要编辑的行,主要通过以下几种方式指定行地址:
- 明确的行号
- 使用能帮助你指定相对于文件中当前位置的行号的符号
- 使用搜索模式作为标识所要编辑的行的地址
:3,18d 删除3~18行
:160,224m23 移动 160~224行到 23 行的下面(如同vi中的delete和put)
:23,29co100 复制23~29行并把它们粘贴到100行的后面(如同vi中的yank和put)
:= 显示总行数 == ctrl+g
:.= 显示当前行的行号
:/pattern/= 显示第一个与模式匹配的行的行号
- 行地址符
可以使用表示行地址的符号,点(.)表示当前行;$ 代表文件的最后一行; % 代表文件中的每一行,等价于 1,$ 的组合。
* 与绝对地址的组合
:.,$d 删除从当前行到文件结尾之间的文本
:20,.m$ 把从20行到当前行的文本移动到文件的结尾
:%d 删除文件中的所有行
:%t$ 复制所有行并它们粘贴到文件的尾部(成为连续的副本)
* 相对地址组合(符号+和-放置在数字前会加上或者减去符号后的数值)
:.,.+20d 删除从当前行开始向下的 20 行
:226,$m.-2 把 226 行到文件末尾的文本移动到当前行上面的第 2 行
:.,+20#