关于vi:Linux-Vim编辑器的基本使用

一、VIM编辑器1)vi概述vi(visual editor)编辑器通常被简称为vi,它是Linux和Unix零碎上最根本的文本编辑器,相似于Windows 零碎下的notepad(记事本)编辑器。 2)vim编辑器Vim(Vi improved)是vi编辑器的加强版,比vi更容易应用。vi的命令简直全副都能够在vim上应用。 3)vim编辑器的装置☆ 已装置Linux通常都曾经默认装置好了 vi 或 Vim 文本编辑器,咱们只须要通过vim命令就能够间接关上vim编辑器了,如下图所示:我租服务器近程连贯的 未装置有些精简版的Linux操作系统,默认并没有装置vim编辑器(可能自带的是vi编辑器)。当咱们在终端中输出vim命令时,零碎会提醒"command not found"。 解决办法:有网的前提下,能够应用yum工具对vim编辑器进行装置 装置vim且询问是否时主动抉择yesyum install vim -y124)vim编辑器的四种模式(!)☆ 命令模式应用VIM编辑器时,默认处于命令模式。在该模式下能够挪动光标地位,能够通过快捷键对文件内容进行复制、粘贴、删除等操作。 ☆ 编辑模式或输出模式在命令模式下输出小写字母a或小写字母i即可进入编辑模式,在该模式下能够对文件的内容进行编辑 ☆ 末行模式在命令模式下输出冒号:即可进入末行模式,能够在末行输出命令来对文件进行查找、替换、保留、退出等操作 ☆ 可视化模式能够做一些列选操作(通过方向键抉择某些列的内容,相似于Windows鼠标刷黑) 二、VIM四种模式的关系1)VIM四种模式命令模式编辑模式末行模式可视化模式2)VIM四种模式的关系 三、VIM编辑器的应用1)应用vim关上文件根本语法: vim 文件名称① 如果文件已存在,则间接关上 ② 如果文件不存在,则vim编辑器会主动在内存中创立一个新文件 案例:应用vim命令关上readme.txt文件 vim readme.txt2)vim编辑器保留文件在任何模式下,间断按两次Esc键,即可返回到命令模式。而后按冒号:,进入到末行模式,输出wq,代表保留并退出。 3)vim编辑器强制退出(不保留)在任何模式下,间断按两次Esc键,即可返回到命令模式。而后按冒号:,进入到末行模式,输出q!,代表强制退出然而不保留文件。 4)命令模式下的相干操作(!)☆ 如何进入命令模式答:在Linux操作系统中,当咱们应用vim命令间接关上某个文件时,默认进入的就是命令模式。如果咱们处于其余模式(编辑模式、可视化模式以及末行模式)能够间断按两次Esc键也能够返回命令模式 ☆ 命令模式下咱们能做什么① 挪动光标 ② 复制 粘贴 ③ 剪切 粘贴 删除 ④ 撤销与复原 ☆ 挪动光标到首行或末行(!)挪动光标到首行 => gg 挪动光标到末行 => G ☆ 翻屏向上 翻屏,按键:ctrl + b (before) 或 PgUp 向下 翻屏,按键:ctrl + f (after) 或 PgDn ...

August 18, 2022 · 2 min · jiezi

关于vi:VI编辑命令

February 8, 2022 · 0 min · jiezi

关于vi:oeasy教您玩转vim-44-综合练习

