(vi) - 功能强大的纯文本编辑器

vi

功能强大的纯文本编辑器

补充说明

vi命令 是UNIX操作系统和类UNIX操作系统中最通用的全屏幕纯文本编辑器。Linux中的vi编辑器叫vim,它是vi的增强版(vi Improved),与vi编辑器完全兼容,而且实现了很多增强功能。

vi编辑器支持编辑模式和命令模式,编辑模式下可以完成文本的编辑功能,命令模式下可以完成对文件的操作命令,要正确使用vi编辑器就必须熟练掌握着两种模式的切换。默认情况下,打开vi编辑器后自动进入命令模式。从编辑模式切换到命令模式使用“esc”键,从命令模式切换到编辑模式使用“A”、“a”、“O”、“o”、“I”、“i”键。

vi编辑器提供了丰富的内置命令,有些内置命令使用键盘组合键即可完成,有些内置命令则需要以冒号“:”开头输入。常用内置命令如下:

Ctrl+u:向文件首翻半屏;
Ctrl+d:向文件尾翻半屏;
Ctrl+f:向文件尾翻一屏;
Ctrl+b:向文件首翻一屏;
Esc:从编辑模式切换到命令模式;
ZZ:命令模式下保存当前文件所做的修改后退出vi;
:行号:光标跳转到指定行的行首;
:$:光标跳转到最后一行的行首;
x或X:删除一个字符,x删除光标后的,而X删除光标前的;
D:删除从当前光标到光标所在行尾的全部字符;
dd:删除光标行正行内容;
ndd:删除当前行及其后n-1行;
nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字;
p:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的下方;
P:粘贴文本操作,用于将缓存区的内容粘贴到当前光标所在位置的上方;
/字符串:文本查找操作,用于从当前光标所在位置开始向文件尾部查找指定字符串的内容,查找的字符串会被加亮显示;
?name:文本查找操作,用于从当前光标所在位置开始向文件头部查找指定字符串的内容,查找的字符串会被加亮显示;
a,bs/F/T:替换文本操作,用于在第a行到第b行之间,将F字符串换成T字符串。其中,“s/”表示进行替换操作;
a:在当前字符后添加文本;
A:在行末添加文本;
i:在当前字符前插入文本;
I:在行首插入文本;
o:在当前行后面插入一空行;
O:在当前行前面插入一空行;
:wq:在命令模式下,执行存盘退出操作;
:w:在命令模式下,执行存盘操作;
:w!:在命令模式下,执行强制存盘操作;
:q:在命令模式下,执行退出vi操作;
:q!:在命令模式下,执行强制退出vi操作;
:e文件名:在命令模式下,打开并编辑指定名称的文件;
:n:在命令模式下,如果同时打开多个文件,则继续编辑下一个文件;
:f:在命令模式下,用于显示当前的文件名、光标所在行的行号以及显示比例;
:set number:在命令模式下,用于在最左端显示行号;
:set nonumber:在命令模式下,用于在最左端不显示行号;

语法

vi(选项)(参数)

选项

+<行号>:从指定行号的行开始先是文本内容;
-b:以二进制模式打开文件,用于编辑二进制文件和可执行文件;
-c<指令>:在完成对第一个文件编辑任务后,执行给出的指令;
-d:以diff模式打开文件,当多个文件编辑时,显示文件差异部分;
-l:使用lisp模式,打开“lisp”和“showmatch”;
-m:取消写文件功能,重设“write”选项;
-M:关闭修改功能;
-n:不实用缓存功能;
-o<文件数目>:指定同时打开指定数目的文件;
-R:以只读方式打开文件;
-s:安静模式,不现实指令的任何错误信息。

参数

文件列表:指定要编辑的文件列表。多个文件之间使用空格分隔开。

知识扩展

vi编辑器有三种工作方式:命令方式、输入方式和ex转义方式。通过相应的命令或操作,在这三种工作方式之间可以进行转换。

命令方式

在Shell提示符后输入命令vi,进入vi编辑器,并处于vi的命令方式。此时,从键盘上输入的任何字符都被作为编辑命令来解释,例如,a(append)表示附加命令,i(insert)表示插入命令,x表示删除字符命令等。如果输入的字符不是vi的合法命令,则机器发出“报警声”,光标不移动。另外,在命令方式下输入的字符(即vi命令)并不在屏幕上显示出来,例如,输入i,屏幕上并无变化,但通过执行i命令,编辑器的工作方式却发生变化:由命令方式变为输入方式。

输入方式

通过输入vi的插入命令(i)、附加命令(a)、打开命令(o)、替换命令(s)、修改命令(c)或取代命令(r)可以从命令方式进入输入方式。在输入方式下,从键盘上输入的所有字符都被插入到正在编辑的缓冲区中,被当做该文件的正文。进入输入方式后,输入的可见字符都在屏幕上显示出来,而编辑命令不再起作用,仅作为普通字母出现。例如,在命令方式下输入字母i,进到输入方式,然后再输入i,就在屏幕上相应光标处添加一个字母i。

