学习vi和vim编辑器(6):ex编辑器概述(1)

本文详细介绍了vi编辑器如何通过ex行编辑器实现更强大的编辑功能,包括如何打开文件、使用ex命令进行高效编辑、保存与离开文件等关键步骤。同时,阐述了ex编辑器的常用命令、行寻址符号、搜索模式及合并命令的技巧,为用户提供了一站式的学习指南。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

vi编辑器使用的底层编辑器就是ex行编辑器,可以认为vi编辑器是ex行编辑器的可视化模式。ex可以给你机动性更高,能力更强的编辑命令。ex以行为导向,在对文件做大规模改变时就成了优点。

打开文件:

" ex filename "命令使用ex行编辑器打开文件,它列出来了文件的总行数及命令提示符(:),此时无法看到文件的任何一行,除非下达显示一行或多行的ex命令,如下图所示:

ex命令由行地址(可以只是一个行号)以及相应的命令构成。最基本的命令就是p,代表打印(到屏幕),所以在命令提示符中输入" 1p "代表打印第一行。此时甚至可以省略p,单纯的输入行号等价于显示该行。通过在两个数值间用逗号分隔来指定一个范围的行号,例如" 1,3 "代表第1至第3行。没有行号的命令只会对当前行起作用。

输入" :vi "命令可以从ex编辑器进入vi编辑器,也可以在vi编辑器中输入" Q "进入ex编辑器。想在vi编辑器中使用ex编辑器命令,必须输入特定字符 :(冒号)。在冒号后面输入行号,就可以直接跳转到该行,例如" :6 "等效于vi编辑器中的" 6G "命令,都是将光标移动到第6行。

用ex编辑:

许多负责常见编辑操作的ex命令在vi中都有相应的更简单的命令。但是如果需要改变许多行时,ex命令可能更有用。常见的ex命令有:

全名    缩写   功能

delete  d    删除行

move   m   移动行

copy    co  复制行

             t    复制行

行地址:每一个ex编辑命令都需要知道要编辑的行号。指定行地址有如下几种方法:

(1)明确的指定行号;

(2)用符号来指定相对于当前位置的行号;

(3)标识某些行的搜索模式作为地址;

定义行范围:通过行号来清楚地定义某一行或某段行的范围。明确的指定行号也称为绝对行地址。例如

:3,18d 删除3到18行;

:160,224m23 将第160行到第244行移动到第23行之后;

:23,29co100  将第23行到第29行复制到第100行之后;

通过:set nu 或:set number 来显示行号,通过:set nonu或者 :set nonumber来关闭行号的显示。 可以通过#来暂时显示某些行的行号,例如" :1,10# "可以暂时显示第1行到第10行的行号。另外通过如下命令也可以得到行号的信息:

:= 列出文件的总行数;

:.= 列出当前行的行号;

:/pattern/= 列出pattern第一次出现时的行号;

行寻址符号:可以使用符号表示行地址,这些行寻址符号可以和绝对行地址合并使用。

. 表示当前行;

$表示文件的最后一行;

%表示文件的每一行,等同于" 1,$ "的组合;

例如" : . ,$ d "删除当前行到文件结尾间的文本。" :20 , . m $ "将第20行到当前行的文件内容移动到文件结尾。" :%d "删除文件的所有行。" :%t$ "将所有行复制到文件的结尾(做连续的复制)。

除了指定绝对行地址之外,还可以指定相对于当前这一行的地址。+与-代表加上或减去后面的数值,例如" : . , +20d "删除当前这一行到该行之后20行的文件内容。" :226 , $ m  -2 "将第226行到文件结尾的文件内容移动到当前行的两行之前。数字0表示文件开头,也就是第一行文本之前,所以0等效于1-。

搜索模式:使用搜索模式也可以指定行地址。例如

:/pattern/d 删除下一个包含pattern的行;

:/pattern/+d删除下一个包含pattern的行的下一行;

:/pattern1/,/pattern2/d 从第一个包含pattern1的行删除到第一个包含pattern2的行;

这些模式的前后都要使用斜线作为分界线。