综合练习回顾上节课内容上次咱们学到了各种的替换模式 r,替换以后光标的字符 R,进入替换模式~,扭转大小写这次来个综合练习吧!咱们这次要实现这样一个工作 咱们有的时候须要写日志 System.out.println("[debug]1=====");然而这些日志,如何疾速插入并且主动编号呢?咱们来试试加法操作 首先输出好根本内容,如上图并且在System那一行yy而后p进行粘贴而后ctrl+a将具体的数字加1这到底是为什么?查问帮忙h CTRL-A查问快捷键作用 而后再p进行粘贴而后3ctrl+a,将原来的1加3失去4如果是减法的话,能够用ctrl+x实现减法操作首先是曾经存在的内容,如图 我心愿疾速增加一条 .news 的记录,其中 margin:30px; 首先y2j复制3行而后G到最初一行小写p把新内容粘贴在前面l向右挪动到b字符cw,剪切blog并把模式切换到插入模式输出newsescj,向下1行f4,光标跳转到4r3,光标所在字符批改为3还是方才的操作u撤销回来在margin行的任意地位最初一步变成 10ctrl+x试一下成果查看帮忙 ctrl+a都在Normal失常模式下做的如果是在插入模式下做什么成果呢反复插入先来搜寻一下:h i_CTRL-a 咱们来试试来试试关上oeasy.java i进入插入模式插入 oeasy ctrl+c完结插入模式这个时候寄存器".中的内容为 oeasy 失常模式下把光标挪动到上面地位再进入插入模式 而后ctrl+a就能够把".寄存器的内容插上去了相当于插入模式下ctrl+r .也相当于失常模式下".p就是把.寄存器外面的货色粘贴上来一次命令插入模式下有一种 一次命令模式快捷键是 ctrl+o:h i_ctrl-o 插入模式下,执行一次命令而后回到插入模式比方光标在如下地位,模式为插入 原来的办法是 ctrl+c先退回到失常模式d2w能够把两个单词删除i并进入插入模式不止一种思路灵便多变试试一次命令模式ctrl+o 执行一次失常模式命令d2w执行之后还是放弃在插入模式 如果想删到oeasy之前的地位就能够 ctrl+od/oeasy 回车而后会主动回到插入模式兴许你可试试如何能力让按键更少就像用更少的杆数让高尔夫球进洞一样 http://www.vimgolf.com/总结这次咱们次要就是综合使用很好玩的,更疾速的解决问题进行计算 ctrl+a,将具体的数字加1 ctrl+x,将具体的数字减15ctrl+a,将具体的数字加5一次命令模式 ctrl+o插入模式下执行一次命令,而后回到插入模式下次咱们进入新的畛域 命令行编辑~下次再说 [Github地址] (https://github.com/overmind19...)[Gitee地址] (https://gitee.com/overmind198...)[蓝桥实验楼] (https://www.lanqiao.cn/course...)

September 17, 2021 · 1 min · jiezi

VSCode-帮助贫困的乌干达儿童

最近把开发环境从 WebStorm 迁移到了世界上最好的编辑器 VSCode,因为需要经常开启多个项目,CPU 和内存都爆了只能弃坑。使用过一段时间 vsc 发现里面自带插件库有个叫做 vscodevim 的插件特别有意思。它使用了一些诡异的键位和模式,和普通编辑体验差别很大,但是一看评价这么高,下载量这么大,我一度怀疑自己。看来大家都很认可这个插件,坚持使用了一段时间,发现这些诡异的键位用起来是真的特别爽,颠覆了我对文本编辑体验的认知。接下来我要开始安利了! 模式要学会使用 vim 首先要弄清楚它和其他编辑器最大的区别之一就是它拥有多个模式,而其他大部分编辑器就只有编辑模式,直接就能插入修改删除,作为一篇安利入门性质文章,我们需要知道 vim 中最重要的四种模式。 normal<esc>:可以简单的理解为浏览模式,默认就是 normal,在这种状态下你可以移动光标,跳转翻页,也可以做一些其他如删除等操作,在插入模式下按 esc 回到 normal 模式。insert<i>:就是常用编辑器的编辑态,符合我们常规的使用方式,在 normal 下按 i 键进入插入模式。command<:>: 在 normal 模式下按冒号进入命令模式,比如 :wq 退出 vim。visual<v>:和 normal 类似但是命令会高亮选中区域,类似普通编辑器选中了一段文本。vim 不止这四种模式,但是这几种是比较常用到的,更多模式可以看 vim 文档。 Text Objectvim 对文本进行了抽象,句子由单词组成,段落由句子组成,文章由段落组成,如一个单词就是一个 text-object,它配合 operator 可以进行一些非常高效的操作。常见文本对象的类型: iw - inner wordaw - a wordis - inner sentenceas - a sentenceip - inner paragraphap - a paragraph如果结合下面要提到的 operator 就可以组合成一个指令如:daw(delete a word) 即可删除当前光标下的单词。 Motionvim 中使用一些 motion 可以快速的来移动光标,如: ...

September 8, 2019 · 2 min · jiezi

vim-键位图解cheetsheet