由输入方式回到命令方式的办法是按下Esc键。如果已在命令方式下,那么按下Esc键就会发出“嘟嘟”声。为了确保用户想执行的vi命令是在命令方式下输入的,不妨多按几下Esc键,听到嘟声后再输入命令。

ex转义方式

vi和ex编辑器的功能是相同的,二者的主要区别是用户界面。在vi中,命令通常是单个字母,如a,x,r等。而在ex中,命令是以Enter;键结束的命令行。vi有一个专门的“转义”命令,可访问很多面向行的ex命令。为使用ex转义方式,可输入一个冒号(:)。作为ex命令提示符,冒号出现在状态行(通常在屏幕最下一行)。按下中断键(通常是Del键),可终止正在执行的命令。多数文件管理命令都是在ex转义方式下执行的(例如,读取文件,把编辑缓冲区的内容写到文件中等)。转义命令执行后,自动回到命令方式。例如:

:1,$s/I/i/g 按Enter键

则从文件第一行至文件末尾($)将大写I全部替换成小写i。vi编辑器的三种工作方式之间的转换如图所示。

!vi

热点新闻

理想汽车回应车辆起火事件:初步判断为疑似铁片击穿高压油管

北京时间8月7日凌晨消息,今日凌晨理想汽车在官方微博发布事故说明称,2020年8月6日16点09分左右,发生在广东省肇庆市二广高速四会、连州方向的车辆起火事故,原因初步判断为疑似铁片的物体被高速行驶的车辆卷起,并击穿了高压油管,造成燃油喷溅并被排气管高温引燃。具体的事故原因及详细分析结果,有待事故现场的详细勘察及分析。 阅读全文

发布于:2020-08-07T04:14:42Z  |  91次阅读  |  详细内容 »

Firefox 79稳定版导致部分Mac用户陷入不明卡顿

Firefox 79 是 Mozilla 目前提供的最新稳定版本,包含了功能和安全性方面的全面保障。在 Windows 平台上,Firefox 79 的 WebRender 可充分发挥 Intel 和 AMD 显卡的性能。然而在 macOS 上,Firefox 79 的改进不仅不明显(主要集中在底层),甚至还引入了一个奇怪的 bug 。 阅读全文

发布于:2020-08-07T16:47:13Z  |  77次阅读  |  详细内容 »

管虎抗美援朝电影《金刚川》立项 传吴京已进组拍摄

根据国家电影局的公示,管虎执导的抗美援朝题材电影《金刚川》已经立项。影片的故事梗概为:以三个视点讲述一个故事:工兵桥修好又被炸毁再度修好……一个屹立不倒、令敌人费解的战争奇迹! 有媒体报道,演员吴京已经进入《金刚川》剧组拍摄。目前影片并未官宣阵容。 阅读全文

发布于:2020-08-07T16:47:06Z  |  75次阅读  |  详细内容 »

行政令45天后 美商务部将如何决定微信的命运?

特朗普政府打压对中资企业的行动还在持续。其影响也将波及到更广泛的民间通信,以及美国科技公司的业务。而影响程度有多深,则将取决于美国商务部的具体执行措施。当地时间8月6日(周四),特朗普签署两项行政命令,分别宣布将在45天后禁止任何美国个人及实体与TikTok母公司字节跳动进行任何交易,禁止美国个人及实体与微信及其母公司腾讯有关的任何交易。 阅读全文

发布于:2020-08-08T21:14:36Z  |  68次阅读  |  详细内容 »

Dr Disrespect重返流媒体 将在YouTube、Facebook和官网直播

今年 3 月,Guy“Dr Disrespect”Beahm 与流媒体直播平台 Twitch 签订了独家协议。然而 6 月份的时候,他又被该平台永久封禁了账号,目前尚不清楚背后的原因。最新消息是,外媒报道称,Dr Disrespect 即将重返流媒体,首个直播将于美东时间 8 月 7 日下午 3 点上线,只是平台换成了 YouTube 。 阅读全文

发布于:2020-08-07T13:44:51Z  |  64次阅读  |  详细内容 »

TikTok和微信被打压:这些关键信息不能忽视

北京时间8月8日下午消息,美国总统唐纳德·特朗普下令全面禁止在美国司法管辖范围内与热门应用TikTok(抖音海外版)和WeChat(微信海外版)的中国所有者展开交易,但具体细节含糊不清。特朗普称,这些畅销美国的热门应用对美国国家安全、外交政策和经济构成了威胁。 阅读全文

发布于:2020-08-08T18:14:55Z  |  63次阅读  |  详细内容 »

2020年7月Android手机品牌排行榜

感谢测速网的投递根据“网速管家”大数据统计,2020年7月,安卓手机市场占有率中,华为占比26.4%,位列第一,小米占比17.24%,位列第二,荣耀占比15.3%,位列第三,三者加起来占据了近60%的中国市场,而华为一家就占据了41.7%的安卓手机市场份额。 阅读全文

发布于:2020-08-07T15:15:25Z  |  63次阅读  |  详细内容 »

特斯拉柏林超级工厂驱动装置厂房屋顶结构已成型 喷漆厂房正在施工

