写点什么

linux 入门系列 4--vi/vim 编辑器

用户头像
黑马腾云
关注
发布于: 2020 年 08 月 17 日
linux入门系列4--vi/vim编辑器



上一篇文章“linux入门系列3--linux远程登陆工具”讲解了如何使用常用的工具远程连接和管理linux服务器,要管理服务器必然会涉及到脚本文件的创建、编辑工作,因此在介绍命令之前,本文讨论linux中编辑器相关知识。



一、Vi/Vim介绍



  • VI(Visual Interface),是一个文本编辑器,主要在Unix及类Unix环境中使用。

  • Vim(Vi improved)在Vi的基础之上进行了功能提升,相当于Vi的增强版。



所有类Unix 系统都会内建vi文本编辑器,就像window电脑上的记事本一样,可以对文本内容进行编辑,vi编辑器是Unix系统最初的编辑器, 允许查看文件中的行、在文件中移动、插入、编辑和替换文本 。



然而由于Unix系统是商业操作系统,国外一牛逼的程序员“ 理查德·斯托曼”发起了GNU计划(该计划目标是创建一套完全自由的操作系统,实现Unix系统的标准接口,因此完全向上兼容Unix,但是可以自由使用),在GNU项目中,程序员将vi编辑器移植到开源世界的同时对其做了改进,因此重命名为“Vi improved”,也就是我们说的vim。



ps: GNU 项目,英文全称为“GNU is Not Unix”,简单的说,就是一个开发类 Unix 操作系统的项目,GNU 操作系统是由 GNU 软件包及其第三方的免费软件包组成,所以其最大的特点就是免费。



因此vim是从vi发展而来的一个具有编程能力的文本编辑器, 可以主动的以字体颜色辨别语法的正确性,方便程序设计。 vim具有代码补全、编译及错误跳转等方便编程的功能,在程序员中被广泛使用。



有的linux发行版可能没有安装vim(需要时自行安装即可),但是一定会有vi编辑器。作为入门文章*本文仅演示二者共同的用法,编辑器有三种模式:一般模式、编辑模式、命令模式*。每种模式可以进行不同的操作,完成不同的功能。



三种模式之间可以相互转换。*一般模式主要用于:复制、粘贴、删除;编辑模式主要用于编辑文本;命令模式主要执行文本的保存、查找等。*





二、一般模式



我们平时在windos系统上编辑文件,肯定会涉及到复制、粘贴、删除等操作,而这些操作在vi中都是在一般模式下进行的。



一般模式是默认模式,要进入编辑模式和命令模式都需要它作为桥梁。



用vi命令打开一个文件直接进入一般模式,在这个模式中可以对文本内容进行复制、粘贴、删除等操作。可以通过键盘方向键控制光标移动到指定位置,也可以通过快捷键控制光标位置。



1.1 复制





1.2 粘贴





1.3 删除





1.4 撤销





1.5 定位



上边的复制、粘贴、删除,到目前我们都是通过方向键来控制鼠标的位置,但是这样效率太低,通过下边的定位命令可以快速进行定位。在一般模式下定位光标,进入编辑模式进行编辑,这样可以大大提高效率。





三、编辑模式



在一般模式下,通过如下i、a、o、r命令进入编辑模式,对文档内容进行编辑。命令的区别在于进入编辑模式后光标插入点不同。





四、命令模式



在一般模式下,可以通过以下三个命令:“:”、“/”、“?”进入底行命令模式完成文件保存、内容查找及字符替换功能。执行完命令可以通过ESC返回一般模式。



3.1 文件保存



  • 语法格式



*:[选项] 回车*



​ 选项分为w、q、!可以相互组合使用。



​ w:保存



​ q:退出



​ !:强制执行



  • 案例



:w 保存



:w filename 文件另存为filename



:wq 保存并退出



:wq! 强制保存并退出



:wq! filename 文件另存为filename并退出编辑器



3.2 查找内容



查找命令主要有2个:/或?二者功能一致,只记住一个即可



  • 语法格式



​ */要查找的词 回车*



​ *?要查找的词 回车*



如果用第一个语法/进行查询,则按n键向下查找下一个,shift n向上查找下一个

>

第二个语法则相反,n向上查找上一个,shift n向下查找下一个



  • 案例



/heimatengyun 在当前文档中查找heimatengyun字符串



等价于



?heimatengyun



3.3 替换内容



可以通过如下命令替换当前文档里的内容



  • 语法格式



​ *:[范围]s/要被替换的内容/新内容/[c,e,g,i] 回车*



> 范围:1,5表示从第一行到第五行。1,$表示从第一行到最后一行,等价于%。%表示当前编辑的文章。

>

> 可组合选项:c表示confirm,每次替换前询问;e表示不显示error;g表示globe不询问整行替换;i表示ignore不区分大小写;I表示大小写敏感



  • 案例



​ 1,3s/you/YOU 在当前文档的1至3行搜索you并替换为YOU。*注意不是单词替换,只要匹配就会替换,比如如果第二行存在your这个单词,则会被替换为YOUr*



​ 1,3s/you/YOU/c 替换前会询问是否要替换



​ s/e/E/g 替换当前行所有e为E。假设当前光标所在行内容为where are you from替换后变为hErE arE you from



3.4 显示行号



​ :set nu 显示行号



​ :set nonu 关闭行号



以上为vi编辑器基本的使用命令,多敲几次自然就记住了。至此我们已经学会使用vi编辑器,可以创建和管理各种文件了。下一篇文章将讲解linux常用的命令,学会命令后就可以制作各种脚本完成各种工作任务了。





自学帮



发布于: 2020 年 08 月 17 日阅读数: 59
用户头像

黑马腾云

关注

程序猿,持续创业者。 2020.06.22 加入

“自学帮”公众号主。

评论

发布
暂无评论
linux入门系列4--vi/vim编辑器