vi/vim graphical cheat sheet为什么学vi/vim学习vi或vim并不容易。 但它也不一定非常困难。 无论如何,它比使用任何其他编辑器进行编辑更快,更强大,更高效,因此您可以非常好地投入时间和精力来学习它。 作为一个vi爱好者,我想出了为那些学习vi或vim提供图形备忘单的想法,我也发现这是一个非常好的方法来构建一个教程。 以下是您的学习乐趣(或您的同事)的结果。 顺便说一句,我最近发表了一篇权威文章,解释了为什么vi / vim编辑比常规编辑好得多。 如果你想自己阅读它,或者你想让你的持怀疑态度的朋友指出它有意义的原因,除了是一个有趣的读物之外,它应该证明是有用的.Why, oh WHY, do those #?@! nutheads use vi? basic editing basic operators & repetition yank/ paste search marks & macro various motions various commands

April 30, 2019 · 1 min · jiezi

VI的16进制编辑模式

vi用了好些年,我竟然不知道vi自带16进制编辑模式。去年有一回,为了排查配置文件里的不可见字符,费了好大力气才找了个趁手的十六进制编辑器。如果当时知道,就不会枉费两小时。vi -b somefile:%!xxd:%!xxd -r

December 30, 2018 · 1 min · jiezi

vi简史