重新定义当前这一行的位置:当用分号代替逗号时,第一个行地址将会作为当前行地址,即使此时光标不在该行上。例如" :100;+5 p " 即可显示第100行及其之后5行的内容。

全局搜索:

ex中有一个全局命令g,可以搜索模式并显示所有包含这个模式的行。而" :g! "的功能则正好与" :g "相反,搜索所有不包含指定模式的行。

:g/pattern 寻找(移到)文件最后一次出现pattern的地方;

:g/pattern/p 寻找并显示文件中所有包含pattern的行;

:g!/pattern/nu 寻找并显示文件中所有不包含pattern的行,同时显示所有找到行的行号;

:60,124g/pattern/p 寻找并显示第60行与第124行之间包含pattern的行。

合并ex命令:

想输入新的ex命令,并不是每次都需要输入冒号,可以使用竖线(|)分隔命令,从而在同一个ex提示符下合并多个命令。

保存并离开文件:

:w  将缓冲区的内容写入到文件中,但不离开。编辑文件时应该经常使用" :w ";

:q  离开编辑器;

:wq 写入文件同时离开编辑器,这是无条件写入,即使文件没有被修改;

:x  写入文件同时离开编辑器。只有文件被修改过时才会写入;


本章vi命令总结:

ex,1p,1,2p,d,m,co,t,:=,:.=,:/pattern/=,.,$,% ,+,-,:/pattern/d,:g,:g!,|,:w,:q,

:wq,:x


特色功能: *快速启动 *极致Metro UI *快速上手 *支持皮肤简介 *支持皮肤版权修改 *支持搜索 ex编辑器#历史版本: #3.2——2014-6-1 *修复皮肤绘图功能失效 *修复按钮位置错乱 #3.1——2014-5-15 *加入自动更新功能。 *加入非默认编辑器修正功能。 *修正易语言安装目录读取错误BUG。 *修正在很多皮肤素材时界面缓冲卡顿BUG。 *修正与eapi.fne(应用接口支持库)冲突对话框“死缠烂打”。 *其他多项细节改进。 #3.0——2014-5-11 *改进UI,酷炫视觉,极致Metro(WP+Win8)风格,极简、极易上手使用体验。 *可调节窗口大小,最小960*600。 *修正素材列表无法显示BUG(感谢 @EX大神 指导)。 *修正素材动画框不绘画BUG *继续优化启动速度,0.3秒可以启动。 *修改软件名称为:“ex编辑器#” *其他多项细节改进。 #2.2——2014-5-7 *继续提升启动速度20%,0.4秒启动。 *加入皮肤搜索历史记录功能。 *修正皮肤素材参数读取错误BUG。 *优化程序体积。 *优化界面,控制透明度,更Metro。 *其他多项细节改进。 #2.1——2014-5-6 *全新wpMetro界面,华丽登场。 *大面积更换EX_UI控件编写。 *使用静态编译,启动速度提高300%。 *加入皮肤搜索功能。 *列表可直接看到简介。 *默认控件更改为wpMetro风格控件。 *加入颜色选择器获得焦点时滚动鼠标快速换色。 *加入文件关联。 *画板颜色更改BUG修复。 *界面布局改进。 *其他多项细节改进。 #2.0 ——2014-4-30 1.改进界面,更加美观大方、科学合理。 2.开启exui简介功能,并可以建立、查看、修改简介。 3.皮肤素材画笔增加可选背景色功能,并可保存颜色设置。 4.增加修改数据功能,可以修改作者、控件名、简介。 5.改进新建页面,加入保存历史记录功能。 6.加入更多快捷键。 安装说明: *为保证可以正常使用本程序功能,请将整个文件夹解压到易语言安装目录, *解压后主程序路径应该为:X:\…\易语言安装目录\ex_ui\ex_ui属性选择对话框.exe(#3.1版本后可以自动提示纠正路径文件名,除非你选择了取消,忽略) ——ex编辑器#(天朝红雨修改版) 版权声明: *程序基于【每一天,为明天】的开源软件“EX-UI皮肤编辑器1.0”核心修改优化, *程序已对上个版本做了有限的优化,但离完美差之甚远,保持开源,望能抛砖引玉。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值