8月7日消息,据国外媒体报道,本月开始厂房施工的特斯拉柏林超级工厂,正在加速建设,以尽快投入运营,并为欧洲用户生产跨界运动型多用途电动汽车Model Y。特斯拉柏林超级工厂,当地时间周四也在社交媒体上公布了工厂的建设状况,并公布了多张图片。 阅读全文

发布于:2020-08-07T13:44:52Z  |  63次阅读  |  详细内容 »

谷歌发布Android 11 Beta 3 距离正式版仅咫尺之遥

谷歌于今日发布了 Android 11 的第三个公测版本,意味着谷歌移动操作系统的下一个大版本更新距离与大家正式见面又近了一步。继上次宣布转入平台稳定阶段以后,谷歌并未在 Android 11 Beta 3 中引入太多新内容,而是更专注于 bug 修复。不过与 COVID-19 密切接触者追踪服务有关的“曝光通知系统”,还是迎来了一些改变。 阅读全文

发布于:2020-08-07T10:45:19Z  |  63次阅读  |  详细内容 »

特斯拉V3超级充电桩落地北上广:充电15分钟跑250公里

15分钟可以干啥?玩两把斗地主,一局王者荣耀?用特斯拉最新的V3超级充电桩,可以补充250km续航。据特斯拉官方消息,V3超级充电桩已经在北京华贸中心超级充电站、上海金桥超级充电站、广州长华创意谷超级充电站落地。随后,将继续在全国各地陆续开放新的V3站点,并实现全年新增4000个超级充电桩“含V3超级充电桩”的目标。 阅读全文

发布于:2020-08-10T20:14:51Z  |  62次阅读  |  详细内容 »

微软新视频展示xCloud项目配套手机游戏手柄

在宣布xCloud项目与XboxGame Pass最终登陆Android设备后,微软已经展示了一系列专用配件。今天,Xbox之家发布了一段新的视频,视频中来自Xbox合作伙伴硬件公司的Scott Weber展示了这些配件。目前已经有不少针对性的设备,包括来自Razer/PowerA/8BitDO等厂商,另外还有来自Steel Series的兼容耳机。 阅读全文

发布于:2020-08-10T02:14:47Z  |  61次阅读  |  详细内容 »

美FDA重申新冠疫苗审批不会“跳步骤” 有效率50%是底线

美国食品药品监督管理局(FDA)局长史蒂芬·哈恩(Stephen Hahn)博士8月7日在《美国医学会杂志》(JAMA)上撰文称,新冠疫苗批准上市前一定要经过严格的审核,FDA不会走捷径。哈恩博士等人发表的题为《新冠疫苗坚定的监管保障》的观点文章称,美国将引入独立专家审查新冠候选疫苗,并依据现有的医疗产品法律法规标准,以确保其安全有效。 阅读全文

发布于:2020-08-08T16:44:33Z  |  61次阅读  |  详细内容 »

美记者:谷歌和苹果App商店里TikTok和微信可能被下架

美国总统特朗普签署行政令对TikTok和微信下手,声称要在45天后停止与TikTok母公司字节跳动进行任何交易,同时禁止与微信母公司腾讯进行任何有关微信的交易。但关于如何禁止?这些问题在行政令中并未明确。 阅读全文

发布于:2020-08-08T00:15:28Z  |  61次阅读  |  详细内容 »

为遏制疫情,洛杉矶市长:你轰趴,我断电

为遏制疫情期间的大规模娱乐活动,洛杉矶市长加希提5日颁布一项“硬核劝退”举措——“你轰趴、我断电”。美国《纽约邮报》5日报道称,洛杉矶近期已经关闭市内所有“夜生活”场所,但该市许多豪宅别墅仍然是夜夜笙歌,简直“就是把夜店搬回了家”,给疫情传播造成巨大隐患。 阅读全文

发布于:2020-08-07T04:14:40Z  |  61次阅读  |  详细内容 »

特朗普的微信“禁令”究竟有何效力?

继TikTok之后,微信(WeChat)也在海外市场遭遇了巨大危机。北京时间8月7日,美国总统特朗普签署两项行政命令,宣布将在45天后禁止任何美国个人及企业与TikTok母公司字节跳动进行任何交易,禁止美国个人及企业与腾讯公司进行与微信有关的任何交易。 阅读全文

发布于:2020-08-08T21:14:35Z  |  60次阅读  |  详细内容 »

Facebook宣布开源Instagram安全工具Pysa

2020 上半年,Pysa 在 Instagram 服务器端的 Python 代码中检测到了 44% 的安全漏洞。今天,Facebook 宣布正式将这款安全工具开源,以便广大开发者在应用程序庞大的 Python 代码库中进行 bug 查找和修复。作为一款静态分析器,其原理是在代码运行 / 编译之前,以静态的形式扫描代码、查找潜在已知的错误模式、然后帮助开发者标注出潜在的问题。 阅读全文

发布于:2020-08-08T12:14:51Z  |  60次阅读  |  详细内容 »

热门Linux命令