历史的道路不是涅瓦大街上的人行道,它完全是在田野中前进的,有时穿过尘埃,有时穿过泥泞,有时横渡沼泽,有时行经丛林。—- 车尔尼雪夫斯基当我们每天打开电脑,使用vi的时候,一切显得是那么顺理成章,觉得vi这个编辑器从古老的Unix走来,似乎理所应当地成为我们系统中的默认编辑器,却不知道它曾经经历了怎样的曲折甚至是九死一生。我们用它,我们恨它,最终我们又离不了它,这就是vi。混沌初开1964年,一个21岁的年轻人Butler Lampson从哈佛大学文学院毕业,来到加州大学伯克利分校读博,在这里,他遇到了另一个天才少年,18岁的Peter Deutsch在这里读本科,他们的任务是共同为一台SDS-940电脑编写一个分时操作系统:在当时,绝大部分计算机使用的都是批处理方式运行指令,一个用户的使用是独占式的,在他的程序运行期间不会被别的程序打断。而Butler Lampson他们编写的操作系统是第一款通用型的分时操作系统。因此他们需要编写一个内核和一个命令行界面,需要可以能够编辑文本,所以他们开发了一个小程序叫做QED,它的名称的来源是Quick Editor(快速编辑器)。除此之外,Butler Lampson的贡献还包括后来在施乐公司期间领导开发了Alto,这个操作系统就是日后激发乔布斯灵感并从施乐偷师学艺的那一款操作系统。并且Butler本人在1992年获得了计算机学界最高奖图灵奖。这时候,加州大学伯克利分校的另一个天才少年Ken Thompson(这个名字日后将如雷贯耳,因为是他发明了Unix),刚刚获得了电子工程学士学位,一年后,获得了计算机科学硕士学位,并拿到了贝尔实验室的Offer。在贝尔实验室,Ken的工作之一是把他母校的QED移植到另一个比较大型的分时操作系统CTSS上,只不过这个CTSS是另一个学校的产物——麻省理工学院。在移植的过程中,Ken加入了他当时正在研究的,也是他最喜欢的Regular Expression(正则表达式)。在此过程中,Ken对QED变得非常熟悉。Ken最终在1969年发明了Unix,而Unix系统中一个重要组件是ed,这个ed的很多功能直接来源于Ken的母校加州大学伯克利分校的QED。由ed而又衍生出来了一系列著名的Unix命令,例如grep和sed。grep这个名词的来源其实是g/re/p,第一个字母g代表global(全局检索),re代表regular express(正则表达式),而p表示print(显示)。sed里面则加入了很多ed里没有实现的script(脚本)功能。至此,ed已经成为Unix操作系统的标配。我们来看一下一个标准的ed的编辑界面(下文标黑的粗体字是屏幕显示的内容,其余是用户输入的命令):aed is the standard Unix text editor.This is line number two..2i.,led is the standard Unix text editor.$$This is line number two.$3s/two/three/,led is the standard Unix text editor.$$This is line number three.$w text65q是不是已经看到了一些vi的影子了呢?只是这时的ed还只是一个行编辑器,远远不是后来vi的样子。脱胎换骨在Ken发明Unix的6年之后,1975年,他回到母校伯克利分校,这一次,他的使命是在伯克利分校的电脑系统上安装他自己发明的Unix,而这一套Unix日后将成为Unix界极富盛名的BSD(Berkeley Software Distribution,伯克利软件套装)。也就是这一年的夏天,Ken在伯克利分校遇到了我们故事的主人公Bill Joy,那一年,Bill是21岁,正在伯克利分校读研。Bill后来回忆说:Ken Thompson来到伯克利并且带来了一台坏掉的Pascal系统,而我们准备在那个暑期修好它。当我们对它进行修理时,发现我们正在使用的名为ed的编辑器完全无法使用了。由于Unix系统的广为流行,远在伦敦玛丽王后大学担任讲师的George Coulouris也不得不使用ed,但他得出的结论是:ed的难用程度达到了神级,根本就不是给人用的。所以他开始着手改进ed,并把改进之后的软件版本起名为em(editor for mortal给人类使用的编辑器)。1976年夏天,George访问伯克利分校,他带着一卷磁带,里面包含了他的em代码,并演示给别人看。其他人对此不感兴趣,而Bill Joy对此很受启发,他要来了em的源码,并在此基础上不断做改进,起名为en,然后又在en的基础上不断改进,一直改进到了ex(中间是否还有eo, ep, eq, …已经不得而知)。1977年10月,Bill Joy在ex的基础上,增加了全屏幕显示的功能,并将此功能命名为ex的可视化模式(visual mode),别名——vi。因为Bill Joy在开发vi的时候用的是一台ADM-3A电脑:而这台电脑的键盘排布方式是这样的:这个键盘上并没有上下左右方向键,而上下左右键是印在了HJKL这四个字母上,通过按下Ctrl+HJKL来实现上下左右移动,所以vi里的上下左右是通过HJKL来实现的,和游戏玩家里热爱的WASD是如此不同,以至于很多人认为这是一种反人类的设计。但你们要知道,WASD是很多很多年之后才被大多数人接受的设置。在当时的各款主流电脑上,方向键要么没有,要么也是一字排开。例如苹果的Apple II系统:同时还应该注意到,ADM-3A电脑键盘上Esc键的位置有多么特殊,就在Q键的左侧,正好是我们目前Tab键的位置,简直是触手可及,所以vi用它来做模式切换键是非常自然,而不像现在的Esc键离我们的手那么远,要把小指伸出去很远才能够得到。还有一个细节是在ADM-3A键盘上,除了上下左右四个键外,还有一个Home键,它也可以通过按下Ctrl来实现回到行头的效果,而更关键的是这个键同时也是键,这也就是为什么Unix系统里会用来代表home目录的原因。黯淡时光vi的第一个正式版本是在1978年3月随着BSD 1.0同时发布的,这注定了它以后将走过一段不平凡的岁月。Bill Joy继续对vi进行升级,中间经过无数次叠代,在1979年6月发表了vi的2.7版本后,退出主要开发者行列,但仍持续贡献到1980年8月的3.5版本,从那以后彻底淡出。在谈到他为什么要退出vi开发者行列时,他说:我希望我们没有用尽键盘上的每一个键。我觉得vi一个最有趣的特点是它是一款基于模式的编辑器。作为一款基于模式的编辑器,vi做的非常棒。EMACS的优点之一是它是一款无模式的编辑器。但我从来没有想过要把vi做成EMACS那样。我也不擅长于优化vi的代码。我觉得编辑器的重绘功能非常棘手。vi完成它目前的工作非常不错,但你总是在学习的过程中编写程序……所以我不再继续这样做了。实际上,我当时正在试图给vi加上多窗口编辑的功能,那是1978年的12月。我的磁带机坏了,而我没有任何备份。我的代码都丢失了,而我连文件目录都没有。我必须重写关于多窗口编辑功能的所有代码,我放弃了。我退回到上一版本,给代码增加了一些说明文档,完成了用户手册,然后就退出了。如果不是那一次事故的话,也许vi就会有多窗口编辑功能了,但,谁知道呢?vi的最根本问题是它没有鼠标,所以才有了各式各样的命令。但你不能用现在的眼光去看当时的软件。我觉得如果能加上多级回退这个功能也很不错。但无论如何,vi的内核实际上还是ed,你不可能脱离这个事实。这就有点像用一层层纸包裹起来的糖果,它没有一个统一的概念。我觉得如果可以回到过去,我不会回去重新再来一遍。1982年2月24日,3个斯坦福大学毕业的学生Vinod Khosla,Andy Bechtolsheim和Scott McNealy创办了Sun公司,他们挖来了伯克利分校毕业的Bill Joy,从而导致伯克利分校Unix BSD的vi被锁死在3.7版本上。其他各家商业公司,包括IBM,Sun,HP,DEC都能在Bill Joy开发的vi的代码基础之上做改进,但其他人却不可以了。因为AT&T开始了那场臭名昭著的官司,控告BSD侵犯了他们的知识产权,而vi是基于BSD里面的ed做开发的,也属于被禁止使用之列。关于这场官司,详细情况可以看阮一峰的文章《Unix版权史》。阮一峰在文章中评论道:AT&T与BSD之间的诉讼,是当代版权制度最恶劣的应用之一。为什么这么说?首先,起诉者其实与Unix毫无关系。这是AT&T经理层的决定,而不是开发者的决定。事实上,包括Ken Thompson在内的技术人员一直希望,公司能够公开源码。他们完全有理由这么要求,因为Unix从来不是AT&T的业务重点,最初是个人项目,后来也没有占用公司太多资源。销售Unix的利润,在公司全部业务中,几乎可以忽略不计。为了一点点钱,去打击一个使许多人受益的产品,何必这样做呢。其次,AT&T根本不关心Unix的发展。它真正关心的是金钱和削弱对手。1994年,官司还没有结束,它就把Unix卖给了Novell公司,从此不再与Unix发生关系,官司也因此不了了之。既然你不想要这个产品,为什么要提起诉讼呢?真是不可理解。最后,所谓的侵权几乎是不存在的。因为Novell从AT&T买下Unix版权后,检查了BSD的源码,在18000个组成文件中删除了3个,并对其他文件做了一些小修改,然后BSD就重新获得了自由发布源码的许可。这意味着,至多只有千分之一的BSD代码有版权问题,但是就因为这千分之一的问题,导致百分之百的产品被迫中断,完全不符合比例原则。所以,这场版权官司就是一家利益至上的公司,以微不足道的理由,为了一个自己根本不在乎的产品,悍然发动一场损人不利己的战争。BSD在法律纠纷中艰难前行,并分裂出了3个版本分支:FreeBSD, NetBSD和OpenBSD。而在此之前,乔布斯黯然离开苹果,开始自己的第二次创业的时候,开发的NexT操作系统,也是从BSD上拉的分支,最后还吸取了很多FreeBSD的成果,最后成就了今天的Mac OSX,以及你手机里使用的iOS。凤凰涅磐在这场旷日持久的官司当中,vi不能用了,但是vi的热爱者并不愿意切换到emacs上,直到1990年,Steve Kirkendall才发布了一个vi的克隆版,起名叫Elvis。1992年,Elvis被纳入BSD,1994年,Keith Bostic在Elvis基础上开发了nvi,一直沿用至今。花开两朵,各表一枝。1991年,芬兰大学生Linus Torvalds,他想学习Unix,但是买不起工作站,就自己写了一个能在386上运行的操作系统内核,并以自己的名字命名为:Linux。Linus Torvalds后来说:如果我早知道BSD没有法律问题,并且可以被移植到386,我会加入BSD的开发,而不会自己动手写一个。Linus写的Linux并不是一个完整的操作系统,它只是一个内核,在内核之外,还应该有像vi这样的编辑器。于是在2000年6月,Gunnar Ritter基于Bill Joy的vi源代码,把vi发布到了Linux操作系统和FreeBSD操作系统上(这时候的BSD由于法律诉讼的原因已经被拆分成了FreeBSD, NetBSD和OpenBSD三个分支)。一开始,这又是一个违法的举动,因为Ritter根本就没有获得AT&T的授权,但是随着2002年1月,对相关授权限制的逐渐解除,这个版本才正式成为一个合法的版本,也就是我们今天使用的Linux上的vi。然而,令人唏嘘的是,虽然现在vi已经可以用在BSD的直系后裔FreeBSD上了,但是FreeBSD已经有了自己的替代品nvi,不愿再使用vi。反倒是那些一开始没有vi的Unix版本,例如HP-UX,AIX等等,可以继续堂而皇之地使用vi。虽然如此,但是由于Linux的普及,以及Mac OSX这个BSD的变种的流行,vi依然成为了各大操作系统中事实上的标配。vi这个编辑器的王者称号当之无愧,并将随着开源软件的发展一直永远流传。最后,让我们记住vi的作者Bill Joy。是他,给我们带来了vi。 ...

October 7, 2018 · 1 min · jiezi